Commit Graph

6592 Commits

Author SHA1 Message Date
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
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