03e189386a
libs/vkd3d-shader: Translate atomic_iadd instructions.
2017-08-21 12:41:07 +02:00
d287591889
libs/vkd3d-shader: Set image format for UAV typed reads and atomic instructions.
2017-08-21 12:41:07 +02:00
41b7c46c3e
libs/vkd3d-shader: Translate dcl_uav_structured instructions.
2017-08-18 14:52:40 +02:00
8f631c8b0c
libs/vkd3d-shader: Make bytecode parser responsible for setting scalar register write masks.
2017-08-18 14:52:40 +02:00
ca9cc355b4
libs/vkd3d-shader: Recognize oDepth register.
2017-08-18 14:52:40 +02:00
dc7f65122d
libs/vkd3d-shader: Silence push constant size mismatch FIXMEs().
...
This generally doesn't mean anything. It may only be an issue
for out of bounds accesses.
2017-08-17 12:13:50 +02:00
ef2f490b20
libs/vkd3d-shader: Do not try to find matching signature element for system-value inputs.
...
Silences false-positive FIXME() messages.
2017-08-17 12:13:50 +02:00
242ef52d8b
libs/vkd3d-shader: Translate sample_c instructions.
...
Nvidia expects that the D_ref is packed together with texture
coordinates. The D_ref parameter is ignored.
This isn't a problem for glslang because in GLSL D_ref is generally
passed together with texture coordinates.
2017-08-16 17:38:33 +02:00
2527f820cd
libs/vkd3d-shader: Cleanup vkd3d_dxbc_compiler_prepare[_sampled]_image() functions.
2017-08-16 17:38:33 +02:00
1857fdc1bc
libs/vkd3d-shader: Translate ld instructions.
2017-08-16 13:11:52 +02:00
e3d6bac31b
libs/vkd3d-shader: Introduce vkd3d_shader_interface structure.
2017-08-16 13:11:52 +02:00
e6f6d01489
libs/vkd3d-shader: Implement resinfo for SRVs.
2017-08-16 13:11:52 +02:00
f82a90ff78
libs/vkd3d-shader: Fix write mask for vPrim register.
2017-08-15 11:25:10 +02:00
17e49dc6c6
libs/vkd3d-shader: Translate store_raw instructions.
2017-08-11 13:58:04 +02:00
5aefd2c9e4
libs/vkd3d-shader: Translate dcl_uav_raw instructions.
2017-08-11 13:58:04 +02:00
2665cbe522
libs/vkd3d: Duplicate Vulkan descriptors for SRVs and UAVs.
...
Vulkan has different descriptor types for buffers and textures.
Therefore, we do not know the exact Vulkan descriptor type for D3D12 SRV
and UAV descriptors up front. This information can be extracted from
shaders when creating PSOs but creating incompatible Vulkan descriptor
set layouts for PSOs with the same root signature would introduce a lot
of complexity.
In order to preserve compatibility between resource bindings for PSOs
with the same root signature we duplicate Vulkan descriptors for SRVs
and UAVs (a buffer view and an image view descriptor). This strategy may
be reasonable for small root signatures.
2017-08-08 17:09:35 +02:00
cb86c9c8d0
libs/vkd3d-shader: Implement resinfo for UAVs.
2017-08-08 17:09:35 +02:00
eb4c98db17
libs/vkd3d-shader: Add support for switch breaks nested in conditional branches.
2017-08-01 13:55:49 +02:00
6b93e6ce99
libs/vkd3d-shader: Add support for switch fall-through blocks.
2017-08-01 13:55:49 +02:00
fbeaf0ba95
libs/vkd3d-shader: Make sure that inserted chunks are sorted.
...
The list is expected to be empty or very small so insertion sort should
be fine.
2017-08-01 13:55:49 +02:00
3effb4b18c
libs/vkd3d-shader: Get rid of artificial limit for switch case blocks.
2017-08-01 11:38:10 +02:00
ae8d8036c6
libs/vkd3d-shader: Implement switch control flow instructions.
2017-08-01 10:51:45 +02:00
5061dbaf0c
libs/vkd3d-shader: Add mechanism for inserting words into SPIR-V streams.
...
Allows inserting SPIR-V instructions at arbitrary locations in SPIR-V
streams.
2017-08-01 10:51:45 +02:00
c1c94e248c
libs/vkd3d-shader: Allow multiple push constant buffers.
2017-08-01 10:51:45 +02:00
d75966ab9e
libs/vkd3d: Assign non-overlapping push constant ranges for root constants.
2017-08-01 10:51:45 +02:00