#version 450 core\r
layout(local_size_x = 0) in; // ERROR, 0 not allowed\r
+\r
+layout(binding=10000) uniform atomic_uint; // ERROR\r
+\r
void main()\r
{\r
shared float f; // ERROR shared must be global\r
450.comp
ERROR: 0:2: 'local_size_x' : must be at least 1
-ERROR: 0:5: 'shared' : not allowed in nested scope
-ERROR: 2 compilation errors. No code generated.
+ERROR: 0:4: 'binding' : atomic_uint binding is too large
+ERROR: 0:8: 'shared' : not allowed in nested scope
+ERROR: 3 compilation errors. No code generated.
Shader version: 450
local_size = (1, 1, 1)
ERROR: node is still EOpNull!
-0:3 Function Definition: main( ( global void)
-0:3 Function Parameters:
+0:6 Function Definition: main( ( global void)
+0:6 Function Parameters:
0:? Linker Objects
Shader version: 450
local_size = (1, 1, 1)
ERROR: node is still EOpNull!
-0:3 Function Definition: main( ( global void)
-0:3 Function Parameters:
+0:6 Function Definition: main( ( global void)
+0:6 Function Parameters:
0:? Linker Objects
void TParseContext::declareTypeDefaults(const TSourceLoc& loc, const TPublicType& publicType)
{
#ifndef GLSLANG_WEB
- if (publicType.basicType == EbtAtomicUint && publicType.qualifier.hasBinding() &&
- publicType.qualifier.hasOffset()) {
+ if (publicType.basicType == EbtAtomicUint && publicType.qualifier.hasBinding()) {
if (publicType.qualifier.layoutBinding >= (unsigned int)resources.maxAtomicCounterBindings) {
error(loc, "atomic_uint binding is too large", "binding", "");
return;
}
- atomicUintOffsets[publicType.qualifier.layoutBinding] = publicType.qualifier.layoutOffset;
+
+ if(publicType.qualifier.hasOffset()) {
+ atomicUintOffsets[publicType.qualifier.layoutBinding] = publicType.qualifier.layoutOffset;
+ }
return;
}