Commit Graph

394 Commits

Author SHA1 Message Date
0369f39a47 libs/vkd3d-shader: Generate correct SPIR-V for rcp with multiple components. 2017-10-18 12:21:24 +02:00
c5e400fa30 libs/vkd3d-shader: Document hacks introduced for Nvidia driver.
See 70f5b24f92.
2017-10-12 17:47:53 +02:00
2171ba6d32 libs/vkd3d-shader: Decrement OpAtomicIDecrement result. 2017-10-12 13:10:26 +02:00
586e1cc532 libs/vkd3d-shader: Implement relative addressing for constant buffers. 2017-10-06 17:06:31 +02:00
5479ac7011 libs/vkd3d-shader: Always emit default block for OpSwitch.
The default block is required in SPIR-V.
2017-10-05 15:58:51 +02:00
9feb7a3956 libs/vkd3d-shader: Recognize nop instruction. 2017-10-05 15:58:51 +02:00
e7aa2a7bcf libs/vkd3d-shader: Emit NonReadable decoration for image variables.
Fixes image writes for UNORM formats on Anv. Anv uses special surface
state for write-only storage image descriptors.

The SPIR-V spec doesn't state that the NonReadable decoration is
required for images used with StorageImageWriteWithoutFormat. On the
other hand, glslang requires the 'writeonly' keyword for images without
format, and it emits the NonReadable decoration.
2017-09-26 10:37:41 +02:00
5a020d6673 libs/vkd3d-shader: Implement shader visibility for descriptors. 2017-09-22 16:42:07 +02:00
602f9780f8 libs/vkd3d-shader: Implement "sample" interpolation qualifier. 2017-09-14 15:38:19 +02:00
6b757f3002 libs/vkd3d-shader: Subtract BaseInstance from InstanceIndex.
Depends on SPV_KHR_shader_draw_parameters extension.
2017-09-12 17:42:42 +02:00
b19fe74284 libs/vkd3d-shader: Export shader signature parsing. 2017-09-11 22:35:16 +02:00
b61c785bd0 libs/vkd3d-shader: Implement SV_InstanceID. 2017-09-11 22:35:16 +02:00
30cd4cc59f libs/vkd3d-shader: Always declare format for raw/structured image variables. 2017-09-07 17:48:43 +02:00
4af15035df libs/vkd3d-shader: Improve some debug messages. 2017-09-07 17:48:43 +02:00
3191e1eaa9 libs/vkd3d-shader: Implement UAV counters instructions. 2017-09-07 17:15:54 +02:00
5ef6f71996 libs/vkd3d-shader: Emit declarations for UAV counters. 2017-09-07 17:15:54 +02:00
7416c83ae2 libs/vkd3d-shader: Rename vkd3d_descriptor_type to vkd3d_shader_descriptor_type. 2017-09-07 17:15:54 +02:00
efdf2ec691 libs/vkd3d-shader: Rename vkd3d_shader_push_constant to vkd3d_shader_push_constant_buffer.
This should be clearer. Multiple constant buffers can be assigned to
a single push constant range.
2017-09-07 17:15:54 +02:00
ea8e5eaaba libs/vkd3d-shader: Introduce vkd3d_dxbc_compiler_emit_store_dst_swizzled() helper function. 2017-09-04 18:33:09 +02:00
3a4a71905e libs/vkd3d-shader: Implement texel offset for gather4. 2017-09-04 12:46:52 +02:00
293ce313ac libs/vkd3d-shader: Translate gather4 instructions. 2017-09-04 12:46:52 +02:00
72b109d380 libs/vkd3d-shader: Factor out vkd3d_spirv_build_image_instruction() function. 2017-08-31 09:29:02 +02:00
7c67665032 libs/vkd3d-shader: Implement ld_{raw, structured} for UAVs. 2017-08-30 16:41:41 +02:00
87a2fec426 libs/vkd3d-shader: Translate discard instructions. 2017-08-30 16:41:41 +02:00
99b72d4db1 libs/vkd3d-shader: Implement sample_l. 2017-08-30 16:41:41 +02:00