Nikolay Sivov
0a344bd3c9
vkd3d-shader/fx: Add missing fields for structure types on fx_5_0.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-07-08 18:24:46 +02:00
Nikolay Sivov
8738e4662e
vkd3d-shader/fx: Preserve parsing order of initializer components.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-07-08 18:24:46 +02:00
Nikolay Sivov
c97c652ff0
vkd3d-shader/fx: Fix packed size for fx_4+ types.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-07-08 18:24:46 +02:00
Nikolay Sivov
856686b2a2
vkd3d-shader/fx: Write default numeric values.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-07-08 18:24:46 +02:00
Nikolay Sivov
aea36be94c
vkd3d-shader/fx: Fix structure type data written for fx_4.
...
Strings and field types are written to the same unstructured area
as structure type itself, so it has to be done in two passes.
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
Elizabeth Figura
4cd2dd50f9
vkd3d-shader/hlsl: Separate an "array" rule.
2024-07-08 18:22:39 +02:00
Nikolay Sivov
94130c2394
vkd3d-shader/fx: Add support for writing RasterizerState objects.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-07-08 18:12:03 +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
Nikolay Sivov
1008c49ce6
vkd3d-shader/fx: Cast state block field values to target type.
...
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
44725a651b
tests: Add reflection tests for register expressions.
2024-07-03 17:09:16 -03: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
b5b3c8b9ff
vkd3d-shader/hlsl: Ignore bracket offsets for 'b' register types prior to SM 5.1.
...
This is a fxc quirk that was fixed for SM >= 5.1 only.
2024-07-03 14:34:45 -03:00
Victor Chiletto
8fb3b604bf
vkd3d-shader/hlsl: Pass a pointer to struct hlsl_reg_reservation in parse_reservation_index.
...
Instead of passing the struct components individually.
2024-07-03 14:05:58 -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
acc9d79fbb
vkd3d-shader/hlsl: Only allocate the aligned size for uniforms.
2024-06-18 13:19:44 -05:00
Elizabeth Figura
7fe581203b
vkd3d-shader/hlsl: Respect the coords writemask in write_sm1_resource_load().
...
Spotted by Francisco Casas.
2024-06-18 13:19:44 -05: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
Giovanni Mascellani
46a1b66df7
ci: Assume an Apple Silicon-based environment for the macOS CI job.
...
The previous Intel-based macOS runner was replaced with another one
running as a virtual machine on top of an Apple Silicon host.
Since the current macOS runner is not yet able to deal with
different exit codes, we temporarily allow failure unconditionally.
This will be reverted as soon as the runner issue is fixed.
2024-06-17 12:32:33 +02: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
Stefan Dösinger
021eb28584
include: Get rid of the RB_FOR_EACH* macros.
...
They're largely unused, and RB_FOR_EACH_ENTRY_DESTRUCTOR is broken
because it uses WINE_RB_ENTRY_VALUE which doesn't exist in vkd3d.
2024-06-13 23:44:43 +02:00
Henri Verbeet
90f26759b5
vkd3d: Always use UINT views to clear UAVs with integer formats.
...
We would previously try to use float pipelines for SINT formats.
2024-06-13 23:26:35 +02:00
Giovanni Mascellani
a54187f3c9
vkd3d: Do not synchronize with the geometry shader stage if it's not enabled.
2024-06-13 23:24:22 +02:00
Giovanni Mascellani
a1a07de8ca
vkd3d: Enable VK_KHR_portability_subset if available.
...
We don't check it, but at least the validation layer does not complain
when using MoltenVK.
2024-06-13 23:24:22 +02:00
Giovanni Mascellani
3254eff328
vkd3d: Do not request VK_EXT_debug_marker if debug is disabled.
...
Because it requires VK_EXT_debug_report.
2024-06-13 23:24:22 +02:00
Giovanni Mascellani
3ad4d984ad
tests: Mark some root signature unbounded range failures as todo on MoltenVK.
2024-06-13 23:24:22 +02:00
Yuxuan Shui
8a459f5903
tests: Pass the correct buffer size to vsnprintf() in vkd3d_test_push_context().
2024-06-12 19:04:22 +02:00
Nikolay Sivov
222c52380b
vkd3d-shader/fx: Fix variable buffer offset value.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-06-12 19:02:20 +02:00
Nikolay Sivov
402dc94259
vkd3d-shader/fx: Set EXPLICIT_BIND_POINT flag for packoffset() reservations as well.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-06-12 19:02:20 +02:00
Conor McCarthy
da1d96f708
tests/shader-runner: Create a new runner object for the shader model 6 tests.
...
If cleaning up the old runner is not completed, descriptors for
destroyed resources may remain on the heap.
2024-06-11 15:56:43 +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
Elizabeth Figura
2f88442d7d
vkd3d-shader/hlsl: Always initialize $$ when parsing modifiers from an arbitrary string.
...
This avoids spurious errors like "row_major and column_major are mutually
exclusive" when an invalid modifier is used.
Fixes: cf7c05f431
2024-06-11 15:54:10 +02:00
Nikolay Sivov
72ddea6030
vkd3d-shader/fx: Use original full semantic name.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-06-11 15:53:19 +02:00
Nikolay Sivov
1124ea46ee
vkd3d-shader/hlsl: Store original semantic name.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-06-11 15:53:19 +02:00
Conor McCarthy
47d077e5ce
vkd3d: Interpret a null vertex buffer 'views' pointer as a null buffer.
2024-06-11 15:52:28 +02:00
Conor McCarthy
c3ea43b619
tests/d3d12: Test a null vertex buffer 'views' pointer on multiple slots.
2024-06-11 15:52:28 +02:00
Conor McCarthy
589ed1e358
vkd3d: Allow block compressed textures to have unaligned width and height.
2024-06-11 15:51:34 +02:00
Conor McCarthy
9244f2b536
tests/d3d12: Check for unaligned block texture support in test_create_committed_resource().
2024-06-11 15:51:33 +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
a289393fe7
vkd3d-shader/asm: Output 'bias' flag for 'texld'.
...
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2024-06-11 15:50:34 +02:00