Giovanni Mascellani
b6a00579a2
vkd3d-shader/ir: Validate the signature element register index, for some sysvals.
2024-12-09 16:11:34 +01:00
Giovanni Mascellani
59a3a8e2d6
vkd3d-shader/ir: Validate the signature element stream index.
2024-12-09 16:11:34 +01:00
Giovanni Mascellani
db5a3197b7
vkd3d-shader/ir: Validate the register index and count for signature elements.
2024-12-09 16:11:34 +01:00
Giovanni Mascellani
267c70fa55
vkd3d-shader/ir: Check that signature element masks are left-aligned with in a DCL_INDEX_RANGE.
2024-12-09 16:10:47 +01:00
Giovanni Mascellani
703da18955
vkd3d-shader/ir: Check that the DCL_INDEX_RANGE effective mask stabilizes after one iteration.
2024-12-09 16:10:47 +01:00
Henri Verbeet
bbeecfc835
vkd3d: Drop smaller pools in d3d12_command_allocator_reset_descriptor_pool_array().
...
Effectively consolidating them.
2024-12-09 16:10:22 +01:00
Francisco Casas
d2feb33b47
vkd3d-shader/hlsl: Store SM4 texture declarations in the vsir program.
2024-12-09 16:09:16 +01:00
Francisco Casas
1d290bf5db
vkd3d-shader/hlsl: Store SM4 sampler declarations in the vsir program.
...
Looking at the implementation of shader_sm4_read_dcl_sampler(), vsir
stores the resource index range both in
vkd3d_shader_instruction.declaration.sampler.range
and in the
vkd3d_shader_instruction.declaration.sampler.src.reg.idx[1-2]
indexes, so we do the same.
It is also worth noting that for shader models lower than 5.1, vsir
has a normalization on the ins->declaration src register indexes.
Refer to the following comment:
/* SM5.1 places a symbol identifier in idx[0] and moves
* other values up one slot. Normalize to SM5.1. */
on shader_sm4_read_param().
This normalization is also added to the generated vsir instructions.
2024-12-09 16:09:16 +01:00
Francisco Casas
37a61bf41a
vkd3d-shader/hlsl: Store the global flags in the vsir program.
2024-12-09 16:09:16 +01:00
Francisco Casas
d3108de72a
vkd3d-shader/hlsl: Store ROV feature requirement in the vsir_program.
2024-12-09 16:09:16 +01:00
Francisco Casas
d9c4a257c2
vkd3d-shader/dxbc: Parse the SFI0 ROV requirement.
2024-12-09 16:09:16 +01:00
Henri Verbeet
b484288a82
vkd3d-shader/spirv: Parse SPIR-V instructions.
2024-12-09 16:09:16 +01:00
Giovanni Mascellani
ac2901d2cb
vkd3d-shader/spirv: Parse the SPIR-V instruction schema.
2024-12-09 16:09:16 +01:00
Giovanni Mascellani
9b4f5dab77
vkd3d-shader/spirv: Parse the SPIR-V id bound.
2024-12-09 16:09:16 +01:00
Giovanni Mascellani
3f548ccf9c
vkd3d-shader/spirv: Parse the SPIR-V generator magic number.
2024-12-09 16:09:16 +01:00
Giovanni Mascellani
e218dae281
vkd3d-shader/spirv: Parse the SPIR-V version number.
2024-12-09 16:08:33 +01:00
Giovanni Mascellani
6cac18e395
vkd3d-shader/spirv: Parse the SPIR-V magic number.
2024-12-09 15:41:24 +01:00
Giovanni Mascellani
49fba97b0a
vkd3d-shader/spirv: Introduce a SPIR-V parser.
2024-12-09 14:22:24 +01:00
Feifan He
9d4bcc951d
vkd3d-shader/msl: Implement VKD3DSIH_USHR.
2024-12-05 21:26:03 +01:00
Feifan He
138e7caa03
vkd3d-shader/msl: Implement VKD3DSIH_ISHR.
2024-12-05 21:26:03 +01:00
Feifan He
5d6ed0fa30
vkd3d-shader/msl: Implement VKD3DSIH_ISHL.
2024-12-05 21:26:03 +01:00
Feifan He
a425c242a4
vkd3d-shader/msl: Implement VKD3DSIH_MAD.
2024-12-05 21:26:03 +01:00
Feifan He
8e0de82c74
vkd3d-shader/msl: Implement support for VKD3DSPDM_SATURATE modifiers.
2024-12-05 21:26:03 +01:00
Feifan He
ebf5828542
vkd3d-shader/msl: Implement VKD3DSIH_ELSE.
2024-12-05 21:25:35 +01:00
Feifan He
bbe10dcf17
vkd3d-shader/msl: Implement VKD3DSIH_NOT.
2024-12-05 21:13:29 +01:00