Difference between revisions of "Vkd3d"

From WineHQ Wiki
Jump to: navigation, search
(Building Wine with Direct3D 12 support)
(Debugging)
Line 32: Line 32:
  
 
= Debugging =
 
= Debugging =
 +
 +
== Debug output ==
  
 
Vkd3d provides '''VKD3D_DEBUG''' and '''VKD3D_SHADER_DEBUG''' environment variables to control debug log messages. The debug variables can be set to one of the following debug log levels: '''none''', '''err''', '''fixme''', '''warn''', '''trace'''.
 
Vkd3d provides '''VKD3D_DEBUG''' and '''VKD3D_SHADER_DEBUG''' environment variables to control debug log messages. The debug variables can be set to one of the following debug log levels: '''none''', '''err''', '''fixme''', '''warn''', '''trace'''.
  
 
See the [https://source.winehq.org/git/vkd3d.git/blob_plain/HEAD:/README README file] for description of all debug environment variables.
 
See the [https://source.winehq.org/git/vkd3d.git/blob_plain/HEAD:/README README file] for description of all debug environment variables.
 +
 +
== Vulkan validation layers ==
 +
 +
Enable validation layers in a standard way:
 +
 +
export VK_INSTANCE_LAYERS=VK_LAYER_LUNARG_standard_validation
 +
 +
You may also want to enable Vulkan debug extensions in vkd3d:
 +
 +
VKD3D_CONFIG=vk_debug
  
 
= See also =
 
= See also =

Revision as of 08:49, 25 June 2019

Vkd3d is a 3D graphics library built on top of Vulkan. It has an API very similar, but not identical, to Direct3D 12. Wine uses vkd3d libraries for its implementation of Direct3D 12.

Building

Getting the vkd3d source

You can download the Vkd3d source code as a tarball, but if you plan to do any actual testing or developing, you'll want to use git.

To grab the source code, just enter the following command:

git clone git://source.winehq.org/git/vkd3d.git/

Compiling

Enter the following commands:

./autogen.sh
./configure
make

See also the README file.

In order to build 32-bit libraries:

../vkd3d/configure --build=i686-pc-linux-gnu "CPPFLAGS=-m32" "LDFLAGS=-m32"

Building Wine with Direct3D 12 support

Wine uses pkg-config to find vkd3d libraries. If vkd3d libraries are installed system-wide, the Wine configure script should find the vkd3d libraries. You can also use PKG_CONFIG_PATH, VKD3D_CFLAGS or VKD3D_LIBS to override pkg-config search path, C compiler flags for libvkd3d, or linker flags for libvkd3d, e.g.

../wine-git/configure PKG_CONFIG_PATH=$HOME/src/vulkan/install/lib/pkgconfig

Debugging

Debug output

Vkd3d provides VKD3D_DEBUG and VKD3D_SHADER_DEBUG environment variables to control debug log messages. The debug variables can be set to one of the following debug log levels: none, err, fixme, warn, trace.

See the README file for description of all debug environment variables.

Vulkan validation layers

Enable validation layers in a standard way:

export VK_INSTANCE_LAYERS=VK_LAYER_LUNARG_standard_validation

You may also want to enable Vulkan debug extensions in vkd3d:

VKD3D_CONFIG=vk_debug

See also