vkd3d-shader/hlsl: Parse SamplerComparisonState objects.

This commit is contained in:
Nikolay Sivov 2023-05-16 20:40:10 +02:00 committed by Alexandre Julliard
parent efe107d231
commit 7c94705c54
Notes: Alexandre Julliard 2023-05-29 22:32:35 +02:00
Approved-by: Giovanni Mascellani (@giomasce)
Approved-by: Zebediah Figura (@zfigura)
Approved-by: Henri Verbeet (@hverbeet)
Approved-by: Alexandre Julliard (@julliard)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/206
3 changed files with 11 additions and 5 deletions

View File

@ -3061,11 +3061,12 @@ static void declare_predefined_types(struct hlsl_ctx *ctx)
static const char *const sampler_names[] = static const char *const sampler_names[] =
{ {
[HLSL_SAMPLER_DIM_GENERIC] = "sampler", [HLSL_SAMPLER_DIM_GENERIC] = "sampler",
[HLSL_SAMPLER_DIM_1D] = "sampler1D", [HLSL_SAMPLER_DIM_COMPARISON] = "SamplerComparisonState",
[HLSL_SAMPLER_DIM_2D] = "sampler2D", [HLSL_SAMPLER_DIM_1D] = "sampler1D",
[HLSL_SAMPLER_DIM_3D] = "sampler3D", [HLSL_SAMPLER_DIM_2D] = "sampler2D",
[HLSL_SAMPLER_DIM_CUBE] = "samplerCUBE", [HLSL_SAMPLER_DIM_3D] = "sampler3D",
[HLSL_SAMPLER_DIM_CUBE] = "samplerCUBE",
}; };
static const struct static const struct

View File

@ -105,6 +105,7 @@ enum hlsl_base_type
enum hlsl_sampler_dim enum hlsl_sampler_dim
{ {
HLSL_SAMPLER_DIM_GENERIC, HLSL_SAMPLER_DIM_GENERIC,
HLSL_SAMPLER_DIM_COMPARISON,
HLSL_SAMPLER_DIM_1D, HLSL_SAMPLER_DIM_1D,
HLSL_SAMPLER_DIM_2D, HLSL_SAMPLER_DIM_2D,
HLSL_SAMPLER_DIM_3D, HLSL_SAMPLER_DIM_3D,

View File

@ -5148,6 +5148,10 @@ type_no_void:
{ {
$$ = ctx->builtin_types.sampler[HLSL_SAMPLER_DIM_GENERIC]; $$ = ctx->builtin_types.sampler[HLSL_SAMPLER_DIM_GENERIC];
} }
| KW_SAMPLERCOMPARISONSTATE
{
$$ = ctx->builtin_types.sampler[HLSL_SAMPLER_DIM_COMPARISON];
}
| KW_SAMPLER1D | KW_SAMPLER1D
{ {
$$ = ctx->builtin_types.sampler[HLSL_SAMPLER_DIM_1D]; $$ = ctx->builtin_types.sampler[HLSL_SAMPLER_DIM_1D];