Commit Graph

566 Commits

Author SHA1 Message Date
Giovanni Mascellani
987dbe31e3 tests: Use appropriate RTV formats in max-min.shader_test. 2024-10-22 20:29:25 +02:00
Nikolay Sivov
cf3e251a9f vkd3d-shader/hlsl: Implement the f32tof16() intrinsic.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-10-22 20:28:33 +02:00
Shaun Ren
f54797bae5 vkd3d-shader/hlsl: Support discard for SM1. 2024-10-22 20:27:34 +02:00
Francisco Casas
51d05c1844 vkd3d-shader/hlsl: Optimize interstage signatures. 2024-10-22 20:15:15 +02:00
Francisco Casas
d9b631182e tests: Add signature reflection test with structs. 2024-10-22 19:15:42 +02:00
Nikolay Sivov
fb2b974466 vkd3d-shader/hlsl: Handle snorm/unorm types as resource formats.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-10-22 19:14:51 +02:00
Elizabeth Figura
6fd1a1ce7e tests: Test point sprite. 2024-10-22 19:14:05 +02:00
Giovanni Mascellani
e411fcb60e tests: Test discontiguous signature masks with SM<4 shaders. 2024-10-17 17:28:52 +02:00
Shaun Ren
147f8898ca vkd3d-shader/hlsl: Process the patch constant function in hlsl_emit_bytecode().
Also, support patch constant function semantics in sm4_sysval_semantic_from_semantic_name().
2024-10-16 21:10:24 +02:00
Shaun Ren
aee00ea55a tests: Test hull shader uniform input parameters. 2024-10-16 21:07:53 +02:00
Shaun Ren
069b8aac64 vkd3d-shader/hlsl: Implement struct single inheritance.
Here, we implement single inheritance by inserting a field at the
beginning of the derived struct with name "$super".

For the following struct declarations

  struct a
  {
      float4 aa;
      float4 bb;
  };

  struct b : a
  {
      float4 cc;
  };

  struct c : b
  {
      float4 bb;
  };

this commit generates the following:

  struct a
  {
      float4 aa;
      float4 bb;
  };

  struct b
  {
      struct a $super;
      float4 cc;
  };

  struct c
  {
      struct b $super;
      float4 bb;
  };
2024-10-16 21:07:53 +02:00
Shaun Ren
013e354b46 tests: Test struct single inheritance. 2024-10-16 21:07:53 +02:00
Giovanni Mascellani
bc351f4b70 tests/shader-runner: Make geometry shaders optional.
This allows the Vulkan runner to execute in environments which do
not support geometry shaders, most notably MoltenVK. In particular,
that enables SM<4 shaders to run in such environments
2024-10-15 16:55:15 +02:00
Henri Verbeet
90616be301 vkd3d-shader/dxil: Shift register write masks by the component index in sm6_parser_emit_dx_store_output().
To account for the change we made in commit
c571a45e65 on the SPIR-V side.
2024-10-15 16:45:28 +02:00
Henri Verbeet
2d848cf001 tests: Add a basic shader model 6 interface packing test as well. 2024-10-15 16:45:28 +02:00
Nikolay Sivov
5fb3a91276 vkd3d-shader/hlsl: Implement the modf() intrinsic.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-10-15 16:43:33 +02:00
Henri Verbeet
9dd42d15dd build: Actually run interface-packing.shader_test and tessellation-patch-vars.shader_test. 2024-10-14 19:40:13 +02:00
Elizabeth Figura
cd249a47b8 tests: Test FFP point size clamping. 2024-10-10 22:44:33 +02:00
Elizabeth Figura
ec53e325b6 tests: Test FFP point size. 2024-10-10 22:30:35 +02:00
Elizabeth Figura
6ee17cf77e vkd3d-shader/spirv: Implement shader point size. 2024-10-10 22:14:45 +02:00
Elizabeth Figura
a29a4288d2 tests: Add a test for shader point size output. 2024-10-10 21:50:30 +02:00
Henri Verbeet
bf71b13797 vkd3d-shader/glsl: Implement support for compute shaders. 2024-10-10 20:00:45 +02:00
Henri Verbeet
fb17ba18ae vkd3d-shader/glsl: Implement VKD3DSIH_STORE_UAV_TYPED. 2024-10-10 20:00:45 +02:00
Henri Verbeet
aba45d0386 vkd3d-shader/glsl: Implement VKD3DSIH_CONTINUE. 2024-10-09 13:14:31 +02:00
Henri Verbeet
bc4aacd21e vkd3d-shader/glsl: Implement VKD3DSIH_ULT. 2024-10-09 13:14:31 +02:00
Henri Verbeet
27eb3c07ad vkd3d-shader/glsl: Implement switches. 2024-10-09 13:14:31 +02:00
Henri Verbeet
93f1af721f vkd3d-shader/glsl: Implement loops. 2024-10-09 13:14:31 +02:00
Henri Verbeet
790f35533b vkd3d-shader/glsl: vkd3d-shader/glsl: Implement support for VKD3D_SHADER_COMPONENT_INT inputs. 2024-10-09 13:14:31 +02:00
Henri Verbeet
fc8384462f vkd3d-shader/glsl: Implement VKD3DSIH_IMAX. 2024-10-08 22:01:56 +02:00
Henri Verbeet
c2a42214ff vkd3d-shader/glsl: Implement VKD3DSIH_INEG. 2024-10-08 22:01:56 +02:00
Henri Verbeet
e55bc76fd2 vkd3d-shader/glsl: Implement support for VKD3D_SHADER_COMPONENT_UINT inputs. 2024-10-08 22:01:56 +02:00
Henri Verbeet
0acebd6e09 vkd3d-shader/glsl: Implement support for VKD3D_SHADER_COMPONENT_UINT outputs. 2024-10-08 22:01:56 +02:00
Henri Verbeet
95a46fb0f0 vkd3d-shader/glsl: Handle SV_POSITION inputs in fragment shaders. 2024-10-08 22:01:56 +02:00
Evan Tang
102cfdab36 tests: Add a test for writing patch constants during tessellation. 2024-10-07 17:44:29 +02:00
Evan Tang
3342d307a8 tests: Add a test for shader interstage register packing. 2024-10-07 17:39:45 +02:00
Henri Verbeet
e7c4867359 vkd3d-shader/glsl: Implement support for VKD3DSPR_IDXTEMP registers. 2024-10-07 17:31:20 +02:00
Henri Verbeet
944929d0da vkd3d-shader/glsl: Implement VKD3DSIH_IADD. 2024-10-07 17:31:20 +02:00
Henri Verbeet
4eed6b8887 vkd3d-shader/glsl: Add interpolation modifiers to interstage inputs and outputs. 2024-10-07 17:31:20 +02:00
Henri Verbeet
7b47528e4b vkd3d-shader/glsl: Handle SV_VERTEX_ID inputs. 2024-10-07 17:31:20 +02:00
Henri Verbeet
79455041f0 vkd3d-shader/glsl: Implement VKD3DSIH_EQO. 2024-10-07 17:31:19 +02:00
Nikolay Sivov
565698711b tests: Add a test for uniform array indexing. 2024-10-07 17:30:41 +02:00
Francisco Casas
0b989c9f37 vkd3d-shader/hlsl: Fix the conditions to discard default values.
Otherwise default_values for strings are lost.

Thanks to Nikolay Sivov for pointing this out.
2024-10-07 17:28:07 +02:00
Henri Verbeet
25232f2b2b vkd3d-shader/glsl: Implement VKD3DSIH_IMUL. 2024-10-03 19:20:14 +02:00
Henri Verbeet
4dec4e9959 vkd3d-shader/glsl: Implement VKD3DSIH_ILT. 2024-10-03 19:18:15 +02:00
Henri Verbeet
68492e704f vkd3d-shader/glsl: Implement VKD3DSIH_IGE. 2024-10-03 19:15:48 +02:00
Henri Verbeet
cf6a3ad676 vkd3d-shader/glsl: Implement VKD3DSIH_SAMPLE. 2024-10-03 19:15:48 +02:00
Henri Verbeet
eb10f0897e vkd3d-shader/glsl: Implement VKD3DSIH_LD. 2024-10-03 19:14:43 +02:00
Henri Verbeet
fc4c9b7a95 vkd3d-shader/glsl: Implement VKD3DSIH_USHR. 2024-10-02 22:30:58 +02:00
Henri Verbeet
babbf11d52 vkd3d-shader/glsl: Implement VKD3DSIH_ISHR. 2024-10-02 22:30:58 +02:00
Henri Verbeet
7f1c78f8e2 vkd3d-shader/glsl: Implement VKD3DSIH_ISHL. 2024-10-02 22:30:58 +02:00