Nikolay Sivov
937a80ead6
vkd3d-shader/fx: Write annotations for fx_4+ profiles.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-07-08 18:49:28 +02:00
Nikolay Sivov
0f7ac0a054
vkd3d-shader/hlsl: Set default values for annotations variables.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-07-08 18:49:06 +02:00
Nikolay Sivov
4d2ce385a7
vkd3d-shader/hlsl: Do not crash on initialization of a redefined variable.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-07-08 18:24:46 +02:00
Nikolay Sivov
2176294df8
vkd3d-shader/hlsl: Implement tex*grad() functions.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-07-08 18:23:38 +02:00
Nikolay Sivov
4ff288bd32
vkd3d-shader: Implement tex*() functions variants with gradient arguments.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-07-08 18:23:38 +02:00
Nikolay Sivov
f03cb7e911
vkd3d-shader/hlsl: Add RasterizerState type.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-07-08 18:12:03 +02:00
Nikolay Sivov
12947aa50d
vkd3d-shader/fx: Add support for writing DepthStencilState objects.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-07-08 18:12:03 +02:00
Francisco Casas
597e55691a
vkd3d-shader/hlsl: Only error out on bind_count register reservation overlaps for SM1.
...
While on SM1 a register reservation reserves the whole size in
registers of the variable's data type, overlapping conflicts are only
checked up to the bind_count (used size) for each variable.
2024-07-08 18:12:03 +02:00
Francisco Casas
2179c79c91
tests: Test register reservations on unused variables.
2024-07-08 18:12:03 +02:00
Nikolay Sivov
48ff7de8ef
vkd3d-shader/hlsl: Add support for ConstantBuffer<> type.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-07-08 18:12:03 +02:00
Victor Chiletto
abbcf0461f
vkd3d-shader/hlsl: Reserve register slots for unused buffers.
2024-07-03 17:09:16 -03:00
Victor Chiletto
da36a447b8
vkd3d-shader/hlsl: Validate cbuffer register allocations.
2024-07-03 17:09:16 -03:00
Victor Chiletto
27414ef928
vkd3d-shader/hlsl: Do not immediately fail parsing for malformed 'b' register reservations.
...
This is a fxc quirk. In most cases, this throws an error, but for global
variables it's completely ignored.
2024-07-03 17:09:16 -03:00
Victor Chiletto
e13eb64d4c
vkd3d-shader/hlsl: Support expressions as register offsets.
2024-07-03 14:05:58 -03:00
Victor Chiletto
d11c777092
tests: Add more register reservations tests.
2024-07-03 14:05:58 -03:00
Yuxuan Shui
ccb6150aab
vkd3d-shader/hlsl: Implement storing to a swizzled matrix.
2024-06-20 12:39:46 +02:00
Elizabeth Figura
8d946f3c20
tests: Add another combined sampler test.
...
Shader provided by Francisco Casas.
2024-06-18 13:01:31 -05:00
Elizabeth Figura
669e85171e
tests: Run combined-samplers.shader_test on sm1 as well.
...
Now that we have if() this is easier.
2024-06-18 13:00:59 -05:00
Elizabeth Figura
d3ba810c98
tests: Stop probing all pixels when drawing a uniform colour.
...
This is simply unnecessary and wastes time.
As part of this, simply remove the "all" directive. Only for a couple of tests
is it even potentially interesting to validate all pixels (e.g.
nointerpolation.shader_test), and for those "all" is replaced with an explicit
(0, 0, 640, 480) rect.
In all other cases we just probe (0, 0).
2024-06-13 23:55:31 +02:00
Conor McCarthy
7534b88a15
tests/shader-runner: Set the correct flag and format for raw UAVs.
2024-06-11 15:55:48 +02:00
Nikolay Sivov
ba18035260
vkd3d-shader/d3dbc: Write load instruction for tex2Dbias().
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-06-11 15:50:34 +02:00
Nikolay Sivov
ccbe36fb8d
vkd3d-shader/hlsl: Implement tex2Dbias().
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56701
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-06-11 15:50:34 +02:00
Elizabeth Figura
33e5553158
vkd3d-shader/hlsl: Write SM5.1 binding reflection data.
2024-06-11 15:49:30 +02:00
Elizabeth Figura
4355e6ca69
vkd3d-shader/hlsl: Allocate register spaces for objects.
2024-06-11 15:49:30 +02:00
Conor McCarthy
9b070edf01
vkd3d-shader/spirv: Implement the QUAD_READ_LANE_AT instruction.
2024-06-11 15:48:21 +02:00
Conor McCarthy
c298493e4f
vkd3d-shader/spirv: Implement the QUAD_READ_ACROSS_* instructions.
2024-06-11 15:48:21 +02:00
Francisco Casas
ade3daa311
tests: Test matrix default value initializers.
2024-06-11 15:46:40 +02:00
Francisco Casas
099a64aeb2
vkd3d-shader/hlsl: Initialize default values with braceless initializers.
...
It is hard to initialize default values on add_assignment() and calling
add_assignment() for initializers is not really necessary: the only
thing we need from it the implicit cast.
2024-06-11 15:46:40 +02:00
Francisco Casas
e8dbc36bd2
vkd3d-shader/hlsl: Record default values for uniforms and constant buffers.
2024-06-11 15:46:40 +02:00
Nikolay Sivov
727aacca18
tests: Add a few tests for the NULL value.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-05-30 19:56:44 +02:00
Nikolay Sivov
163aaf9729
tests: Add some basic tests for ConstantBuffer type.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-05-30 19:56:39 +02:00
Nikolay Sivov
ea177a7750
vkd3d-shader/hlsl: Handle "unsigned int" type.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-05-30 19:56:29 +02:00
Victor Chiletto
fa5708d3b5
vkd3d-shader/hlsl: Fix XOR assign operator lexing.
2024-05-22 22:15:20 +02:00
Victor Chiletto
d8d2414132
tests/hlsl: Add a test for the XOR assign operator.
2024-05-22 22:15:19 +02:00
Francisco Casas
061dc39036
vkd3d-shader/hlsl: Also lower matrix swizzles and index loads in const passes.
2024-05-15 21:17:51 +02:00
Francisco Casas
dff2f746bc
tests: Test complex array size expression.
2024-05-15 21:17:51 +02:00
Francisco Casas
58a6db5589
tests: Test default values for constant buffer variables.
2024-05-15 21:17:49 +02:00
Francisco Casas
499b44a193
tests: Test default values for uniform variables.
2024-05-15 21:17:47 +02:00
Conor McCarthy
9e57039fce
vkd3d-shader/dxil: Handle SV_ClipDistance and SV_CullDistance.
2024-05-14 20:44:22 +02:00
Conor McCarthy
01af0f94bb
tests/hlsl: Add a test for SV_ClipDistance.
2024-05-14 20:44:20 +02:00
Conor McCarthy
4f50af4c83
vkd3d-shader/dxil: Handle SV_Coverage out.
2024-05-14 20:44:18 +02:00
Conor McCarthy
e4724b4635
tests/hlsl: Add a test for SV_Coverage out.
2024-05-14 20:44:16 +02:00
Conor McCarthy
e1c774bfeb
vkd3d-shader/spirv: Implement the WAVE_READ_LANE_FIRST instruction.
2024-05-14 20:44:10 +02:00
Conor McCarthy
cb9b10bf4d
tests/hlsl: Clear the RTV before the WaveReadLaneFirst() test.
2024-05-14 20:44:08 +02:00
Conor McCarthy
936d8e4f61
vkd3d-shader/spirv: Implement the WAVE_READ_LANE_AT instruction.
2024-05-14 20:44:04 +02:00
Conor McCarthy
5790056c44
tests/hlsl: Add a test for WaveReadLaneAt() with a non-uniform index.
2024-05-14 20:44:00 +02:00
Conor McCarthy
ea5624e5e8
vkd3d-shader/dxil: Emit bool inputs and outputs as uint.
...
DXIL reads/writes uint for these.
2024-05-13 22:27:13 +02:00
Francisco Casas
28d267b7c0
vkd3d-shader/hlsl: Allocate SM1 numeric uniforms in decreasing bind count.
2024-05-13 22:26:21 +02:00
Francisco Casas
f548644222
vkd3d-shader/hlsl: Only allocate numeric bind count for SM1 numeric uniforms.
...
Unless they have register reservations, in which case the whole
variable is still reserved.
2024-05-13 22:26:08 +02:00
Francisco Casas
e0a801e796
vkd3d-shader/hlsl: Improve tracking of used components running DCE before.
...
track_object_components_usage() had to be improved to also
register derefs on resource stores.
It was not doing it because it assumed that for every resource store
there was a resource load already, which was true, before calling DCE.
2024-05-13 22:26:05 +02:00