5241 Commits

Author SHA1 Message Date
Conor McCarthy
58123c2e10 vkd3d-shader/spirv: Introduce a data_type_is_floating_point() helper function. 2024-03-11 22:10:03 +01:00
Conor McCarthy
581939f1ef tests/shader-runner: Add tests for minimum-precision constants.
Values in DXIL have no signedness, so it is ambiguous whether 16-bit
constants should or should not be sign-extended when 16-bit execution
is not supported.
2024-03-11 22:10:01 +01:00
Nikolay Sivov
25d353db91 vkd3d-shader/d3dbc: Do not write semantic declarations for unused variables.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55829
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56402
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-03-11 22:09:55 +01:00
Zebediah Figura
ad495970e0 vkd3d-shader/spirv: Implement SLT and SGE. 2024-03-11 22:09:48 +01:00
Zebediah Figura
27196d8b0f vkd3d-shader/spirv: Implement CMP. 2024-03-11 22:09:44 +01:00
Francisco Casas
2b06bcc615 tests: Check that -0.0f is not less than 0.0f. 2024-03-11 22:09:44 +01:00
Francisco Casas
308c7941d4 tests: Test comparison and logic operators on SM1 vertex shaders.
Currently these are failing for SM1 because VKD3DSIH_SLT is not being
handled by spirv.c.
2024-03-11 22:09:43 +01:00
Francisco Casas
cfac67ccc2 vkd3d-shader/hlsl: Cast slt before multiplying on ternary operator.
Otherwise we may get a failing
    "hlsl_types_are_equal(arg1->data_type, arg2->data_type)"
assertion on hlsl_new_binary_expr() when creating the MUL.

This happens in the test introducing in the following patch:

    int a, b, c;

    void main(out float4 res : COLOR1, in float4 pos : position, out float4 out_pos : sv_position)
    {
        out_pos = pos;

        res = a ? b/1000.0 : c/1000.0;
    }
2024-03-11 22:09:42 +01:00
Francisco Casas
fda08de61d tests/shader-runner: Pass uniforms to vertex shaders in d3d9 and d3d11. 2024-03-11 22:09:41 +01:00
Giovanni Mascellani
1690b0b554 vkd3d-shader: Remove the bytecode fields from vkd3d_shader_desc. 2024-03-11 22:09:32 +01:00
Giovanni Mascellani
204c8afb9c vkd3d-shader/dxbc: Remove flag is_dxil.
The full shader profile is already available in vsir_program.
2024-03-11 22:09:31 +01:00
Giovanni Mascellani
470d83a9da vkd3d-shader: Move shader signatures to vsir_program. 2024-03-11 22:09:31 +01:00
Giovanni Mascellani
56dc0c9842 vkd3d-shader/dxbc: Decouple vkd3d_shader_desc from DXBC parsing. 2024-03-11 22:09:30 +01:00
Giovanni Mascellani
5204b92fa0 vkd3d-shader/tpf: Remove a useless parameter to shader_sm4_init(). 2024-03-11 22:09:28 +01:00
Conor McCarthy
7b4b0143bd vkd3d-shader/dxil: Implement DX intrinsic TextureGatherCmp. 2024-03-11 22:09:20 +01:00
Conor McCarthy
5a6fd010ac vkd3d-shader/dxil: Implement DX intrinsic TextureGather. 2024-03-11 22:09:18 +01:00
Conor McCarthy
8337b99a2c tests/shader-runner: Add a Gather test with non-constant offset. 2024-03-11 22:09:16 +01:00
Conor McCarthy
7fcf1b6ca2 tests/shader-runner: Add sampler comparison tests. 2024-03-11 22:09:08 +01:00
Giovanni Mascellani
7273d7f54f vkd3d-dxbc: Add an option to choose the output filename. 2024-03-11 22:08:56 +01:00
Giovanni Mascellani
b72ad78af6 vkd3d-dxbc: Add an option to re-emit the shader with the correct checksum. 2024-03-11 22:08:56 +01:00
Giovanni Mascellani
4b80b06f28 vkd3d-dxbc: Add an option to ignore checksum. 2024-03-11 22:08:56 +01:00
Giovanni Mascellani
75bc68962d vkd3d-shader/dxbc: Add flag to ignore the DXBC checksum. 2024-03-11 22:08:55 +01:00
Giovanni Mascellani
23259263cf vkd3d-shader/d3d-asm: Only emit signatures for SM4-6. 2024-03-08 23:36:44 +01:00
Henri Verbeet
1fc55d80cd vkd3d-shader: Enable GLSL target support when VKD3D_SHADER_UNSUPPORTED_GLSL is defined. 2024-03-08 23:36:40 +01:00
Evan Tang
4553b2a0dc vkd3d-shader/spirv: Implement support for rasteriser-ordered views.
Using SPV_EXT_fragment_shader_interlock.
2024-03-08 23:36:35 +01:00