-- v2: vkd3d-shader/hlsl: Consistently use HLSL allocation functions. vkd3d-shader/hlsl: Sort keywords. vkd3d-shader/hlsl: Remove C++ comment lexing. vkd3d-shader/hlsl: Remove some tokens from the lexer.
From: Zebediah Figura zfigura@codeweavers.com
None of these currently have any meaning, and none of these can currently be parsed as distinct tokens either (i.e. they will generate a syntax error anyway). --- libs/vkd3d-shader/hlsl.l | 5 ----- libs/vkd3d-shader/hlsl.y | 5 ----- 2 files changed, 10 deletions(-)
diff --git a/libs/vkd3d-shader/hlsl.l b/libs/vkd3d-shader/hlsl.l index 527d853a..d21d03bb 100644 --- a/libs/vkd3d-shader/hlsl.l +++ b/libs/vkd3d-shader/hlsl.l @@ -165,7 +165,6 @@ while {return KW_WHILE; } <<= {return OP_LEFTSHIFTASSIGN; } >> {return OP_RIGHTSHIFT; } >>= {return OP_RIGHTSHIFTASSIGN; } -... {return OP_ELLIPSIS; } <= {return OP_LE; } >= {return OP_GE; } != {return OP_NE; } @@ -177,10 +176,6 @@ while {return KW_WHILE; } &= {return OP_ANDASSIGN; } |= {return OP_ORASSIGN; } ^= {return OP_XORASSIGN; } -## {return OP_UNKNOWN1; } -#@ {return OP_UNKNOWN2; } -:: {return OP_UNKNOWN3; } --> {return OP_UNKNOWN4; }
column_major {return KW_COLUMN_MAJOR; } row_major {return KW_ROW_MAJOR; } diff --git a/libs/vkd3d-shader/hlsl.y b/libs/vkd3d-shader/hlsl.y index 5fd140fb..f26f81e8 100644 --- a/libs/vkd3d-shader/hlsl.y +++ b/libs/vkd3d-shader/hlsl.y @@ -4833,7 +4833,6 @@ static void check_duplicated_switch_cases(struct hlsl_ctx *ctx, const struct hls %token OP_LEFTSHIFTASSIGN %token OP_RIGHTSHIFT %token OP_RIGHTSHIFTASSIGN -%token OP_ELLIPSIS %token OP_LE %token OP_GE %token OP_NE @@ -4845,10 +4844,6 @@ static void check_duplicated_switch_cases(struct hlsl_ctx *ctx, const struct hls %token OP_ANDASSIGN %token OP_ORASSIGN %token OP_XORASSIGN -%token OP_UNKNOWN1 -%token OP_UNKNOWN2 -%token OP_UNKNOWN3 -%token OP_UNKNOWN4
%token <floatval> C_FLOAT
From: Zebediah Figura zfigura@codeweavers.com
This is already handled by the preprocessor. --- libs/vkd3d-shader/hlsl.l | 3 --- 1 file changed, 3 deletions(-)
diff --git a/libs/vkd3d-shader/hlsl.l b/libs/vkd3d-shader/hlsl.l index d21d03bb..80a2ee5d 100644 --- a/libs/vkd3d-shader/hlsl.l +++ b/libs/vkd3d-shader/hlsl.l @@ -53,7 +53,6 @@ RESERVED4 typename|union|unsigned|using|virtual
WS [ \t] NEWLINE (\n)|(\r\n) -DOUBLESLASHCOMMENT "//"[^\n]* STRING "[^"]*" IDENTIFIER [A-Za-z_][A-Za-z0-9_]*
@@ -217,8 +216,6 @@ row_major {return KW_ROW_MAJOR; } return C_INTEGER; }
-{DOUBLESLASHCOMMENT} {} - {WS}+ {} {NEWLINE} { struct hlsl_ctx *ctx = yyget_extra(yyscanner);
From: Zebediah Figura zfigura@codeweavers.com
Done with `LC_ALL=C sort -f`. --- libs/vkd3d-shader/hlsl.l | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-)
diff --git a/libs/vkd3d-shader/hlsl.l b/libs/vkd3d-shader/hlsl.l index 80a2ee5d..727be1e0 100644 --- a/libs/vkd3d-shader/hlsl.l +++ b/libs/vkd3d-shader/hlsl.l @@ -75,6 +75,7 @@ Buffer {return KW_BUFFER; } case {return KW_CASE; } cbuffer {return KW_CBUFFER; } centroid {return KW_CENTROID; } +column_major {return KW_COLUMN_MAJOR; } compile {return KW_COMPILE; } const {return KW_CONST; } continue {return KW_CONTINUE; } @@ -104,9 +105,10 @@ pass {return KW_PASS; } PixelShader {return KW_PIXELSHADER; } precise {return KW_PRECISE; } RasterizerState {return KW_RASTERIZERSTATE; } +register {return KW_REGISTER; } RenderTargetView {return KW_RENDERTARGETVIEW; } return {return KW_RETURN; } -register {return KW_REGISTER; } +row_major {return KW_ROW_MAJOR; } RWBuffer {return KW_RWBUFFER; } RWStructuredBuffer {return KW_RWSTRUCTUREDBUFFER; } RWTexture1D {return KW_RWTEXTURE1D; } @@ -118,10 +120,10 @@ sampler {return KW_SAMPLER; } sampler1D {return KW_SAMPLER1D; } sampler2D {return KW_SAMPLER2D; } sampler3D {return KW_SAMPLER3D; } -samplerCUBE {return KW_SAMPLERCUBE; } -sampler_state {return KW_SAMPLER_STATE; } SamplerComparisonState {return KW_SAMPLERCOMPARISONSTATE;} +samplerCUBE {return KW_SAMPLERCUBE; } SamplerState {return KW_SAMPLER; } +sampler_state {return KW_SAMPLER_STATE; } shared {return KW_SHARED; } stateblock {return KW_STATEBLOCK; } stateblock_state {return KW_STATEBLOCK_STATE; } @@ -133,18 +135,18 @@ tbuffer {return KW_TBUFFER; } technique {return KW_TECHNIQUE; } technique10 {return KW_TECHNIQUE10; } texture {return KW_TEXTURE; } -texture1D {return KW_TEXTURE1D; } Texture1D {return KW_TEXTURE1D; } +texture1D {return KW_TEXTURE1D; } Texture1DArray {return KW_TEXTURE1DARRAY; } -texture2D {return KW_TEXTURE2D; } Texture2D {return KW_TEXTURE2D; } +texture2D {return KW_TEXTURE2D; } Texture2DArray {return KW_TEXTURE2DARRAY; } Texture2DMS {return KW_TEXTURE2DMS; } Texture2DMSArray {return KW_TEXTURE2DMSARRAY; } -texture3D {return KW_TEXTURE3D; } Texture3D {return KW_TEXTURE3D; } -textureCUBE {return KW_TEXTURECUBE; } +texture3D {return KW_TEXTURE3D; } TextureCube {return KW_TEXTURECUBE; } +textureCUBE {return KW_TEXTURECUBE; } TextureCubeArray {return KW_TEXTURECUBEARRAY; } true {return KW_TRUE; } typedef {return KW_TYPEDEF; } @@ -176,9 +178,6 @@ while {return KW_WHILE; } |= {return OP_ORASSIGN; } ^= {return OP_XORASSIGN; }
-column_major {return KW_COLUMN_MAJOR; } -row_major {return KW_ROW_MAJOR; } - {IDENTIFIER} { struct hlsl_ctx *ctx = yyget_extra(yyscanner);
From: Zebediah Figura zfigura@codeweavers.com
--- libs/vkd3d-shader/hlsl.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/libs/vkd3d-shader/hlsl.c b/libs/vkd3d-shader/hlsl.c index f56ecc90..02f08232 100644 --- a/libs/vkd3d-shader/hlsl.c +++ b/libs/vkd3d-shader/hlsl.c @@ -759,7 +759,7 @@ struct hlsl_type *hlsl_new_uav_type(struct hlsl_ctx *ctx, enum hlsl_sampler_dim { struct hlsl_type *type;
- if (!(type = vkd3d_calloc(1, sizeof(*type)))) + if (!(type = hlsl_alloc(ctx, sizeof(*type)))) return NULL; type->class = HLSL_CLASS_OBJECT; type->base_type = HLSL_TYPE_UAV; @@ -1617,7 +1617,7 @@ static bool clone_block(struct hlsl_ctx *ctx, struct hlsl_block *dst_block,
if (!list_empty(&src->uses)) { - if (!vkd3d_array_reserve((void **)&map->instrs, &map->capacity, map->count + 1, sizeof(*map->instrs))) + if (!hlsl_array_reserve(ctx, (void **)&map->instrs, &map->capacity, map->count + 1, sizeof(*map->instrs))) { hlsl_block_cleanup(dst_block); return false;