Merge pull request #2609 from ZhiqianXia/Feature2
TextureOffset not support sampler2DArrayShadow sampler until 430.
This commit is contained in:
commit
60ce877de0
63
Test/baseResults/textureoffset_sampler2darrayshadow.vert.out
Normal file
63
Test/baseResults/textureoffset_sampler2darrayshadow.vert.out
Normal file
@ -0,0 +1,63 @@
|
||||
textureoffset_sampler2darrayshadow.vert
|
||||
ERROR: 0:9: 'sampler' : TextureOffset does not support sampler2DArrayShadow : ES Profile
|
||||
ERROR: 1 compilation errors. No code generated.
|
||||
|
||||
|
||||
Shader version: 300
|
||||
ERROR: node is still EOpNull!
|
||||
0:7 Function Definition: main( ( global void)
|
||||
0:7 Function Parameters:
|
||||
0:9 Sequence
|
||||
0:9 move second child to first child ( temp highp 4-component vector of float)
|
||||
0:9 'gl_Position' ( gl_Position highp 4-component vector of float Position)
|
||||
0:9 Construct vec4 ( temp highp 4-component vector of float)
|
||||
0:9 textureOffset ( global mediump float)
|
||||
0:9 's' ( uniform mediump sampler2DArrayShadow)
|
||||
0:9 Constant:
|
||||
0:9 0.000000
|
||||
0:9 0.000000
|
||||
0:9 0.000000
|
||||
0:9 0.000000
|
||||
0:9 Constant:
|
||||
0:9 0 (const int)
|
||||
0:9 0 (const int)
|
||||
0:10 move second child to first child ( temp highp 4-component vector of float)
|
||||
0:10 'gl_Position' ( gl_Position highp 4-component vector of float Position)
|
||||
0:10 'dEQP_Position' ( in highp 4-component vector of float)
|
||||
0:? Linker Objects
|
||||
0:? 'dEQP_Position' ( in highp 4-component vector of float)
|
||||
0:? 's' ( uniform mediump sampler2DArrayShadow)
|
||||
0:? 'gl_VertexID' ( gl_VertexId highp int VertexId)
|
||||
0:? 'gl_InstanceID' ( gl_InstanceId highp int InstanceId)
|
||||
|
||||
|
||||
Linked vertex stage:
|
||||
|
||||
|
||||
Shader version: 300
|
||||
ERROR: node is still EOpNull!
|
||||
0:7 Function Definition: main( ( global void)
|
||||
0:7 Function Parameters:
|
||||
0:9 Sequence
|
||||
0:9 move second child to first child ( temp highp 4-component vector of float)
|
||||
0:9 'gl_Position' ( gl_Position highp 4-component vector of float Position)
|
||||
0:9 Construct vec4 ( temp highp 4-component vector of float)
|
||||
0:9 textureOffset ( global mediump float)
|
||||
0:9 's' ( uniform mediump sampler2DArrayShadow)
|
||||
0:9 Constant:
|
||||
0:9 0.000000
|
||||
0:9 0.000000
|
||||
0:9 0.000000
|
||||
0:9 0.000000
|
||||
0:9 Constant:
|
||||
0:9 0 (const int)
|
||||
0:9 0 (const int)
|
||||
0:10 move second child to first child ( temp highp 4-component vector of float)
|
||||
0:10 'gl_Position' ( gl_Position highp 4-component vector of float Position)
|
||||
0:10 'dEQP_Position' ( in highp 4-component vector of float)
|
||||
0:? Linker Objects
|
||||
0:? 'dEQP_Position' ( in highp 4-component vector of float)
|
||||
0:? 's' ( uniform mediump sampler2DArrayShadow)
|
||||
0:? 'gl_VertexID' ( gl_VertexId highp int VertexId)
|
||||
0:? 'gl_InstanceID' ( gl_InstanceId highp int InstanceId)
|
||||
|
11
Test/textureoffset_sampler2darrayshadow.vert
Normal file
11
Test/textureoffset_sampler2darrayshadow.vert
Normal file
@ -0,0 +1,11 @@
|
||||
#version 300 es
|
||||
precision mediump float;
|
||||
in highp vec4 dEQP_Position;
|
||||
|
||||
uniform mediump sampler2DArrayShadow s;
|
||||
|
||||
void main()
|
||||
{
|
||||
gl_Position = vec4(textureOffset(s, vec4(0), ivec2(0)));
|
||||
gl_Position = dEQP_Position;
|
||||
}
|
@ -115,6 +115,7 @@ struct TSampler { // misnomer now; includes images, textures without sampler,
|
||||
#endif
|
||||
|
||||
bool is1D() const { return dim == Esd1D; }
|
||||
bool is2D() const { return dim == Esd2D; }
|
||||
bool isBuffer() const { return dim == EsdBuffer; }
|
||||
bool isRect() const { return dim == EsdRect; }
|
||||
bool isSubpass() const { return dim == EsdSubpass; }
|
||||
|
@ -2191,6 +2191,16 @@ void TParseContext::builtInOpCheck(const TSourceLoc& loc, const TFunction& fnCan
|
||||
"[gl_MinProgramTexelOffset, gl_MaxProgramTexelOffset]");
|
||||
}
|
||||
}
|
||||
|
||||
if (callNode.getOp() == EOpTextureOffset) {
|
||||
TSampler s = arg0->getType().getSampler();
|
||||
if (s.is2D() && s.isArrayed() && s.isShadow()) {
|
||||
if (isEsProfile())
|
||||
error(loc, "TextureOffset does not support sampler2DArrayShadow : ", "sampler", "ES Profile");
|
||||
else if (version <= 420)
|
||||
error(loc, "TextureOffset does not support sampler2DArrayShadow : ", "sampler", "version <= 420");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
break;
|
||||
|
@ -281,6 +281,7 @@ INSTANTIATE_TEST_SUITE_P(
|
||||
"terminate.frag",
|
||||
"terminate.vert",
|
||||
"negativeWorkGroupSize.comp",
|
||||
"textureoffset_sampler2darrayshadow.vert",
|
||||
})),
|
||||
FileNameAsCustomTestSuffix
|
||||
);
|
||||
|
Loading…
x
Reference in New Issue
Block a user