Józef Kucia
96f5bb3936
libs/vkd3d-shader: Use vkd3d_dxbc_compiler_emit_load_src() for dot product instructions.
...
Fixes source modifiers for dot product instructions.
2017-07-14 17:21:23 +02:00
Józef Kucia
7c606089f1
libs/vkd3d-shader: Add FIXME comment for local function variables.
2017-07-14 13:44:35 +02:00
Józef Kucia
a47724ce3a
libs/vkd3d-shader: Translate dcl_sampler instructions.
2017-07-14 13:44:35 +02:00
Józef Kucia
cd07a50b21
libs/vkd3d-shader: Implement relative addressing for immediate constant buffers.
2017-07-11 17:23:02 +02:00
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
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
f5319efa4b
libs/vkd3d-shader: Translate f32tof16 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
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
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
0633cfc55d
libs/vkd3d-shader: Implement "absneg" source modifiers.
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