Giovanni Mascellani
017f86aaaf
vkd3d-shader/d3d-asm: Guess a sensible data type for literals.
...
When the typing information is not reliable.
2024-01-11 23:04:34 +01:00
Giovanni Mascellani
e3fb4e7eac
vkd3d-utils: Support many different surface types when creating a device.
...
This is nice for the application, which can use our implementation of
D3D12CreateDevice() in more environments, and basically free for us,
because surface creation is still the application's business.
2024-01-09 23:00:58 +01:00
Conor McCarthy
b0d1fb7d98
vkd3d: Use mutable descriptors if available.
...
The mutable descriptor type allows six descriptor sets to be replaced
with one set for CBV/SRV/UAV heaps.
2024-01-09 22:59:46 +01:00
Henri Verbeet
bb64bfff63
vkd3d: Attempt to translate border colours to static border colours in d3d12_desc_create_sampler().
2024-01-08 21:45:39 +01:00
Henri Verbeet
9060baacec
vkd3d: Implement support for static border colours.
2024-01-08 21:45:39 +01:00
Henri Verbeet
3344c4e93d
vkd3d-shader/hlsl: Store modifier flags as a uint32_t.
2024-01-08 21:45:26 +01:00
Henri Verbeet
fafe2a1dba
vkd3d-shader/hlsl: Store swizzles as a uint32_t.
2024-01-08 21:45:24 +01:00
Fabian Maurer
49d5aecaa7
vkd3d: Unlock mutex in error case in d3d12_command_queue_CopyTileMappings.
2024-01-08 21:45:06 +01:00
Giovanni Mascellani
7f9803620f
vkd3d-shader/spirv: Specify behavior for bit field instructions.
...
Bit field instructions in SPIR-V do not specify what happens when
offset + count exceeds the type bit width. After this commit we
refine the emitted code's behavior to match TPF.
This fixes a few failures on MoltenVK.
2024-01-08 21:44:52 +01:00
Giovanni Mascellani
5e7f9d4d0d
vkd3d: Specify the aspect when creating NULL UAVs.
...
This fixes a crash on MoltenVK.
2024-01-08 21:44:49 +01:00
Henri Verbeet
50cebc7278
vkd3d: Slightly simplify debug_vk_memory_property_flags().
...
VK_MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD and
VK_MEMORY_PROPERTY_DEVICE_UNCACHED_BIT_AMD were introduced by
Vulkan-Headers 1.1.121; we currently require version 1.2.148.
2024-01-04 22:24:10 +01:00
Henri Verbeet
0fb1ef1e63
vkd3d: Recognise VK_QUEUE_VIDEO_DECODE_BIT_KHR in debug_vk_queue_flags().
...
This was introduced by Vulkan-Headers 1.3.238, which is a bit newer than
we currently require.
2024-01-04 22:24:07 +01:00
Henri Verbeet
659c870edc
vkd3d: Recognise VK_QUEUE_PROTECTED_BIT in debug_vk_queue_flags().
2024-01-04 22:24:07 +01:00
Henri Verbeet
5b9a0dfaea
vkd3d-shader/ir: Store destination parameter shifts as an unsigned int.
2024-01-04 22:23:54 +01:00
Henri Verbeet
4b5d3a078b
vkd3d-shader/ir: Store destination parameter modifier flags as a uint32_t.
2024-01-04 22:23:52 +01:00
Henri Verbeet
60842b7181
vkd3d-shader/ir: Store source parameter swizzles as a uint32_t.
2024-01-04 22:23:51 +01:00
Henri Verbeet
9f4ca3bc9c
vkd3d-shader/ir: Store instruction flags as a uint32_t.
2024-01-04 22:23:49 +01:00
Giovanni Mascellani
bd9118cac4
vkd3d-shader/ir: Validate destination write masks depending on the dimension.
2024-01-04 22:23:25 +01:00
Giovanni Mascellani
15e7711786
vkd3d-shader/ir: Validate source swizzles depending on the dimension.
2024-01-04 22:23:24 +01:00
Giovanni Mascellani
e91da41dea
vkd3d-shader/ir: Validate SSA registers.
2024-01-04 22:23:23 +01:00
Giovanni Mascellani
e29ae1550c
vkd3d-shader/dxil: Create constant buffer registers with dimension vec4.
2024-01-04 22:23:21 +01:00
Giovanni Mascellani
df2ae56de8
vkd3d-shader/d3dbc: Override the write mask when the destination is not vec4.
2024-01-04 22:23:20 +01:00
Zebediah Figura
1ce7e3d8b1
vkd3d-shader/d3dbc: Assign unique register indices for VKD3DSPR_RASTOUT.
2024-01-04 22:23:09 +01:00
Zebediah Figura
3f52fda8ad
vkd3d-shader: Lower shader model 1/2 inter-stage I/O to a flat array.
...
An alternative is that we stash the reg_type in the signature, but this seems
far simpler for the backend to deal with.
2024-01-04 22:23:07 +01:00
Giovanni Mascellani
3bafee344d
vkd3d-shader/dxil: Use vkd3d_shader_parser_error() for error reporting when available.
2024-01-03 22:38:26 +01:00