Commit Graph

572 Commits

Author SHA1 Message Date
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
Józef Kucia c9b271f3c7 libs/vkd3d-shader: Implement _sat destination modifier. 2017-06-29 13:40:27 +02:00
Józef Kucia cd1f9118ee libs/vkd3d-shader: Translate floating-point min/max instructions to NMin/NMax.
The semantics of NMin and NMax match special handling required for NaN.
2017-06-29 13:40:27 +02:00
Józef Kucia 2be7b7f7f8 tests: Store default viewport and scissor rect in test context. 2017-06-29 13:40:27 +02:00
Józef Kucia 6f83cfc03f tests: Rename test_draw_context to test_context. 2017-06-29 13:40:27 +02:00
Józef Kucia 94d0b8a7c8 tests: Add test for scissor test. 2017-06-29 13:40:27 +02:00
Józef Kucia b1000b73d3 tests: Add visual test for SM5 bit instructions. 2017-06-29 09:02:50 +02:00
Józef Kucia f8b25dcea4 libs/vkd3d-shader: Implement "neg" modifier for integers. 2017-06-29 09:02:50 +02:00
Józef Kucia 169b1e7885 libs/vkd3d-shader: Translate movc instruction. 2017-06-29 09:02:50 +02:00
Józef Kucia 0ef0b54eed libs/vkd3d-shader: Translate SM5 bit instructions. 2017-06-29 09:02:50 +02:00
Józef Kucia 3907daf34b tests: Add visual tests for ishl instruction. 2017-06-29 09:02:50 +02:00
Józef Kucia b2f8454a0f libs/vkd3d-shader: Translate ishl instruction. 2017-06-29 09:02:50 +02:00
Józef Kucia cd2e14ba22 tests: Add visual test for ushr instruction. 2017-06-29 09:02:50 +02:00
Józef Kucia 4e22eeec05 tests: Add visual test for ishr instruction. 2017-06-29 09:02:50 +02:00
Józef Kucia 1e7fc384fc libs/vkd3d-shader: Translate ishr instruction. 2017-06-29 09:02:50 +02:00
Józef Kucia 4de9405a7b libs/vkd3d-shader: Allow input declarations with no write mask. 2017-06-29 09:02:50 +02:00
Józef Kucia 6dbdb872fc tests: Add visual tests for bitfield instructions. 2017-06-28 12:28:09 +02:00
Józef Kucia c708c56d7b libs/vkd3d-shader: Translate ushr instruction. 2017-06-28 12:28:09 +02:00
Józef Kucia 32cc44150d libs/vkd3d-shader: Translate bitfield instructions. 2017-06-28 12:28:09 +02:00
Józef Kucia dffa2ad80f libs/vkd3d-shader: Use signed integer format when masking bitfield instruction operands.
This shouldn't be strictly needed, but it fixes bfi on Nvidia.
2017-06-28 12:28:09 +02:00
Józef Kucia 2c139bdf81 libs/vkd3d-shader: Mask immediate constant operands for bitfield instructions. 2017-06-28 12:28:09 +02:00
Józef Kucia 5005e2c10d tests: Add visual test for ftoi instruction. 2017-06-28 12:28:09 +02:00
Józef Kucia acc854ccec tests: Add visual test for ftou instruction. 2017-06-28 12:28:09 +02:00
Józef Kucia e623583048 libs/vkd3d-shader: Translate value preserving conversion instructions. 2017-06-28 12:28:09 +02:00
Józef Kucia 0cbd632bd3 tests: Add more tests for control flow instructions. 2017-06-28 12:28:09 +02:00
Józef Kucia 7e71b86031 libs/vkd3d-shader: Track current block for control flow instructions. 2017-06-28 12:28:09 +02:00
Józef Kucia 170168c9cb libs/vkd3d-shader: Implement more floating-point comparison instructions. 2017-06-28 12:28:09 +02:00
Józef Kucia 3190fbffb7 libs/vkd3d-shader: Translate iadd instruction. 2017-06-27 22:21:43 +02:00
Józef Kucia 6eb2d9cee4 libs/vkd3d-shader: Translate ieq instruction. 2017-06-27 22:21:43 +02:00
Józef Kucia 6fa98eb77c libs/vkd3d-shader: Implement absolute value source modifier. 2017-06-27 22:21:43 +02:00
Józef Kucia 30018181e0 libs/vkd3d-shader: Translate sqrt instruction. 2017-06-27 22:21:43 +02:00
Józef Kucia 8f6af1125d libs/vkd3d-shader: Get rid of VKD3D_SHADER_FLIP_Y compiler option.
We use negative viewport height to flip Y.
2017-06-27 22:21:43 +02:00
Józef Kucia 0afe0032b0 libs/vkd3d-shader: Add VKD3D_SHADER_STRIP_DEBUG compiler option. 2017-06-27 22:21:43 +02:00
Józef Kucia dbfa823b42 libs/vkd3d-shader: Translate min/max instructions. 2017-06-27 22:21:43 +02:00
Józef Kucia 19cb3aa0ed tests: Add test for ID3D12RootSignatureDeserializer. 2017-06-27 13:16:47 +02:00
Józef Kucia 3f03cd1ec8 libs/vkd3d-shader: Implement root signature parsing. 2017-06-27 13:16:47 +02:00
Józef Kucia d220ae4bfb libs/vkd3d: Add ID3D12RootSignatureDeserializer interface stub. 2017-06-27 13:16:47 +02:00
Józef Kucia d998cb88c5 libs/vkd3d-shader: Implement constant interpolation mode.
For gears demo.
2017-06-27 13:16:47 +02:00
Józef Kucia dc26657398 tests: Add visual test for eq instruction. 2017-06-26 17:03:31 +02:00
Józef Kucia 3178e25cb5 tests: Add visual test for ne instruction. 2017-06-26 17:03:31 +02:00
Józef Kucia 0f77fb3435 tests: Add visual test for if instruction. 2017-06-26 17:03:31 +02:00
Józef Kucia 00b1a83ef5 libs/vkd3d-shader: Translate if/else/endif instructions. 2017-06-26 17:03:31 +02:00
Józef Kucia 7f4f305225 libs/vkd3d-shader: Introduce vkd3d_spirv_alloc_id() helper function. 2017-06-26 17:03:31 +02:00
Józef Kucia 77b3c5858f libs/vkd3d-shader: Pass format string to vkd3d_spirv_build_op_name(). 2017-06-26 17:03:31 +02:00
Józef Kucia cb79f2ec65 libs/vkd3d-shader: Implement floating-point comparison instructions. 2017-06-26 17:03:31 +02:00
Józef Kucia cd8eb358e9 libs/vkd3d-shader: Refactor immediate constants handling. 2017-06-26 17:03:31 +02:00
Józef Kucia be9849ace4 libs/vkd3d: Avoid race condition when destroying fences. 2017-06-26 17:03:31 +02:00
Józef Kucia 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
Józef Kucia 2c4a4bd816 tests: Add initial visual test for shader instructions. 2017-06-23 22:24:33 +02:00