Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
glslang
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Chen Yisong
glslang
Commits
c28369b7
Commit
c28369b7
authored
Jan 24, 2019
by
nicebyte
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add support for GL_EXT_YUV_target
parent
2cf6613a
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
461 additions
and
189 deletions
+461
-189
300samplerExternalYUV.frag
Test/300samplerExternalYUV.frag
+38
-0
300samplerExternalYUV.frag.out
Test/baseResults/300samplerExternalYUV.frag.out
+192
-0
Types.h
glslang/Include/Types.h
+6
-0
Initialize.cpp
glslang/MachineIndependent/Initialize.cpp
+10
-0
ParseHelper.cpp
glslang/MachineIndependent/ParseHelper.cpp
+3
-0
Scan.cpp
glslang/MachineIndependent/Scan.cpp
+9
-0
SymbolTable.cpp
glslang/MachineIndependent/SymbolTable.cpp
+2
-0
Versions.cpp
glslang/MachineIndependent/Versions.cpp
+2
-0
Versions.h
glslang/MachineIndependent/Versions.h
+1
-0
glslang.y
glslang/MachineIndependent/glslang.y
+7
-0
glslang_tab.cpp
glslang/MachineIndependent/glslang_tab.cpp
+0
-0
glslang_tab.cpp.h
glslang/MachineIndependent/glslang_tab.cpp.h
+190
-189
AST.FromFile.cpp
gtests/AST.FromFile.cpp
+1
-0
No files found.
Test/300samplerExternalYUV.frag
0 → 100644
View file @
c28369b7
#version 300 es
#extension GL_EXT_YUV_target : enable
uniform
__samplerExternal2DY2YEXT
sExt
;
precision
mediump
__samplerExternal2DY2YEXT
;
uniform
__samplerExternal2DY2YEXT
mediumExt
;
uniform
highp
__samplerExternal2DY2YEXT
highExt
;
void
main
()
{
texture2D
(
sExt
,
vec2
(
0
.
2
));
// ERROR
texture2D
(
mediumExt
,
vec2
(
0
.
2
));
// ERROR
texture2D
(
highExt
,
vec2
(
0
.
2
));
// ERROR
texture2DProj
(
sExt
,
vec3
(
0
.
3
));
// ERROR
texture2DProj
(
sExt
,
vec4
(
0
.
3
));
// ERROR
int
lod
=
0
;
highp
float
bias
=
0
.
01
;
textureSize
(
sExt
,
lod
);
texture
(
sExt
,
vec2
(
0
.
2
));
texture
(
sExt
,
vec2
(
0
.
2
),
bias
);
textureProj
(
sExt
,
vec3
(
0
.
2
));
textureProj
(
sExt
,
vec3
(
0
.
2
),
bias
);
textureProj
(
sExt
,
vec4
(
0
.
2
));
textureProj
(
sExt
,
vec4
(
0
.
2
),
bias
);
texelFetch
(
sExt
,
ivec2
(
4
),
lod
);
texture3D
(
sExt
,
vec3
(
0
.
3
));
// ERROR
texture2DProjLod
(
sExt
,
vec3
(
0
.
3
),
0
.
3
);
// ERROR
texture
(
sExt
,
vec3
(
0
.
3
));
// ERROR
textureProjLod
(
sExt
,
vec3
(
0
.
3
),
0
.
3
);
// ERROR
}
#extension GL_EXT_YUV_target : disable
uniform
__samplerExternal2DY2YEXT
badExt
;
// ERROR
Test/baseResults/300samplerExternalYUV.frag.out
0 → 100644
View file @
c28369b7
300samplerExternalYUV.frag
ERROR: 0:12: 'texture2D' : no matching overloaded function found
ERROR: 0:13: 'texture2D' : no matching overloaded function found
ERROR: 0:14: 'texture2D' : no matching overloaded function found
ERROR: 0:15: 'texture2DProj' : no matching overloaded function found
ERROR: 0:16: 'texture2DProj' : no matching overloaded function found
ERROR: 0:29: 'texture3D' : no matching overloaded function found
ERROR: 0:30: 'texture2DProjLod' : no matching overloaded function found
ERROR: 0:31: 'texture' : no matching overloaded function found
ERROR: 0:32: 'textureProjLod' : no matching overloaded function found
ERROR: 0:37: '' : syntax error, unexpected IDENTIFIER, expecting LEFT_BRACE or COMMA or SEMICOLON
ERROR: 10 compilation errors. No code generated.
Shader version: 300
Requested GL_EXT_YUV_target
ERROR: node is still EOpNull!
0:10 Function Definition: main( ( global void)
0:10 Function Parameters:
0:12 Sequence
0:12 Constant:
0:12 0.000000
0:13 Constant:
0:13 0.000000
0:14 Constant:
0:14 0.000000
0:15 Constant:
0:15 0.000000
0:16 Constant:
0:16 0.000000
0:18 Sequence
0:18 move second child to first child ( temp mediump int)
0:18 'lod' ( temp mediump int)
0:18 Constant:
0:18 0 (const int)
0:19 Sequence
0:19 move second child to first child ( temp highp float)
0:19 'bias' ( temp highp float)
0:19 Constant:
0:19 0.010000
0:20 textureSize ( global highp 2-component vector of int, operation at mediump)
0:20 'sExt' ( uniform lowp __samplerExternal2DY2YEXT)
0:20 'lod' ( temp mediump int)
0:21 texture ( global lowp 4-component vector of float)
0:21 'sExt' ( uniform lowp __samplerExternal2DY2YEXT)
0:21 Constant:
0:21 0.200000
0:21 0.200000
0:22 texture ( global lowp 4-component vector of float, operation at highp)
0:22 'sExt' ( uniform lowp __samplerExternal2DY2YEXT)
0:22 Constant:
0:22 0.200000
0:22 0.200000
0:22 'bias' ( temp highp float)
0:23 textureProj ( global lowp 4-component vector of float)
0:23 'sExt' ( uniform lowp __samplerExternal2DY2YEXT)
0:23 Constant:
0:23 0.200000
0:23 0.200000
0:23 0.200000
0:24 textureProj ( global lowp 4-component vector of float, operation at highp)
0:24 'sExt' ( uniform lowp __samplerExternal2DY2YEXT)
0:24 Constant:
0:24 0.200000
0:24 0.200000
0:24 0.200000
0:24 'bias' ( temp highp float)
0:25 textureProj ( global lowp 4-component vector of float)
0:25 'sExt' ( uniform lowp __samplerExternal2DY2YEXT)
0:25 Constant:
0:25 0.200000
0:25 0.200000
0:25 0.200000
0:25 0.200000
0:26 textureProj ( global lowp 4-component vector of float, operation at highp)
0:26 'sExt' ( uniform lowp __samplerExternal2DY2YEXT)
0:26 Constant:
0:26 0.200000
0:26 0.200000
0:26 0.200000
0:26 0.200000
0:26 'bias' ( temp highp float)
0:27 textureFetch ( global lowp 4-component vector of float, operation at mediump)
0:27 'sExt' ( uniform lowp __samplerExternal2DY2YEXT)
0:27 Constant:
0:27 4 (const int)
0:27 4 (const int)
0:27 'lod' ( temp mediump int)
0:29 Constant:
0:29 0.000000
0:30 Constant:
0:30 0.000000
0:31 Constant:
0:31 0.000000
0:32 Constant:
0:32 0.000000
0:? Linker Objects
0:? 'sExt' ( uniform lowp __samplerExternal2DY2YEXT)
0:? 'mediumExt' ( uniform mediump __samplerExternal2DY2YEXT)
0:? 'highExt' ( uniform highp __samplerExternal2DY2YEXT)
Linked fragment stage:
Shader version: 300
Requested GL_EXT_YUV_target
ERROR: node is still EOpNull!
0:10 Function Definition: main( ( global void)
0:10 Function Parameters:
0:12 Sequence
0:12 Constant:
0:12 0.000000
0:13 Constant:
0:13 0.000000
0:14 Constant:
0:14 0.000000
0:15 Constant:
0:15 0.000000
0:16 Constant:
0:16 0.000000
0:18 Sequence
0:18 move second child to first child ( temp mediump int)
0:18 'lod' ( temp mediump int)
0:18 Constant:
0:18 0 (const int)
0:19 Sequence
0:19 move second child to first child ( temp highp float)
0:19 'bias' ( temp highp float)
0:19 Constant:
0:19 0.010000
0:20 textureSize ( global highp 2-component vector of int, operation at mediump)
0:20 'sExt' ( uniform lowp __samplerExternal2DY2YEXT)
0:20 'lod' ( temp mediump int)
0:21 texture ( global lowp 4-component vector of float)
0:21 'sExt' ( uniform lowp __samplerExternal2DY2YEXT)
0:21 Constant:
0:21 0.200000
0:21 0.200000
0:22 texture ( global lowp 4-component vector of float, operation at highp)
0:22 'sExt' ( uniform lowp __samplerExternal2DY2YEXT)
0:22 Constant:
0:22 0.200000
0:22 0.200000
0:22 'bias' ( temp highp float)
0:23 textureProj ( global lowp 4-component vector of float)
0:23 'sExt' ( uniform lowp __samplerExternal2DY2YEXT)
0:23 Constant:
0:23 0.200000
0:23 0.200000
0:23 0.200000
0:24 textureProj ( global lowp 4-component vector of float, operation at highp)
0:24 'sExt' ( uniform lowp __samplerExternal2DY2YEXT)
0:24 Constant:
0:24 0.200000
0:24 0.200000
0:24 0.200000
0:24 'bias' ( temp highp float)
0:25 textureProj ( global lowp 4-component vector of float)
0:25 'sExt' ( uniform lowp __samplerExternal2DY2YEXT)
0:25 Constant:
0:25 0.200000
0:25 0.200000
0:25 0.200000
0:25 0.200000
0:26 textureProj ( global lowp 4-component vector of float, operation at highp)
0:26 'sExt' ( uniform lowp __samplerExternal2DY2YEXT)
0:26 Constant:
0:26 0.200000
0:26 0.200000
0:26 0.200000
0:26 0.200000
0:26 'bias' ( temp highp float)
0:27 textureFetch ( global lowp 4-component vector of float, operation at mediump)
0:27 'sExt' ( uniform lowp __samplerExternal2DY2YEXT)
0:27 Constant:
0:27 4 (const int)
0:27 4 (const int)
0:27 'lod' ( temp mediump int)
0:29 Constant:
0:29 0.000000
0:30 Constant:
0:30 0.000000
0:31 Constant:
0:31 0.000000
0:32 Constant:
0:32 0.000000
0:? Linker Objects
0:? 'sExt' ( uniform lowp __samplerExternal2DY2YEXT)
0:? 'mediumExt' ( uniform mediump __samplerExternal2DY2YEXT)
0:? 'highExt' ( uniform highp __samplerExternal2DY2YEXT)
glslang/Include/Types.h
View file @
c28369b7
...
...
@@ -81,6 +81,7 @@ struct TSampler { // misnomer now; includes images, textures without sampler,
bool
combined
:
1
;
// true means texture is combined with a sampler, false means texture with no sampler
bool
sampler
:
1
;
// true means a pure sampler, other fields should be clear()
bool
external
:
1
;
// GL_OES_EGL_image_external
bool
yuv
:
1
;
// GL_EXT_YUV_target
unsigned
int
vectorSize
:
3
;
// vector return type size.
// Some languages support structures as sample results. Storing the whole structure in the
...
...
@@ -116,6 +117,7 @@ struct TSampler { // misnomer now; includes images, textures without sampler,
combined
=
false
;
sampler
=
false
;
external
=
false
;
yuv
=
false
;
structReturnIndex
=
noReturnStruct
;
// by default, returns a single vec4;
...
...
@@ -186,6 +188,7 @@ struct TSampler { // misnomer now; includes images, textures without sampler,
combined
==
right
.
combined
&&
sampler
==
right
.
sampler
&&
external
==
right
.
external
&&
yuv
==
right
.
yuv
&&
vectorSize
==
right
.
vectorSize
&&
structReturnIndex
==
right
.
structReturnIndex
;
}
...
...
@@ -233,6 +236,9 @@ struct TSampler { // misnomer now; includes images, textures without sampler,
s
.
append
(
"ExternalOES"
);
return
s
;
}
if
(
yuv
)
{
return
"__"
+
s
+
"External2DY2YEXT"
;
}
switch
(
dim
)
{
case
Esd1D
:
s
.
append
(
"1D"
);
break
;
case
Esd2D
:
s
.
append
(
"2D"
);
break
;
...
...
glslang/MachineIndependent/Initialize.cpp
View file @
c28369b7
...
...
@@ -1604,6 +1604,16 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
"
\n
"
);
}
commonBuiltins
.
append
(
"highp ivec2 textureSize(__samplerExternal2DY2YEXT, int lod);"
// GL_EXT_YUV_target
"vec4 texture(__samplerExternal2DY2YEXT, vec2);"
// GL_EXT_YUV_target
"vec4 texture(__samplerExternal2DY2YEXT, vec2, float bias);"
// GL_EXT_YUV_target
"vec4 textureProj(__samplerExternal2DY2YEXT, vec3);"
// GL_EXT_YUV_target
"vec4 textureProj(__samplerExternal2DY2YEXT, vec3, float bias);"
// GL_EXT_YUV_target
"vec4 textureProj(__samplerExternal2DY2YEXT, vec4);"
// GL_EXT_YUV_target
"vec4 textureProj(__samplerExternal2DY2YEXT, vec4, float bias);"
// GL_EXT_YUV_target
"vec4 texelFetch(__samplerExternal2DY2YEXT sampler, ivec2, int lod);"
// GL_EXT_YUV_target
"
\n
"
);
commonBuiltins
.
append
(
"vec4 texture2DGradEXT(sampler2D, vec2, vec2, vec2);"
// GL_EXT_shader_texture_lod
"vec4 texture2DProjGradEXT(sampler2D, vec3, vec2, vec2);"
// GL_EXT_shader_texture_lod
"vec4 texture2DProjGradEXT(sampler2D, vec4, vec2, vec2);"
// GL_EXT_shader_texture_lod
...
...
glslang/MachineIndependent/ParseHelper.cpp
View file @
c28369b7
...
...
@@ -3006,6 +3006,9 @@ void TParseContext::samplerCheck(const TSourceLoc& loc, const TType& type, const
requireExtensions
(
loc
,
1
,
&
E_GL_OES_EGL_image_external_essl3
,
"samplerExternalOES"
);
}
}
if
(
type
.
getSampler
().
yuv
)
{
requireExtensions
(
loc
,
1
,
&
E_GL_EXT_YUV_target
,
"__samplerExternal2DY2YEXT"
);
}
if
(
type
.
getQualifier
().
storage
==
EvqUniform
)
return
;
...
...
glslang/MachineIndependent/Scan.cpp
View file @
c28369b7
...
...
@@ -592,6 +592,8 @@ void TScanContext::fillInKeywordMap()
(
*
KeywordMap
)[
"samplerExternalOES"
]
=
SAMPLEREXTERNALOES
;
// GL_OES_EGL_image_external
(
*
KeywordMap
)[
"__samplerExternal2DY2YEXT"
]
=
SAMPLEREXTERNAL2DY2YEXT
;
// GL_EXT_YUV_target
(
*
KeywordMap
)[
"sampler"
]
=
SAMPLER
;
(
*
KeywordMap
)[
"samplerShadow"
]
=
SAMPLERSHADOW
;
...
...
@@ -1410,6 +1412,13 @@ int TScanContext::tokenizeIdentifier()
return
keyword
;
return
identifierOrType
();
case
SAMPLEREXTERNAL2DY2YEXT
:
afterType
=
true
;
if
(
parseContext
.
symbolTable
.
atBuiltInLevel
()
||
parseContext
.
extensionTurnedOn
(
E_GL_EXT_YUV_target
))
return
keyword
;
return
identifierOrType
();
case
TEXTURE2D
:
case
TEXTURECUBE
:
case
TEXTURECUBEARRAY
:
...
...
glslang/MachineIndependent/SymbolTable.cpp
View file @
c28369b7
...
...
@@ -99,6 +99,8 @@ void TType::buildMangledName(TString& mangledName) const
mangledName
+=
"S"
;
if
(
sampler
.
external
)
mangledName
+=
"E"
;
if
(
sampler
.
yuv
)
mangledName
+=
"Y"
;
switch
(
sampler
.
dim
)
{
case
Esd1D
:
mangledName
+=
"1"
;
break
;
case
Esd2D
:
mangledName
+=
"2"
;
break
;
...
...
glslang/MachineIndependent/Versions.cpp
View file @
c28369b7
...
...
@@ -157,6 +157,7 @@ void TParseVersions::initializeExtensionBehavior()
extensionBehavior
[
E_GL_EXT_frag_depth
]
=
EBhDisable
;
extensionBehavior
[
E_GL_OES_EGL_image_external
]
=
EBhDisable
;
extensionBehavior
[
E_GL_OES_EGL_image_external_essl3
]
=
EBhDisable
;
extensionBehavior
[
E_GL_EXT_YUV_target
]
=
EBhDisable
;
extensionBehavior
[
E_GL_EXT_shader_texture_lod
]
=
EBhDisable
;
extensionBehavior
[
E_GL_EXT_shadow_samplers
]
=
EBhDisable
;
extensionBehavior
[
E_GL_ARB_texture_rectangle
]
=
EBhDisable
;
...
...
@@ -307,6 +308,7 @@ void TParseVersions::getPreamble(std::string& preamble)
"#define GL_EXT_frag_depth 1
\n
"
"#define GL_OES_EGL_image_external 1
\n
"
"#define GL_OES_EGL_image_external_essl3 1
\n
"
"#define GL_EXT_YUV_target 1
\n
"
"#define GL_EXT_shader_texture_lod 1
\n
"
"#define GL_EXT_shadow_samplers 1
\n
"
...
...
glslang/MachineIndependent/Versions.h
View file @
c28369b7
...
...
@@ -110,6 +110,7 @@ const char* const E_GL_OES_standard_derivatives = "GL_OES_standard_deriv
const
char
*
const
E_GL_EXT_frag_depth
=
"GL_EXT_frag_depth"
;
const
char
*
const
E_GL_OES_EGL_image_external
=
"GL_OES_EGL_image_external"
;
const
char
*
const
E_GL_OES_EGL_image_external_essl3
=
"GL_OES_EGL_image_external_essl3"
;
const
char
*
const
E_GL_EXT_YUV_target
=
"GL_EXT_YUV_target"
;
const
char
*
const
E_GL_EXT_shader_texture_lod
=
"GL_EXT_shader_texture_lod"
;
const
char
*
const
E_GL_EXT_shadow_samplers
=
"GL_EXT_shadow_samplers"
;
...
...
glslang/MachineIndependent/glslang.y
View file @
c28369b7
...
...
@@ -180,6 +180,7 @@ extern int yylex(YYSTYPE*, TParseContext&);
%token <lex> SAMPLER2DMS ISAMPLER2DMS USAMPLER2DMS
%token <lex> SAMPLER2DMSARRAY ISAMPLER2DMSARRAY USAMPLER2DMSARRAY
%token <lex> SAMPLEREXTERNALOES
%token <lex> SAMPLEREXTERNAL2DY2YEXT
%token <lex> F16SAMPLER1D F16SAMPLER2D F16SAMPLER3D F16SAMPLER2DRECT F16SAMPLERCUBE
%token <lex> F16SAMPLER1DARRAY F16SAMPLER2DARRAY F16SAMPLERCUBEARRAY
...
...
@@ -3111,6 +3112,12 @@ type_specifier_nonarray
$$.sampler.set(EbtFloat, Esd2D);
$$.sampler.external = true;
}
| SAMPLEREXTERNAL2DY2YEXT { // GL_EXT_YUV_target
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
$$.basicType = EbtSampler;
$$.sampler.set(EbtFloat, Esd2D);
$$.sampler.yuv = true;
}
| SUBPASSINPUT {
parseContext.requireStage($1.loc, EShLangFragment, "subpass input");
$$.init($1.loc, parseContext.symbolTable.atGlobalLevel());
...
...
glslang/MachineIndependent/glslang_tab.cpp
View file @
c28369b7
This source diff could not be displayed because it is too large. You can
view the blob
instead.
glslang/MachineIndependent/glslang_tab.cpp.h
View file @
c28369b7
...
...
@@ -261,193 +261,194 @@ extern int yydebug;
ISAMPLER2DMSARRAY
=
471
,
USAMPLER2DMSARRAY
=
472
,
SAMPLEREXTERNALOES
=
473
,
F16SAMPLER1D
=
474
,
F16SAMPLER2D
=
475
,
F16SAMPLER3D
=
476
,
F16SAMPLER2DRECT
=
477
,
F16SAMPLERCUBE
=
478
,
F16SAMPLER1DARRAY
=
479
,
F16SAMPLER2DARRAY
=
480
,
F16SAMPLERCUBEARRAY
=
481
,
F16SAMPLERBUFFER
=
482
,
F16SAMPLER2DMS
=
483
,
F16SAMPLER2DMSARRAY
=
484
,
F16SAMPLER1DSHADOW
=
485
,
F16SAMPLER2DSHADOW
=
486
,
F16SAMPLER1DARRAYSHADOW
=
487
,
F16SAMPLER2DARRAYSHADOW
=
488
,
F16SAMPLER2DRECTSHADOW
=
489
,
F16SAMPLERCUBESHADOW
=
490
,
F16SAMPLERCUBEARRAYSHADOW
=
491
,
SAMPLER
=
492
,
SAMPLERSHADOW
=
493
,
TEXTURE1D
=
494
,
TEXTURE2D
=
495
,
TEXTURE3D
=
496
,
TEXTURECUBE
=
497
,
TEXTURE1DARRAY
=
498
,
TEXTURE2DARRAY
=
499
,
ITEXTURE1D
=
500
,
ITEXTURE2D
=
501
,
ITEXTURE3D
=
502
,
ITEXTURECUBE
=
503
,
ITEXTURE1DARRAY
=
504
,
ITEXTURE2DARRAY
=
505
,
UTEXTURE1D
=
506
,
UTEXTURE2D
=
507
,
UTEXTURE3D
=
508
,
UTEXTURECUBE
=
509
,
UTEXTURE1DARRAY
=
510
,
UTEXTURE2DARRAY
=
511
,
TEXTURE2DRECT
=
512
,
ITEXTURE2DRECT
=
513
,
UTEXTURE2DRECT
=
514
,
TEXTUREBUFFER
=
515
,
ITEXTUREBUFFER
=
516
,
UTEXTUREBUFFER
=
517
,
TEXTURECUBEARRAY
=
518
,
ITEXTURECUBEARRAY
=
519
,
UTEXTURECUBEARRAY
=
520
,
TEXTURE2DMS
=
521
,
ITEXTURE2DMS
=
522
,
UTEXTURE2DMS
=
523
,
TEXTURE2DMSARRAY
=
524
,
ITEXTURE2DMSARRAY
=
525
,
UTEXTURE2DMSARRAY
=
526
,
F16TEXTURE1D
=
527
,
F16TEXTURE2D
=
528
,
F16TEXTURE3D
=
529
,
F16TEXTURE2DRECT
=
530
,
F16TEXTURECUBE
=
531
,
F16TEXTURE1DARRAY
=
532
,
F16TEXTURE2DARRAY
=
533
,
F16TEXTURECUBEARRAY
=
534
,
F16TEXTUREBUFFER
=
535
,
F16TEXTURE2DMS
=
536
,
F16TEXTURE2DMSARRAY
=
537
,
SUBPASSINPUT
=
538
,
SUBPASSINPUTMS
=
539
,
ISUBPASSINPUT
=
540
,
ISUBPASSINPUTMS
=
541
,
USUBPASSINPUT
=
542
,
USUBPASSINPUTMS
=
543
,
F16SUBPASSINPUT
=
544
,
F16SUBPASSINPUTMS
=
545
,
IMAGE1D
=
546
,
IIMAGE1D
=
547
,
UIMAGE1D
=
548
,
IMAGE2D
=
549
,
IIMAGE2D
=
550
,
UIMAGE2D
=
551
,
IMAGE3D
=
552
,
IIMAGE3D
=
553
,
UIMAGE3D
=
554
,
IMAGE2DRECT
=
555
,
IIMAGE2DRECT
=
556
,
UIMAGE2DRECT
=
557
,
IMAGECUBE
=
558
,
IIMAGECUBE
=
559
,
UIMAGECUBE
=
560
,
IMAGEBUFFER
=
561
,
IIMAGEBUFFER
=
562
,
UIMAGEBUFFER
=
563
,
IMAGE1DARRAY
=
564
,
IIMAGE1DARRAY
=
565
,
UIMAGE1DARRAY
=
566
,
IMAGE2DARRAY
=
567
,
IIMAGE2DARRAY
=
568
,
UIMAGE2DARRAY
=
569
,
IMAGECUBEARRAY
=
570
,
IIMAGECUBEARRAY
=
571
,
UIMAGECUBEARRAY
=
572
,
IMAGE2DMS
=
573
,
IIMAGE2DMS
=
574
,
UIMAGE2DMS
=
575
,
IMAGE2DMSARRAY
=
576
,
IIMAGE2DMSARRAY
=
577
,
UIMAGE2DMSARRAY
=
578
,
F16IMAGE1D
=
579
,
F16IMAGE2D
=
580
,
F16IMAGE3D
=
581
,
F16IMAGE2DRECT
=
582
,
F16IMAGECUBE
=
583
,
F16IMAGE1DARRAY
=
584
,
F16IMAGE2DARRAY
=
585
,
F16IMAGECUBEARRAY
=
586
,
F16IMAGEBUFFER
=
587
,
F16IMAGE2DMS
=
588
,
F16IMAGE2DMSARRAY
=
589
,
STRUCT
=
590
,
VOID
=
591
,
WHILE
=
592
,
IDENTIFIER
=
593
,
TYPE_NAME
=
594
,
FLOATCONSTANT
=
595
,
DOUBLECONSTANT
=
596
,
INT16CONSTANT
=
597
,
UINT16CONSTANT
=
598
,
INT32CONSTANT
=
599
,
UINT32CONSTANT
=
600
,
INTCONSTANT
=
601
,
UINTCONSTANT
=
602
,
INT64CONSTANT
=
603
,
UINT64CONSTANT
=
604
,
BOOLCONSTANT
=
605
,
FLOAT16CONSTANT
=
606
,
LEFT_OP
=
607
,
RIGHT_OP
=
608
,
INC_OP
=
609
,
DEC_OP
=
610
,
LE_OP
=
611
,
GE_OP
=
612
,
EQ_OP
=
613
,
NE_OP
=
614
,
AND_OP
=
615
,
OR_OP
=
616
,
XOR_OP
=
617
,
MUL_ASSIGN
=
618
,
DIV_ASSIGN
=
619
,
ADD_ASSIGN
=
620
,
MOD_ASSIGN
=
621
,
LEFT_ASSIGN
=
622
,
RIGHT_ASSIGN
=
623
,
AND_ASSIGN
=
624
,
XOR_ASSIGN
=
625
,
OR_ASSIGN
=
626
,
SUB_ASSIGN
=
627
,
LEFT_PAREN
=
628
,
RIGHT_PAREN
=
629
,
LEFT_BRACKET
=
630
,
RIGHT_BRACKET
=
631
,
LEFT_BRACE
=
632
,
RIGHT_BRACE
=
633
,
DOT
=
634
,
COMMA
=
635
,
COLON
=
636
,
EQUAL
=
637
,
SEMICOLON
=
638
,
BANG
=
639
,
DASH
=
640
,
TILDE
=
641
,
PLUS
=
642
,
STAR
=
643
,
SLASH
=
644
,
PERCENT
=
645
,
LEFT_ANGLE
=
646
,
RIGHT_ANGLE
=
647
,
VERTICAL_BAR
=
648
,
CARET
=
649
,
AMPERSAND
=
650
,
QUESTION
=
651
,
INVARIANT
=
652
,
PRECISE
=
653
,
HIGH_PRECISION
=
654
,
MEDIUM_PRECISION
=
655
,
LOW_PRECISION
=
656
,
PRECISION
=
657
,
PACKED
=
658
,
RESOURCE
=
659
,
SUPERP
=
660
SAMPLEREXTERNAL2DY2YEXT
=
474
,
F16SAMPLER1D
=
475
,
F16SAMPLER2D
=
476
,
F16SAMPLER3D
=
477
,
F16SAMPLER2DRECT
=
478
,
F16SAMPLERCUBE
=
479
,
F16SAMPLER1DARRAY
=
480
,
F16SAMPLER2DARRAY
=
481
,
F16SAMPLERCUBEARRAY
=
482
,
F16SAMPLERBUFFER
=
483
,
F16SAMPLER2DMS
=
484
,
F16SAMPLER2DMSARRAY
=
485
,
F16SAMPLER1DSHADOW
=
486
,
F16SAMPLER2DSHADOW
=
487
,
F16SAMPLER1DARRAYSHADOW
=
488
,
F16SAMPLER2DARRAYSHADOW
=
489
,
F16SAMPLER2DRECTSHADOW
=
490
,
F16SAMPLERCUBESHADOW
=
491
,
F16SAMPLERCUBEARRAYSHADOW
=
492
,
SAMPLER
=
493
,
SAMPLERSHADOW
=
494
,
TEXTURE1D
=
495
,
TEXTURE2D
=
496
,
TEXTURE3D
=
497
,
TEXTURECUBE
=
498
,
TEXTURE1DARRAY
=
499
,
TEXTURE2DARRAY
=
500
,
ITEXTURE1D
=
501
,
ITEXTURE2D
=
502
,
ITEXTURE3D
=
503
,
ITEXTURECUBE
=
504
,
ITEXTURE1DARRAY
=
505
,
ITEXTURE2DARRAY
=
506
,
UTEXTURE1D
=
507
,
UTEXTURE2D
=
508
,
UTEXTURE3D
=
509
,
UTEXTURECUBE
=
510
,
UTEXTURE1DARRAY
=
511
,
UTEXTURE2DARRAY
=
512
,
TEXTURE2DRECT
=
513
,
ITEXTURE2DRECT
=
514
,
UTEXTURE2DRECT
=
515
,
TEXTUREBUFFER
=
516
,
ITEXTUREBUFFER
=
517
,
UTEXTUREBUFFER
=
518
,
TEXTURECUBEARRAY
=
519
,
ITEXTURECUBEARRAY
=
520
,
UTEXTURECUBEARRAY
=
521
,
TEXTURE2DMS
=
522
,
ITEXTURE2DMS
=
523
,
UTEXTURE2DMS
=
524
,
TEXTURE2DMSARRAY
=
525
,
ITEXTURE2DMSARRAY
=
526
,
UTEXTURE2DMSARRAY
=
527
,
F16TEXTURE1D
=
528
,
F16TEXTURE2D
=
529
,
F16TEXTURE3D
=
530
,
F16TEXTURE2DRECT
=
531
,
F16TEXTURECUBE
=
532
,
F16TEXTURE1DARRAY
=
533
,
F16TEXTURE2DARRAY
=
534
,
F16TEXTURECUBEARRAY
=
535
,
F16TEXTUREBUFFER
=
536
,
F16TEXTURE2DMS
=
537
,
F16TEXTURE2DMSARRAY
=
538
,
SUBPASSINPUT
=
539
,
SUBPASSINPUTMS
=
540
,
ISUBPASSINPUT
=
541
,
ISUBPASSINPUTMS
=
542
,
USUBPASSINPUT
=
543
,
USUBPASSINPUTMS
=
544
,
F16SUBPASSINPUT
=
545
,
F16SUBPASSINPUTMS
=
546
,
IMAGE1D
=
547
,
IIMAGE1D
=
548
,
UIMAGE1D
=
549
,
IMAGE2D
=
550
,
IIMAGE2D
=
551
,
UIMAGE2D
=
552
,
IMAGE3D
=
553
,
IIMAGE3D
=
554
,
UIMAGE3D
=
555
,
IMAGE2DRECT
=
556
,
IIMAGE2DRECT
=
557
,
UIMAGE2DRECT
=
558
,
IMAGECUBE
=
559
,
IIMAGECUBE
=
560
,
UIMAGECUBE
=
561
,
IMAGEBUFFER
=
562
,
IIMAGEBUFFER
=
563
,
UIMAGEBUFFER
=
564
,
IMAGE1DARRAY
=
565
,
IIMAGE1DARRAY
=
566
,
UIMAGE1DARRAY
=
567
,
IMAGE2DARRAY
=
568
,
IIMAGE2DARRAY
=
569
,
UIMAGE2DARRAY
=
570
,
IMAGECUBEARRAY
=
571
,
IIMAGECUBEARRAY
=
572
,
UIMAGECUBEARRAY
=
573
,
IMAGE2DMS
=
574
,
IIMAGE2DMS
=
575
,
UIMAGE2DMS
=
576
,
IMAGE2DMSARRAY
=
577
,
IIMAGE2DMSARRAY
=
578
,
UIMAGE2DMSARRAY
=
579
,
F16IMAGE1D
=
580
,
F16IMAGE2D
=
581
,
F16IMAGE3D
=
582
,
F16IMAGE2DRECT
=
583
,
F16IMAGECUBE
=
584
,
F16IMAGE1DARRAY
=
585
,
F16IMAGE2DARRAY
=
586
,
F16IMAGECUBEARRAY
=
587
,
F16IMAGEBUFFER
=
588
,
F16IMAGE2DMS
=
589
,
F16IMAGE2DMSARRAY
=
590
,
STRUCT
=
591
,
VOID
=
592
,
WHILE
=
593
,
IDENTIFIER
=
594
,
TYPE_NAME
=
595
,
FLOATCONSTANT
=
596
,
DOUBLECONSTANT
=
597
,
INT16CONSTANT
=
598
,
UINT16CONSTANT
=
599
,
INT32CONSTANT
=
600
,
UINT32CONSTANT
=
601
,
INTCONSTANT
=
602
,
UINTCONSTANT
=
603
,
INT64CONSTANT
=
604
,
UINT64CONSTANT
=
605
,
BOOLCONSTANT
=
606
,
FLOAT16CONSTANT
=
607
,
LEFT_OP
=
608
,
RIGHT_OP
=
609
,
INC_OP
=
610
,
DEC_OP
=
611
,
LE_OP
=
612
,
GE_OP
=
613
,
EQ_OP
=
614
,
NE_OP
=
615
,
AND_OP
=
616
,
OR_OP
=
617
,
XOR_OP
=
618
,
MUL_ASSIGN
=
619
,
DIV_ASSIGN
=
620
,
ADD_ASSIGN
=
621
,
MOD_ASSIGN
=
622
,
LEFT_ASSIGN
=
623
,
RIGHT_ASSIGN
=
624
,
AND_ASSIGN
=
625
,
XOR_ASSIGN
=
626
,
OR_ASSIGN
=
627
,
SUB_ASSIGN
=
628
,
LEFT_PAREN
=
629
,
RIGHT_PAREN
=
630
,
LEFT_BRACKET
=
631
,
RIGHT_BRACKET
=
632
,
LEFT_BRACE
=
633
,
RIGHT_BRACE
=
634
,
DOT
=
635
,
COMMA
=
636
,
COLON
=
637
,
EQUAL
=
638
,
SEMICOLON
=
639
,
BANG
=
640
,
DASH
=
641
,
TILDE
=
642
,
PLUS
=
643
,
STAR
=
644
,
SLASH
=
645
,
PERCENT
=
646
,
LEFT_ANGLE
=
647
,
RIGHT_ANGLE
=
648
,
VERTICAL_BAR
=
649
,
CARET
=
650
,
AMPERSAND
=
651
,
QUESTION
=
652
,
INVARIANT
=
653
,
PRECISE
=
654
,
HIGH_PRECISION
=
655
,
MEDIUM_PRECISION
=
656
,
LOW_PRECISION
=
657
,
PRECISION
=
658
,
PACKED
=
659
,
RESOURCE
=
660
,
SUPERP
=
661
};
#endif
...
...
@@ -456,7 +457,7 @@ extern int yydebug;
union
YYSTYPE
{
#line 7
0
"MachineIndependent/glslang.y"
/* yacc.c:1909 */
#line 7
1
"MachineIndependent/glslang.y"
/* yacc.c:1909 */
struct
{
glslang
::
TSourceLoc
loc
;
...
...
@@ -491,7 +492,7 @@ union YYSTYPE
};
}
interm
;
#line 49
5
"MachineIndependent/glslang_tab.cpp.h"
/* yacc.c:1909 */
#line 49
6
"MachineIndependent/glslang_tab.cpp.h"
/* yacc.c:1909 */
};
typedef
union
YYSTYPE
YYSTYPE
;
...
...
gtests/AST.FromFile.cpp
View file @
c28369b7
...
...
@@ -113,6 +113,7 @@ INSTANTIATE_TEST_CASE_P(
"300operations.frag"
,
"300block.frag"
,
"300samplerExternal.frag"
,
"300samplerExternalYUV.frag"
,
"310.comp"
,
"310.vert"
,
"310.geom"
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment