Commit Graph

970 Commits

Author SHA1 Message Date
Henri Verbeet
8eebc71c13 vkd3d-shader/ir: Require signed operands for IMAX instructions. 2025-09-18 11:30:19 +02:00
Henri Verbeet
31eb152917 vkd3d-shader/ir: Require signed operands for ISHR instructions. 2025-09-18 11:26:52 +02:00
Henri Verbeet
d09f1502ba tests/hlsl: Add a missing "}" to trigonometry.shader_test. 2025-09-17 12:34:56 +02:00
Elizabeth Figura
32e64cafa5 vkd3d-shader/d3dbc: Lower TEXCOORD instructions. 2025-09-17 11:37:49 +02:00
Elizabeth Figura
5706834b37 vkd3d-shader/d3dbc: Lower TEX instructions. 2025-09-17 11:28:48 +02:00
Henri Verbeet
89641d3d42 vkd3d-shader/ir: Require signed source operands for ITOF instructions. 2025-09-16 15:46:23 +02:00
Henri Verbeet
e569245e1f vkd3d-shader/hlsl: Implement constant folding of 'round' expressions. 2025-09-09 14:59:11 +02:00
Henri Verbeet
5a8a2bb15f tests/hlsl: Add a constant folding test for round(). 2025-09-09 14:59:11 +02:00
Henri Verbeet
23ee29a953 vkd3d-shader/hlsl: Implement constant folding of 'reinterpret' expressions.
As encountered in tests/hlsl/frexp.shader_test.
2025-09-09 14:59:11 +02:00
Henri Verbeet
e330ad2ac7 vkd3d-shader/hlsl: Implement constant folding of 'cos' expressions.
As encountered in tests/hlsl/trigonometry.shader_test.
2025-09-09 14:59:01 +02:00
Shaun Ren
d8ea8894ab vkd3d-shader/hlsl: Support SM1 non-floating point CMP expressions. 2025-09-04 13:58:57 +02:00
Shaun Ren
df5ccd3ff0 tests/hlsl: Test ternary operations with integral vector operands. 2025-09-04 13:57:48 +02:00
Victor Chiletto
8698874628 vkd3d-shader/hlsl: Emit vsir structured loads. 2025-09-04 13:39:03 +02:00
Shaun Ren
1083b31dfd vkd3d-shader/hlsl: Implement texCUBEbias(). 2025-09-03 12:01:34 +02:00
Shaun Ren
b9545f7422 tests/hlsl: Add sample bias tests for cube textures. 2025-09-03 12:01:18 +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
Henri Verbeet
a1edfc4008 vkd3d-shader/msl: Implement compute shaders. 2025-08-28 20:05:53 +02:00
Shaun Ren
320c3c9652 vkd3d-shader/hlsl: Fold some general conditional identities.
The following conditional identities are applied:

  c ? x : x -> x
  false ? x : y -> y; true ? x : y -> x
  c ? true : false -> c; c ? false : true -> !c
  !c ? x : y -> c ? y : x

Lastly, for expression chains x, y in a conditional expression
  c ? x : y,
we evaluate all conditionals in the expression chains with the
condition c, assuming c is true (for x), or false (for y).
2025-08-21 16:00:51 +02:00