Commit Graph

701 Commits

Author SHA1 Message Date
cd8eb358e9 libs/vkd3d-shader: Refactor immediate constants handling. 2017-06-26 17:03:31 +02:00
be9849ace4 libs/vkd3d: Avoid race condition when destroying fences. 2017-06-26 17:03:31 +02:00
ae8d869013 libs/vkd3d: Use VK_NULL_HANDLE instead of NULL.
Fixes a compiler warning for 32-bit builds.
2017-06-26 17:03:31 +02:00
2c4a4bd816 tests: Add initial visual test for shader instructions. 2017-06-23 22:24:33 +02:00
becd93c8bd libs/vkd3d-shader: Emit Offset decoration for uniform buffer struct members.
The SPIR-V spec says:

  "Composite objects in the UniformConstant, Uniform, and PushConstant Storage
  Classes must be explicitly laid out."

Intel Anvil driver uses uninitialized memory for offsets when Offset
decorations are missing.
2017-06-23 22:24:33 +02:00
55aa937df7 tests: Make test context more flexible. 2017-06-23 22:24:33 +02:00
a646e7ed34 tests: Prefer green color for tests success. 2017-06-23 22:24:33 +02:00
9a59184e9f libs/vkd3d: Reset current root signature in d3d12_command_list_Reset(). 2017-06-23 22:24:33 +02:00
532da7d4e1 libs/vkd3d: Clear current descriptor set when descriptor pool is destroyed. 2017-06-23 22:24:33 +02:00
fa52702774 libs/vkd3d: Always update current root signature in d3d12_command_list_SetGraphicsRootSignature(). 2017-06-23 22:24:33 +02:00
c0b5cf3df6 libs/vkd3d: Avoid updating descriptor sets bound to recording command buffer.
Fixes GPU memory page faults in gears demo on Nvidia.

The Vulkan spec says:

  "The descriptor set contents bound by a call to
  vkCmdBindDescriptorSets may be consumed during host execution of the
  command, or during shader execution of the resulting draws, or any
  time in between. Thus, the contents must not be altered (overwritten
  by an update command, or freed) between when the command is recorded
  and when the command completes executing on the queue."
2017-06-23 22:24:33 +02:00
fe61e0ba22 tests: Add test for fractional viewports. 2017-06-22 13:36:18 +02:00
99d82668a0 libs/vkd3d-shader: Avoid generating 2 OpVectorShuffles per mov instruction. 2017-06-22 13:36:18 +02:00
05842705b4 libs/vkd3d-shader: Enforce required component count for builtin shader inputs. 2017-06-22 13:36:18 +02:00
4e5fcb5141 libs/vkd3d: Use negative viewport height to flip along y-axis.
Requires VK_KHR_maintenance1.
2017-06-21 22:00:19 +02:00
d515e3d047 libs/vkd3d: Require VK_KHR_maintenance1 device extension. 2017-06-21 22:00:19 +02:00
b288c9e672 tests: Add test for fragment coordinates. 2017-06-21 22:00:19 +02:00
4ced2e7789 libs/vkd3d-shader: Translate "neg" source modifier. 2017-06-21 22:00:19 +02:00
f5e3b248df libs/vkd3d-shader: Fix SV_Position in pixel shaders. 2017-06-21 22:00:19 +02:00
9880d78058 libs/vkd3d-shader: Translate dcl_input_ps_siv instruction. 2017-06-21 22:00:19 +02:00
d35c02be8c tests: Remove vertex shader SPIR-V code from init_draw_test_context_(). 2017-06-21 12:22:20 +02:00
9948abda96 libs/vkd3d: Flip SV_Position.y in last vertex processing shader stage.
The handwritten GLSL shaders do this.
2017-06-21 12:22:20 +02:00
67a8200933 libs/vkd3d-shader: Implement VKD3D_SHADER_FLIP_Y option. 2017-06-21 12:22:20 +02:00
989a80fef7 libs/vkd3d-shader: Fix TRACE() message in vkd3d_spirv_dump(). 2017-06-21 12:22:20 +02:00
252a2ea353 libs/vkd3d-common: Fix assert() condition. 2017-06-21 12:22:19 +02:00