tests: Test I/O index ranges not intersecting a signature element for a given register.

Since this test depend on the specific code generated by the
native d3dcompiler we add the possibility to specify a "raw"
shader using a hex format. When the shader assembler is finally
available they should be replaced with assembly code.
This commit is contained in:
Giovanni Mascellani
2025-01-13 22:34:23 +01:00
committed by Henri Verbeet
parent 84a59fe4c0
commit 8887501042
Notes: Henri Verbeet 2025-02-19 18:01:43 +01:00
Approved-by: Giovanni Mascellani (@giomasce)
Approved-by: Henri Verbeet (@hverbeet)
Approved-by: Francisco Casas (@fcasas)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1332
5 changed files with 297 additions and 16 deletions

View File

@@ -188,6 +188,14 @@ enum fog_mode
FOG_MODE_DISABLE,
};
enum source_format
{
SOURCE_FORMAT_HLSL,
SOURCE_FORMAT_D3DBC_HEX,
SOURCE_FORMAT_DXBC_TPF_HEX,
SOURCE_FORMAT_DXBC_DXIL_HEX,
};
struct shader_runner
{
const struct shader_runner_ops *ops;
@@ -199,6 +207,7 @@ struct shader_runner
HRESULT hlsl_hrs[SHADER_MODEL_MAX + 1];
char *shader_source[SHADER_TYPE_COUNT];
enum source_format shader_format[SHADER_TYPE_COUNT];
enum shader_model minimum_shader_model;
enum shader_model maximum_shader_model;
bool require_shader_caps[SHADER_CAP_COUNT];