Signed-off-by: Andrew Eikum aeikum@codeweavers.com --- README | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+)
diff --git a/README b/README index f353c36..0abaa08 100644 --- a/README +++ b/README @@ -4,3 +4,31 @@ The vkd3d 3D Graphics Library
Vkd3d is a 3D graphics library built on top of Vulkan. It has an API very similar, but not identical, to Direct3D 12. + +============== +Building vkd3d +============== + +Vkd3d depends on SPIRV-Headers and Vulkan-Headers (>= 1.1.88). + +Vkd3d builds some of its headers from IDL files. If you are using the release +tarballs, then these headers are pre-built and are included. If you are +building from git, then they will be built at build-time using widl. By +default, vkd3d will use the widl found in PATH. If widl is not available or +is not recent (>= 3.0 or so), then you can build Wine with "make tools/widl" +to avoid building all of Wine. You can then point vkd3d's configure at that +widl binary with WIDL=/path/to/widl. + +=========== +Using vkd3d +=========== + +Vkd3d can be used by projects that target D3D12 as a drop-in replacement at +build-time with some modest source modifications. Or it can be used by Wine to +run Windows applications that target D3D12. + +To build Wine with vkd3d for D3D12 support, first build and install vkd3d (see +above for widl requirement) and then build Wine. Wine's configure should pick +up on vkd3d if it is installed to the system, or you can use PKG_CONFIG_PATH +to point Wine's configure script at vkd3d's pc-files located in a non-standard +installation.
In the first place, thanks for this.
On Fri, 18 Jan 2019 at 23:11, Andrew Eikum aeikum@codeweavers.com wrote:
+=========== +Using vkd3d +===========
+Vkd3d can be used by projects that target D3D12 as a drop-in replacement at +build-time with some modest source modifications. Or it can be used by Wine to +run Windows applications that target D3D12.
I'd prefer consistently using "Direct3D 12".
The Wine bit feels out of place to me. True, Wine is a major user of vkd3d, but vkd3d is also a mostly independent project. This strikes me as something that belongs in the Wine documentation rather than the vkd3d documentation. Still, if enough people feel otherwise, I wouldn't want to block this going in.
On Tue, Jan 22, 2019 at 05:26:08PM +0330, Henri Verbeet wrote:
In the first place, thanks for this.
On Fri, 18 Jan 2019 at 23:11, Andrew Eikum aeikum@codeweavers.com wrote:
+=========== +Using vkd3d +===========
+Vkd3d can be used by projects that target D3D12 as a drop-in replacement at +build-time with some modest source modifications. Or it can be used by Wine to +run Windows applications that target D3D12.
I'd prefer consistently using "Direct3D 12".
Sure.
The Wine bit feels out of place to me. True, Wine is a major user of vkd3d, but vkd3d is also a mostly independent project. This strikes me as something that belongs in the Wine documentation rather than the vkd3d documentation.
Yeah, that's true. I mostly wanted to highlight the awkward circular dependency when building from git. I could see a naive user building all of Wine to get widl, then building vkd3d, and expecting their first Wine build to use vkd3d. I still think it's useful info, but if you disagree, perhaps just explaining the widl build step is enough and we can remove the whole last paragraph. I don't feel strongly.
Andrew