Merge pull request #1675 from nicebyte/ext_yuv_target
Add support for GL_EXT_YUV_target
This commit is contained in:
		
						commit
						c9e03360e2
					
				
							
								
								
									
										38
									
								
								Test/300samplerExternalYUV.frag
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								Test/300samplerExternalYUV.frag
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,38 @@
 | 
			
		||||
#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
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										192
									
								
								Test/baseResults/300samplerExternalYUV.frag.out
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										192
									
								
								Test/baseResults/300samplerExternalYUV.frag.out
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,192 @@
 | 
			
		||||
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)
 | 
			
		||||
 | 
			
		||||
@ -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;
 | 
			
		||||
 | 
			
		||||
@ -1603,6 +1603,16 @@ void TBuiltIns::initialize(int version, EProfile profile, const SpvVersion& spvV
 | 
			
		||||
                    "vec4 texelFetch(samplerExternalOES, ivec2, int lod);"    // GL_OES_EGL_image_external_essl3
 | 
			
		||||
                "\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
 | 
			
		||||
 | 
			
		||||
@ -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;
 | 
			
		||||
 | 
			
		||||
@ -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:
 | 
			
		||||
 | 
			
		||||
@ -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;
 | 
			
		||||
 | 
			
		||||
@ -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"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -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";
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -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());
 | 
			
		||||
 | 
			
		||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@ -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 70 "MachineIndependent/glslang.y" /* yacc.c:1909  */
 | 
			
		||||
#line 71 "MachineIndependent/glslang.y" /* yacc.c:1909  */
 | 
			
		||||
 | 
			
		||||
    struct {
 | 
			
		||||
        glslang::TSourceLoc loc;
 | 
			
		||||
@ -491,7 +492,7 @@ union YYSTYPE
 | 
			
		||||
        };
 | 
			
		||||
    } interm;
 | 
			
		||||
 | 
			
		||||
#line 495 "MachineIndependent/glslang_tab.cpp.h" /* yacc.c:1909  */
 | 
			
		||||
#line 496 "MachineIndependent/glslang_tab.cpp.h" /* yacc.c:1909  */
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
typedef union YYSTYPE YYSTYPE;
 | 
			
		||||
 | 
			
		||||
@ -113,6 +113,7 @@ INSTANTIATE_TEST_CASE_P(
 | 
			
		||||
        "300operations.frag",
 | 
			
		||||
        "300block.frag",
 | 
			
		||||
        "300samplerExternal.frag",
 | 
			
		||||
        "300samplerExternalYUV.frag",
 | 
			
		||||
        "310.comp",
 | 
			
		||||
        "310.vert",
 | 
			
		||||
        "310.geom",
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user