Giovanni Mascellani
bf92190924
vkd3d-shader/ir: Rename VKD3D_SHADER_ERROR_VSIR_INVALID_HANDLER to VKD3D_SHADER_ERROR_VSIR_INVALID_OPCODE.
...
Following the way it is currently called in the code.
2025-06-16 16:03:07 +02:00
Henri Verbeet
a5ff884605
vkd3d-shader/ir: Use vsir_opcode_get_name() in the validator.
2025-06-11 20:28:38 +02:00
Henri Verbeet
83ed825e5a
vkd3d-shader/ir: Use vsir_opcode_get_name() in vsir_program_lower_instructions().
2025-06-10 17:44:18 +02:00
Henri Verbeet
1214359022
vkd3d-shader/ir: Introduce vsir_opcode_get_name().
2025-06-10 17:44:18 +02:00
Elizabeth Figura
847c008b49
vkd3d-shader/ir: Split TEX into two separate vsir opcodes.
...
The two have the same d3dbc opcode, but have different names and different semantics.
2025-06-02 20:13:52 +02:00
Elizabeth Figura
b25362e036
vkd3d-shader/ir: Split TEXCOORD into two separate vsir opcodes.
...
The two have the same d3dbc opcode, but have different names and different semantics.
2025-06-02 20:12:27 +02:00
Elizabeth Figura
f5e0c47811
vkd3d-shader/ir: Use add_signature_element() to add clip planes.
...
In particular, ensure that the semantic name is not NULL. This is necessary to
avoid a crash when a later pass using vsir_signature_find_element_by_name(),
e.g. vsir_program_insert_vertex_fog(), iterates over the signature including the
new element.
2025-05-24 21:02:17 +02:00
Shaun Ren
18ec4caded
vkd3d-shader/tpf: Read the DCL_OUTPUT_SGV instruction.
...
Introduce VSIR op VKD3DSIH_DCL_OUTPUT_SGV.
2025-05-24 20:38:36 +02:00
Elizabeth Figura
bfa655a01f
vkd3d-shader/ir: Use the .w component of the existing swizzle when lowering texldb.
2025-05-14 15:07:46 +02:00
Elizabeth Figura
d40422592a
vkd3d-shader/ir: Merge tess factor used masks together.
...
Encountered with the domain shader in
test_domain_shader_one_patch_constant_input().
2025-05-14 14:09:21 +02:00
Elizabeth Figura
315247bf02
vkd3d-shader: Normalize TEXKILL to use a source register.
2025-04-30 16:51:44 +02:00
Andrey Gusev
8882d324a6
vkd3d-shader/ir: Store the actual return value in shader_signature_map_patch_constant_index_ranges().
2025-04-28 12:49:27 +02:00
Giovanni Mascellani
c764f71cf5
vkd3d-shader/ir: Validate that DEPTHOUTLE registers aren't used as sources.
2025-04-16 16:46:38 +02:00
Giovanni Mascellani
ee7895465c
vkd3d-shader/ir: Validate that DEPTHOUTGE registers aren't used as sources.
2025-04-16 16:46:28 +02:00
Giovanni Mascellani
834017c198
vkd3d-shader/ir: Validate that DEPTHOUT registers aren't used as sources.
2025-04-16 16:46:05 +02:00
Giovanni Mascellani
922cb47a4b
vkd3d-shader/ir: Validate descriptor counts in vsir programs.
2025-04-16 15:56:59 +02:00
Giovanni Mascellani
be94a37e23
vkd3d-shader/ir: Validate descriptor resource data types in vsir programs.
2025-04-16 15:52:46 +02:00
Giovanni Mascellani
01f47e00f2
vkd3d-shader/ir: Validate descriptor resource types in vsir programs.
2025-04-16 15:49:32 +02:00
Giovanni Mascellani
0da80c1f25
vkd3d-shader/ir: Validate descriptor types in vsir programs.
2025-04-16 15:46:20 +02:00
Elizabeth Figura
0c18736370
vkd3d-shader/ir: Validate SSA write masks.
2025-04-14 15:32:15 +02:00
Elizabeth Figura
d91d552a5e
vkd3d-shader/ir: Introduce a vsir_dst_param_init_null() helper.
2025-04-14 15:32:12 +02:00
Francisco Casas
4b9c23272a
vkd3d-shader/ir: Reset instruction pointers after shader_instruction_array_insert_at().
...
Every call to shader_instruction_array_insert_at() means a possible
reallocation of all vsir instructions in the program. This means that all
previous pointers are potentially no longer valid.
We are currently using these potentially invalid pointers in some cases,
usually in the form of "ins->location". This commit fixes these.
I moved all pointer changes to right after the call to
shader_instruction_array_insert_at() to make this more evident.
2025-04-02 19:25:12 +02:00
Giovanni Mascellani
875c5df519
vkd3d-shader/ir: Validate register id and index for CONSTBUFFER registers.
2025-04-02 19:24:10 +02:00
Giovanni Mascellani
c181f147ce
vkd3d-shader/ir: Validate register id and index for SAMPLER registers.
2025-04-02 19:08:50 +02:00
Giovanni Mascellani
9b7256c0c8
vkd3d-shader/ir: Validate register id and index for UAV registers.
2025-04-02 19:08:00 +02:00