Commit Graph

2476 Commits

Author SHA1 Message Date
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
Henri Verbeet
305c2c0db4 tests/shader_runner_metal: Implement compute shader dispatch. 2025-08-28 20:05:53 +02:00
Henri Verbeet
e3001fcaa4 vkd3d-common: Introduce VKD3D_SHADER_API_VERSION_CURRENT. 2025-08-28 20:04:02 +02:00
Henri Verbeet
5bbd44c063 vkd3d-shader: Implement scanning compute shader thread group size information.
Metal doesn't allow the thread group size to be specified by shaders,
instead requiring it to be specified by the dispatch API.
2025-08-21 16:02:44 +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
Petrichor Park
0b8abe754a tests: Normalise NAN values in compare_float() and compare_double().
I.e., ignore the mantissa/payload of NAN values.
2025-08-21 15:29:27 +02:00
Henri Verbeet
a083748626 tests/shader_runner: Use read_f64() to parse "uniform" directives. 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
Henri Verbeet
f732fb7889 Release 1.17. 2025-08-21 12:52:13 +02:00
Brendan Shanks
44fffee5e1 tests: Add dxcompiler.h to .gitignore. 2025-08-14 10:34:44 +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
Henri Verbeet
ce20f9d4b2 tests/shader_runner_d3d12: Check whether the d3d12 device supports geometry shaders. 2025-08-06 12:04:16 +02:00
Henri Verbeet
47a183c75b tests/d3d12: Check whether the d3d12 device supports geometry shaders. 2025-08-06 12:04:16 +02:00