Commit Graph

173 Commits

Author SHA1 Message Date
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
Henri Verbeet
60fc072877 vkd3d-shader/ir: Move "has_descriptor_info" and "has_no_modifiers" to struct vsir_normalisation_flags. 2025-11-25 19:49:28 +01:00
Giovanni Mascellani
6654b88407 vkd3d-shader/ir: Check that no modifier is added to a vsir program after lowering. 2025-10-27 18:48:33 +01:00
Giovanni Mascellani
86b8f2de35 vkd3d-shader/ir: Error out on unsupported source modifiers. 2025-10-16 15:15:05 +02:00
Giovanni Mascellani
c99c729513 vkd3d-shader/ir: Error out on unsupported destination modifiers. 2025-10-16 15:10:39 +02:00
Giovanni Mascellani
8a100fa06d vkd3d-shader/ir: Ignore and drop PARTIALPRECISION modifiers. 2025-10-16 14:57:56 +02:00
Giovanni Mascellani
737158e7b8 vkd3d-shader/ir: Remove SATURATE modifiers after lowering them. 2025-10-16 14:55:51 +02:00
Henri Verbeet
a2ce610cc9 vkd3d-shader/glsl: Handle VSIR_DATA_SNORM and VSIR_DATA_UNORM in shader_glsl_vprint_assignment(). 2025-10-15 12:41:49 +02:00
Giovanni Mascellani
8b8ee542d7 vkd3d-shader/ir: Lower SATURATE modifiers to instructions. 2025-10-14 16:21:05 +02:00
Giovanni Mascellani
b5b5c67b34 vkd3d-shader/ir: Lower ABSNEG modifiers to instructions. 2025-10-13 19:25:51 +02:00
Giovanni Mascellani
968eb7467c vkd3d-shader/ir: Use VSIR_OP_NEG in insert_fragment_fog_before_ret(), in the common part.
The NEG source modifier is not generated any more during vsir
transformation, so it can be dropped in backends.
2025-10-13 19:13:05 +02:00
Giovanni Mascellani
eb1210f517 vkd3d-shader/ir: Lower NEG modifiers to instructions. 2025-10-13 19:07:01 +02:00
Henri Verbeet
433adab6ad vkd3d-shader/glsl: Handle integer operands in shader_glsl_movc().
We don't use these yet, but we're about to.
2025-10-13 19:00:05 +02:00
Elizabeth Figura
cfe51e84df vkd3d-shader/glsl: Wrap gl_GlobalInvocationID in an uvec4.
Callers to shader_glsl_print_register_name() expect this. In particular, this
fixes translation of instructions such as

    store_uav_typed u0.xyzw, vThreadID.xyxx, l(2.00000000e+00)

which is currently translated as the invalid

    imageStore(cs_image_0, ivec4(gl_GlobalInvocationID).xy, vec4(uintBitsToFloat(0x40000000u), 0, 0, 0));
2025-10-13 18:51:24 +02:00
Giovanni Mascellani
112bbbb161 vkd3d-shader/ir: Lower ABS modifiers to instructions. 2025-10-08 13:30:17 +02:00
Henri Verbeet
b9b9920593 vkd3d-shader/glsl: Implement support for VKD3DSPR_SAMPLEMASK registers. 2025-09-01 15:15:32 +02:00
Henri Verbeet
05b58c9963 vkd3d-shader/glsl: Handle SV_INSTANCE_ID inputs. 2025-09-01 15:15:32 +02:00
Henri Verbeet
9b375b3dae vkd3d-shader/glsl: Implement VSIR_OP_UREM. 2025-09-01 15:15:32 +02:00
Henri Verbeet
d30c992039 vkd3d-shader/glsl: Implement VSIR_OP_UDIV_SIMPLE. 2025-08-28 20:06:32 +02:00
Henri Verbeet
86656b7544 vkd3d-shader/glsl: Implement VSIR_OP_SIN. 2025-08-28 20:06:32 +02:00
Henri Verbeet
ed438c1350 vkd3d-shader/glsl: Implement VSIR_OP_COS. 2025-08-28 20:06:32 +02:00
Henri Verbeet
9609903770 vkd3d-shader/glsl: Implement VSIR_OP_DSX and VSIR_OP_DSY. 2025-08-28 20:06:32 +02:00
Henri Verbeet
4c91f4aa9e vkd3d-shader/glsl: Implement support for static texel offsets in shader_glsl_ld(). 2025-08-28 20:06:32 +02:00
Elizabeth Figura
586d8c9a52 vkd3d-shader/glsl: Do not make a copy of the buffer before returning it. 2025-08-22 20:53:21 +02:00