964 Commits

Author SHA1 Message Date
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
Shaun Ren
245430002a vkd3d-shader/hlsl: Fold some general unary identities.
The following unary identities are applied:

  ||x|| -> |x|
  |-x| -> |x|
  ~(~x) -> x
  f(g(x)) -> g(x), where f(), g() are floor() or ceil() functions.
  -(-x) -> x
  !!x -> x
  !(x == y) -> x != y, !(x < y) -> x >= y, etc (for integers).
2025-08-21 16:00:46 +02:00
Petrichor Park
d964d55b4a vkd3d-shader/hlsl: Implement the frexp() intrinsic. 2025-08-21 15:29:27 +02:00
Petrichor Park
ea6104cf5e tests/hlsl: Add some tests for the frexp() intrinsic. 2025-08-21 15:29:27 +02:00
Henri Verbeet
31136ead05 tests/shader_runner: Use read_f32() to parse "uniform" directives. 2025-08-21 15:29:27 +02:00
Elizabeth Figura
f9bb84e5ef vkd3d-shader/d3dbc: Lower TEXCRD. 2025-08-07 19:30:29 +02:00
Elizabeth Figura
731b94f6f9 vkd3d-shader/d3dbc: Lower 1.4 TEXLD. 2025-08-07 19:05:25 +02:00