Józef Kucia
2c4a4bd816
tests: Add initial visual test for shader instructions.
2017-06-23 22:24:33 +02:00
Józef Kucia
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
Józef Kucia
55aa937df7
tests: Make test context more flexible.
2017-06-23 22:24:33 +02:00
Józef Kucia
a646e7ed34
tests: Prefer green color for tests success.
2017-06-23 22:24:33 +02:00
Józef Kucia
9a59184e9f
libs/vkd3d: Reset current root signature in d3d12_command_list_Reset().
2017-06-23 22:24:33 +02:00
Józef Kucia
532da7d4e1
libs/vkd3d: Clear current descriptor set when descriptor pool is destroyed.
2017-06-23 22:24:33 +02:00
Józef Kucia
fa52702774
libs/vkd3d: Always update current root signature in d3d12_command_list_SetGraphicsRootSignature().
2017-06-23 22:24:33 +02:00
Józef Kucia
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
Józef Kucia
fe61e0ba22
tests: Add test for fractional viewports.
2017-06-22 13:36:18 +02:00
Józef Kucia
99d82668a0
libs/vkd3d-shader: Avoid generating 2 OpVectorShuffles per mov instruction.
2017-06-22 13:36:18 +02:00
Józef Kucia
05842705b4
libs/vkd3d-shader: Enforce required component count for builtin shader inputs.
2017-06-22 13:36:18 +02:00
Józef Kucia
4e5fcb5141
libs/vkd3d: Use negative viewport height to flip along y-axis.
...
Requires VK_KHR_maintenance1.
2017-06-21 22:00:19 +02:00
Józef Kucia
d515e3d047
libs/vkd3d: Require VK_KHR_maintenance1 device extension.
2017-06-21 22:00:19 +02:00
Józef Kucia
b288c9e672
tests: Add test for fragment coordinates.
2017-06-21 22:00:19 +02:00
Józef Kucia
4ced2e7789
libs/vkd3d-shader: Translate "neg" source modifier.
2017-06-21 22:00:19 +02:00
Józef Kucia
f5e3b248df
libs/vkd3d-shader: Fix SV_Position in pixel shaders.
2017-06-21 22:00:19 +02:00
Józef Kucia
9880d78058
libs/vkd3d-shader: Translate dcl_input_ps_siv instruction.
2017-06-21 22:00:19 +02:00
Józef Kucia
d35c02be8c
tests: Remove vertex shader SPIR-V code from init_draw_test_context_().
2017-06-21 12:22:20 +02:00
Józef Kucia
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
Józef Kucia
67a8200933
libs/vkd3d-shader: Implement VKD3D_SHADER_FLIP_Y option.
2017-06-21 12:22:20 +02:00
Józef Kucia
989a80fef7
libs/vkd3d-shader: Fix TRACE() message in vkd3d_spirv_dump().
2017-06-21 12:22:20 +02:00
Józef Kucia
252a2ea353
libs/vkd3d-common: Fix assert() condition.
2017-06-21 12:22:19 +02:00
Józef Kucia
f7e738c27a
libs/vkd3d-common: Terminate string with '\0' unconditionally in vkd3d_debug_sprintf().
2017-06-21 12:22:19 +02:00
Józef Kucia
feb5e8259c
libs/vkd3d-shader: Translate dcl_constantbuffer instruction.
2017-06-20 17:09:39 +02:00
Józef Kucia
8b2b2c1b6b
libs/vkd3d-shader: Translate bfi instruction.
2017-06-20 17:09:39 +02:00
Józef Kucia
95b11ba336
libs/vkd3d-shader: Translate dcl_input instructions.
2017-06-20 17:09:39 +02:00
Józef Kucia
88e20980a8
libs/vkd3d-shader: Translate dot product instructions.
2017-06-20 17:09:39 +02:00
Józef Kucia
ddcc403f73
libs/vkd3d-shader: Add missing vkd3d_free() call.
...
Fixes commit 0761568225
.
2017-06-20 14:59:25 +02:00
Józef Kucia
c9a98c7a13
libs/vkd3d-shader: Add support for GLSL.std.450 extended instruction set.
2017-06-20 14:59:25 +02:00
Józef Kucia
801b4159de
libs/vkd3d-shader: Translate some ALU instructions.
2017-06-20 14:14:44 +02:00
Józef Kucia
2c06f47432
tests: Remove fragment shader SPIR-V code from init_draw_test_context_().
2017-06-20 13:34:44 +02:00
Józef Kucia
2b1396e7e4
libs/vkd3d-shader: Translate mov instruction.
2017-06-20 13:34:44 +02:00
Józef Kucia
18e952aaf4
libs/vkd3d-shader: Translate dcl_output_siv instruction.
2017-06-20 13:34:44 +02:00
Józef Kucia
0761568225
libs/vkd3d-shader: Translate dcl_output instruction.
2017-06-20 13:34:44 +02:00
Józef Kucia
d073652db9
libs/vkd3d-shader: Translate dcl_temps instruction.
...
"symbol_table" is possibly not the most fitting name.
2017-06-20 13:34:44 +02:00
Józef Kucia
8b416514c1
tests: Remove SPIR-V shader code from test_create_pipeline_state().
2017-06-19 19:49:11 +02:00
Józef Kucia
c270d9a859
libs/vkd3d: Accept DXBC shaders.
2017-06-19 19:49:11 +02:00
Józef Kucia
d32134da48
libs/vkd3d-shader: Implement SM5 dcl_thread_group instruction.
2017-06-19 19:49:11 +02:00
Józef Kucia
1a5c6eaca1
build: Add LICENSE file to distribution.
2017-06-19 18:33:39 +02:00
Józef Kucia
c151662ded
Update copyright info.
2017-06-19 18:24:39 +02:00
Józef Kucia
6f6d5c7850
libs/vkd3d: Use depth aspect mask for DXGI_FORMAT_D16_UNORM.
2017-06-19 18:19:19 +02:00
Józef Kucia
786a31ca4e
libs/vkd3d-shader: Use libSPIRV-Tools for tracing and validating generated SPIR-V shaders.
...
SPIRV-Tools are an optional dependency.
We link with stdc++ because libSPIRV-Tools is a static library written
in C++.
2017-06-19 18:05:53 +02:00
Józef Kucia
dd31e5e918
libs/vkd3d-shader: Generate SPIR-V modules.
2017-06-19 18:05:53 +02:00
Józef Kucia
eff8428c71
libs/vkd3d-common: Move vkd3d_array_reserve() from libvkd3d.
2017-06-19 18:05:53 +02:00
Józef Kucia
465fe54a9b
libs/vkd3d-shader: Implement vkd3d_shader_compile_dxbc().
2017-06-19 18:05:53 +02:00
Józef Kucia
1f65d4ccc1
libs/vkd3d-shader: Add stub for SPIR-V generator.
2017-06-19 18:05:53 +02:00
Józef Kucia
97c7bc0a18
libs/vkd3d-common: Provide access to current debug level.
2017-06-19 18:05:53 +02:00
Henri Verbeet
5808c280f7
libs/vkd3d: Add DXGI_FORMAT_D16_UNORM.
2017-06-19 14:44:48 +02:00
Henri Verbeet
fc67a3b7fa
libs/vkd3d: Add DXGI_FORMAT_R8G8B8A8_UNORM_SRGB.
2017-06-19 14:44:41 +02:00
Henri Verbeet
d029dc995c
libs/vkd3d: Add DXGI_FORMAT_R8_UINT.
2017-06-19 14:44:33 +02:00