mirror of
https://github.com/KhronosGroup/glslang
synced 2024-11-08 11:30:06 +00:00
Fix off-by-1 bug in gl_MaxCombinedTextureImageUnits check
The problem was only with arrays of samplers. Fixed #2552
This commit is contained in:
parent
3839066ee4
commit
051fbbb69c
@ -159,3 +159,4 @@ void qlod()
|
||||
}
|
||||
|
||||
layout(binding=0) writeonly uniform image1D badArray[];
|
||||
layout(binding = 74) uniform sampler2D u_sampler0[6];
|
||||
|
@ -306,6 +306,7 @@ ERROR: node is still EOpNull!
|
||||
0:? 'samp1D' ( uniform sampler1D)
|
||||
0:? 'samp1Ds' ( uniform sampler1DShadow)
|
||||
0:? 'badArray' (layout( binding=0) writeonly uniform unsized 1-element array of image1D)
|
||||
0:? 'u_sampler0' (layout( binding=74) uniform 6-element array of sampler2D)
|
||||
0:? 'gl_VertexID' ( gl_VertexId int VertexId)
|
||||
0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
|
||||
|
||||
@ -388,6 +389,7 @@ ERROR: node is still EOpNull!
|
||||
0:? 'samp1D' ( uniform sampler1D)
|
||||
0:? 'samp1Ds' ( uniform sampler1DShadow)
|
||||
0:? 'badArray' (layout( binding=0) writeonly uniform 1-element array of image1D)
|
||||
0:? 'u_sampler0' (layout( binding=74) uniform 6-element array of sampler2D)
|
||||
0:? 'gl_VertexID' ( gl_VertexId int VertexId)
|
||||
0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
|
||||
|
||||
|
@ -5913,16 +5913,12 @@ void TParseContext::layoutTypeCheck(const TSourceLoc& loc, const TType& type)
|
||||
if (type.getBasicType() == EbtSampler) {
|
||||
int lastBinding = qualifier.layoutBinding;
|
||||
if (type.isArray()) {
|
||||
if (spvVersion.vulkan > 0)
|
||||
lastBinding += 1;
|
||||
else {
|
||||
if (spvVersion.vulkan == 0) {
|
||||
if (type.isSizedArray())
|
||||
lastBinding += type.getCumulativeArraySize();
|
||||
lastBinding += (type.getCumulativeArraySize() - 1);
|
||||
else {
|
||||
lastBinding += 1;
|
||||
#ifndef GLSLANG_WEB
|
||||
if (spvVersion.vulkan == 0)
|
||||
warn(loc, "assuming binding count of one for compile-time checking of binding numbers for unsized array", "[]", "");
|
||||
warn(loc, "assuming binding count of one for compile-time checking of binding numbers for unsized array", "[]", "");
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user