mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-12-15 08:03:30 -08:00
tests/shader_runner: Add support for testing explicit descriptor mapping.
When no descriptor mapping is specified, the backend will just build the usual default mapping. Otherwise the explicit mapping is used. Once all backends support the explicit mapping, we'll be able to handle generating the default mapping in the shader runner core rather than having each backend implement its own algorithm. So far only the d3d12 backend supports explicit descriptor mapping.
This commit is contained in:
committed by
Henri Verbeet
parent
6b157cc149
commit
da6ce78c1c
Notes:
Henri Verbeet
2025-10-30 20:00:19 +01:00
Approved-by: Henri Verbeet (@hverbeet) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1805
@@ -138,6 +138,7 @@ struct viewport
|
||||
float height;
|
||||
};
|
||||
|
||||
#define MAX_DESCRIPTORS 32
|
||||
#define MAX_RESOURCES 32
|
||||
#define MAX_SAMPLERS 32
|
||||
#define DXGI_FORMAT_COUNT (DXGI_FORMAT_B4G4R4A4_UNORM + 1)
|
||||
@@ -152,6 +153,7 @@ enum shader_cap
|
||||
SHADER_CAP_CLIP_PLANES,
|
||||
SHADER_CAP_CULL_DISTANCE,
|
||||
SHADER_CAP_DEPTH_BOUNDS,
|
||||
SHADER_CAP_DESCRIPTORS,
|
||||
SHADER_CAP_FLOAT64,
|
||||
SHADER_CAP_FOG,
|
||||
SHADER_CAP_GEOMETRY_SHADER,
|
||||
@@ -230,6 +232,15 @@ enum source_format
|
||||
SOURCE_FORMAT_DXBC_DXIL_HEX,
|
||||
};
|
||||
|
||||
struct descriptor_mapping
|
||||
{
|
||||
enum vkd3d_shader_descriptor_type type;
|
||||
unsigned int register_idx;
|
||||
unsigned int register_space;
|
||||
unsigned int count;
|
||||
unsigned int target_idx;
|
||||
};
|
||||
|
||||
struct shader_runner
|
||||
{
|
||||
const struct shader_runner_ops *ops;
|
||||
@@ -295,6 +306,9 @@ struct shader_runner
|
||||
|
||||
struct viewport viewports[4];
|
||||
unsigned int viewport_count;
|
||||
|
||||
struct descriptor_mapping descriptors[MAX_DESCRIPTORS];
|
||||
unsigned int descriptor_count;
|
||||
};
|
||||
|
||||
struct shader_runner_ops
|
||||
|
||||
Reference in New Issue
Block a user