Giovanni Mascellani
1941be3cc5
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_atomic_binop().
2025-12-04 19:31:46 +01:00
Giovanni Mascellani
8d0f82c45a
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_dx_unary().
2025-12-04 19:31:45 +01:00
Henri Verbeet
9ddb815127
vkd3d-shader/ir: Rename struct vkd3d_shader_src_param to struct vsir_src_operand.
2025-12-04 19:22:30 +01:00
Henri Verbeet
59c8c1b8fa
vkd3d-shader/ir: Rename struct vkd3d_shader_dst_param to struct vsir_dst_operand.
2025-12-04 19:21:37 +01:00
Giovanni Mascellani
90196f7d01
vkd3d-shader/dxil: Remove sm6_parser_emit_unhandled().
...
It's currently useless, when there is a failure we drop out of
sm6_parser_function_init() before even checking what the current
instruction or value looks like.
2025-12-03 15:23:10 +01:00
Giovanni Mascellani
f64432d4ec
vkd3d-shader/dxil: Take the record from the function emission state in sm6_parser_emit_call().
2025-12-03 15:15:59 +01:00
Giovanni Mascellani
c2ff59e80b
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_br().
2025-12-03 15:15:59 +01:00
Giovanni Mascellani
2855f2d605
vkd3d-shader/dxil: Pass the function emission state to sm6_parser_emit_br().
2025-12-03 15:15:59 +01:00
Giovanni Mascellani
83ebe58984
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_binop().
2025-12-03 15:15:59 +01:00
Giovanni Mascellani
5d51d89ef1
vkd3d-shader/dxil: Pass the function emission state to sm6_parser_emit_binop().
2025-12-03 15:15:59 +01:00
Giovanni Mascellani
1e4764d555
vkd3d-shader/dxil: Parse the f32 denormalization mode.
2025-12-02 14:26:16 +01:00
Giovanni Mascellani
193cf51a59
vkd3d-shader/dxil: Set the attribute group count to zero if allocation fails.
2025-12-02 14:04:24 +01:00
Giovanni Mascellani
90a38d6c0e
vkd3d-shader/dxil: Parse parameter attribute records.
2025-12-02 14:02:18 +01:00
Giovanni Mascellani
3058958d8b
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_atomicrmw().
2025-12-02 13:39:44 +01:00
Giovanni Mascellani
eeb3592379
vkd3d-shader/dxil: Handle allocation failure in sm6_parser_emit_atomicrmw().
2025-12-02 13:39:44 +01:00
Giovanni Mascellani
9457dc9c75
vkd3d-shader/dxil: Take the record from the function emission state in sm6_parser_emit_atomicrmw().
2025-12-02 13:39:44 +01:00
Giovanni Mascellani
26f9644fb6
vkd3d-shader/dxil: Allocate instructions directly in sm6_parser_emit_alloca().
...
I think the main argument for preallocating instructions and
passing them to helpers is that this simplifies error handling.
However it seems that the simplification is close to negligible,
while the current solution makes it harder to use the iterator
abstraction layer for the instruction array, and it also makes
the code harder to read and check.
2025-12-02 13:39:44 +01:00
Giovanni Mascellani
3b9fbe3e4a
vkd3d-shader/dxil: Pass function emission state to sm6_parser_emit_alloca().
2025-12-02 13:39:44 +01:00
Giovanni Mascellani
6a3f360a2b
vkd3d-shader/dxil: Move the function emission state outside the opcode switch.
2025-12-02 13:39:44 +01:00
Giovanni Mascellani
e9d08df010
vkd3d-shader/dxil: Check the fields of well-known structure types.
...
The main reason is to avoid making false assumptions in the code.
I don't know how that could be used, say, to introduce a security
bug, but I think validating untrusted input should be done by
default.
Conveniently this also acts as documentation for who needs to know
what fields we indeed expect to find in a well-known structure.
2025-11-24 19:03:29 +01:00
Giovanni Mascellani
44c80c60b8
vkd3d-shader/dxil: Parse string attributes with string value in parameter attribute groups.
2025-11-20 17:47:47 +01:00
Giovanni Mascellani
64738f5d9f
vkd3d-shader/dxil: Parse string attributes in parameter attribute groups.
2025-11-20 17:43:07 +01:00
Giovanni Mascellani
e8db25750c
vkd3d-shader/dxil: Parse well-known attributes with numeric value in parameter attribute groups.
2025-11-20 17:42:23 +01:00
Giovanni Mascellani
090490576a
vkd3d-shader/dxil: Parse well-known attributes in parameter attribute groups.
2025-11-20 17:41:00 +01:00
Giovanni Mascellani
b174c64308
vkd3d-shader/dxil: Parse the parameter attribute group records.
...
Except that individual attributes are not parsed yet.
2025-11-20 17:30:22 +01:00