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
Shaun Ren
b8776bb6bd
vkd3d-shader/glsl: Implement VSIR_OP_UGE.
2025-08-21 15:32:37 +02:00
Henri Verbeet
cab0bd07e5
vkd3d-shader/glsl: Resolve SSA values.
...
Since commit eaebef4265 we may receive
vsir generated from HLSL sources, which typically contains SSA values.
We could previously receive vsir with SSA values as well, but HLSL
sources would go through d3dbc/tpf as an intermediate step, making the
resulting vsir much less likely to contain SSA values.
2025-08-13 15:56:06 +02:00
Henri Verbeet
ed695cc551
vkd3d-shader/ir: Rename VKD3D_DATA_SNORM to VSIR_DATA_SNORM.
2025-07-23 17:19:28 +02:00