310335f748
libs/vkd3d-shader: Branch directly to merge block when switch default block is absent.
2017-10-20 18:27:17 +02:00
137b5d694b
libs/vkd3d-shader: Move inside_block field to vkd3d_control_flow_info.
2017-10-18 19:02:46 +02:00
c112f2ed46
libs/vkd3d-shader: Get rid of VKD3D_BLOCK_ELSE.
2017-10-18 19:02:46 +02:00
9f831b938a
libs/vkd3d-shader: Avoid emitting empty else branches.
...
We have to patch SpvOpBranchConditional instruction when emitting the
else block because we do not know if an else block is present in
advance.
2017-10-18 19:02:46 +02:00
646385e871
libs/vkd3d-shader: Get rid of VKD3D_BLOCK_MAIN.
2017-10-18 19:02:46 +02:00
8a047a8eb7
libs/vkd3d-shader: Rename control flow union member for if instructions.
2017-10-18 19:02:46 +02:00
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
94a33020d3
libs/vkd3d-shader: Use switch statement in shader_parse_root_parameters().
2017-10-10 16:57:36 +02:00
4522a80de8
libs/vkd3d-shader: Use switch statement in shader_write_root_parameters().
2017-10-10 16:57:36 +02:00
18b285328e
libs/vkd3d-shader: Add version argument to vkd3d_shader_serialize_root_signature().
2017-10-10 16:57:36 +02:00
6b43a5fe38
libs/vkd3d-shader: Implement root signature serialization.
2017-10-10 16:02:09 +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
6dfb4ad520
libs/vkd3d-shader: Mark imm_atomic_alloc as UAV read instruction.
2017-09-07 17:48:43 +02:00
4af15035df
libs/vkd3d-shader: Improve some debug messages.
2017-09-07 17:48:43 +02:00