Commit Graph

6420 Commits

Author SHA1 Message Date
Józef Kucia
1a8b74549a libs/vkd3d-shader: Use vkd3d_dxbc_compiler_emit_variable() in vkd3d_dxbc_compiler_emit_dcl_temps(). 2017-07-11 17:23:02 +02:00
Józef Kucia
c8d713dc83 libs/vkd3d-shader: Implement immediate constant buffers. 2017-07-11 17:23:02 +02:00
Józef Kucia
d8d5701409 libs/vkd3d-shader: Use appropriate message severity for invalid SPIR-V shaders. 2017-07-11 17:23:02 +02:00
Józef Kucia
8c5d542950 tests: Introduce create_upload_buffer() helper. 2017-07-11 17:23:02 +02:00
Henri Verbeet
893d2e8444 include: Add D3D12_FEATURE_DATA_FORMAT_SUPPORT. 2017-07-11 13:52:54 +02:00
Henri Verbeet
fdd2b456fb include: Add D3D12_FEATURE_DATA_D3D12_OPTIONS. 2017-07-11 13:51:13 +02:00
Henri Verbeet
728f4e6686 include: Add missing D3D12_FILTER enum elements. 2017-07-11 13:50:59 +02:00
Henri Verbeet
45b0fa3346 include: Add the ID3D12QueryHeap interface. 2017-07-11 13:19:41 +02:00
Henri Verbeet
2ebba52bef include: Provide enum flag operators for D3D12_DSV_FLAGS. 2017-07-11 13:13:59 +02:00
Henri Verbeet
f68c1b13be include: Add texture dimension constants. 2017-07-11 12:24:25 +02:00
Henri Verbeet
c633a87dba include: Add missing DXGI formats. 2017-07-11 12:24:25 +02:00
Henri Verbeet
e732713f10 include: Add D3D12_DISPATCH_ARGUMENTS. 2017-07-11 12:24:25 +02:00
Henri Verbeet
634a5aa19f include: Add D3D12_DRAW_INDEXED_ARGUMENTS. 2017-07-11 12:24:21 +02:00
Henri Verbeet
12831d2125 include: Add D3D12_DRAW_ARGUMENTS. 2017-07-11 12:21:19 +02:00
Henri Verbeet
941eefb1c0 include: Provide enum flag operators for D3D12_CLEAR_FLAGS. 2017-07-11 12:21:19 +02:00
Henri Verbeet
d61b6a3545 include: Add the missing "values" parameter to ID3D12GraphicsCommandList::ClearUnorderedAccessViewFloat(). 2017-07-11 12:21:15 +02:00
Henri Verbeet
99d2ba411e include: Add the missing ClearUnorderedAccessViewUint() method to the ID3D12GraphicsCommandList interface. 2017-07-11 12:21:11 +02:00
Henri Verbeet
21d853ac3b include: Add D3D12_SHADER_COMPONENT_MAPPING. 2017-07-10 16:57:10 +02:00
Henri Verbeet
dec9b864ef include: Provide enum flag operators for D3D12_RESOURCE_STATES. 2017-07-10 16:57:10 +02:00
Henri Verbeet
7a203b0e5f include: Provide enum flag operators for D3D12_RESOURCE_FLAGS. 2017-07-10 16:57:06 +02:00
Henri Verbeet
7bdc8c3b25 include: Introduce dxgiformat.idl. 2017-07-10 16:32:01 +02:00
Henri Verbeet
7e28ef6f16 build: The dist target produces .tar.xz files. 2017-07-10 16:32:01 +02:00
Henri Verbeet
9c027d7b80 build: Add vkd3d-compiler to .gitignore. 2017-07-10 16:32:01 +02:00
Henri Verbeet
0b656c8354 build: Add a pkg-config file for libvkd3d-utils. 2017-07-10 16:32:01 +02:00
Henri Verbeet
2f76b66a43 build: Explicitly link the demos with libvkd3d-shader.
As it turns out, Debian libtool sets link_all_deplibs=no, as opposed to
upstream's link_all_deplibs=unknown. Alternatively, we could override
link_all_deplibs in configure.ac.
2017-07-10 16:32:01 +02:00
Józef Kucia
8d6facabce tests: Add test for shader interstage registers. 2017-07-10 15:33:34 +02:00
Józef Kucia
682e725d6e libs/vkd3d-shader: Add support for multiple shader outputs packed into single register. 2017-07-10 15:33:34 +02:00
Józef Kucia
7f1242888e libs/vkd3d-shader: Recognize vThreadIDInGroup register. 2017-07-10 15:33:34 +02:00
Józef Kucia
2e6f80e24c libs/vkd3d-shader: Pass buffer size to vkd3d_dxbc_compiler_get_register_name(). 2017-07-10 15:33:34 +02:00
Józef Kucia
649a814b23 libs/vkd3d-shader: Use ERR() instead of FIXME() in vkd3d_dxbc_compiler_emit_ext_glsl_instruction().
vkd3d_dxbc_compiler_emit_ext_glsl_instruction() is called only for
implemented instructions.
2017-07-10 15:33:34 +02:00
Józef Kucia
4c448f0a35 libs/vkd3d-shader: Recognize vThreadID register. 2017-07-10 15:33:34 +02:00
Józef Kucia
bf3896adc4 libs/vkd3d-shader: Decorate shader inputs with Component decoration.
Needed when multiple inputs are stored in a single register.
2017-07-10 15:33:34 +02:00
Józef Kucia
c6b6a9d542 libs/vkd3d-shader: Add support for multiple shader inputs packed into single register. 2017-07-10 15:33:34 +02:00
Józef Kucia
3f546c8782 libs/vkd3d: Add DXGI_FORMAT_R32_UINT. 2017-07-10 15:33:34 +02:00
Józef Kucia
5cbf568b0b tests: Add visual test for f32tof16 instruction. 2017-07-06 18:11:57 +02:00
Józef Kucia
f5319efa4b libs/vkd3d-shader: Translate f32tof16 instruction. 2017-07-06 18:11:57 +02:00
Józef Kucia
a6e19e9966 tests: Add visual test for f16tof32 instruction. 2017-07-06 18:11:57 +02:00
Józef Kucia
83392c92a3 libs/vkd3d-shader: Translate f16tof32 instruction. 2017-07-06 18:11:57 +02:00
Józef Kucia
03ab3d25bc libs/vkd3d-shader: Upgrade FIXME() to ERR() in vkd3d_dxbc_compiler_emit_alu_instruction().
vkd3d_dxbc_compiler_emit_alu_instruction() is called only for
implemented instructions.
2017-07-06 18:11:57 +02:00
Józef Kucia
726e94f325 tests: Add visual test for not instruction. 2017-07-06 18:11:57 +02:00
Józef Kucia
24134b20fd libs/vkd3d-shader: Translate xor, or and not instructions. 2017-07-06 18:11:57 +02:00
Józef Kucia
cb125d0020 libs/vkd3d-shader: Fix swizzling for non floating-point result values.
Avoids incorrect bitcasts.
2017-07-06 18:11:57 +02:00
Józef Kucia
7212a74a05 tests: Add test for deserialization of root signature static samplers. 2017-07-06 10:12:22 +02:00
Józef Kucia
fe522495aa libs/vkd3d-shader: Get rid of needless temporary variables. 2017-07-06 10:12:22 +02:00
Józef Kucia
f906df13b3 libs/vkd3d-shader: Implement parsing of root signature static samplers. 2017-07-06 10:12:22 +02:00
Józef Kucia
0699755b81 tests: Add visual test for shader register source modifiers. 2017-06-29 13:40:27 +02:00
Józef Kucia
0633cfc55d libs/vkd3d-shader: Implement "absneg" source modifiers. 2017-06-29 13:40:27 +02:00
Józef Kucia
5ae7e3d9d0 tests: Add visual test for min/max instructions. 2017-06-29 13:40:27 +02:00
Józef Kucia
5d1829329a tests: Add visual test for _sat modifier. 2017-06-29 13:40:27 +02:00
Józef Kucia
70f5b24f92 libs/vkd3d-shader: Avoid using GLSL.std450 NMin, NMax and NClamp opcodes.
These opcodes were implemented by Mesa just few days ago. In addition
using these opcodes in a shader leads to a crash on Nvidia.

In practice this change doesn't seem to make a difference. We still want
to use NMin, NMax and NClamp for correctness. This commit is meant to be
reverted when problems with these opcodes are resolved.
2017-06-29 13:40:27 +02:00