mirror of
https://github.com/libretro/glslang.git
synced 2025-03-01 11:46:57 +00:00
Front-end: Complete GL_ARB_compute_shader, previous commit was missing new barriers.
This amends the previous commit, which ommitted barriers in version 420 for compute shader.
This commit is contained in:
parent
d94c003fb7
commit
548c3adecd
@ -19,4 +19,12 @@ void main()
|
||||
gl_MaxComputeImageUniforms +
|
||||
gl_MaxComputeAtomicCounters +
|
||||
gl_MaxComputeAtomicCounterBuffers;
|
||||
|
||||
barrier();
|
||||
memoryBarrier();
|
||||
memoryBarrierAtomicCounter();
|
||||
memoryBarrierBuffer();
|
||||
memoryBarrierImage();
|
||||
memoryBarrierShared();
|
||||
groupMemoryBarrier();
|
||||
}
|
@ -46,6 +46,13 @@ ERROR: node is still EOpNull!
|
||||
0:17 'sfoo' (shared 3-component vector of float)
|
||||
0:17 Constant:
|
||||
0:17 1057.000000
|
||||
0:23 Barrier (global void)
|
||||
0:24 MemoryBarrier (global void)
|
||||
0:25 MemoryBarrierAtomicCounter (global void)
|
||||
0:26 MemoryBarrierBuffer (global void)
|
||||
0:27 MemoryBarrierImage (global void)
|
||||
0:28 MemoryBarrierShared (global void)
|
||||
0:29 GroupMemoryBarrier (global void)
|
||||
0:? Linker Objects
|
||||
0:? 'gl_WorkGroupSize' (const 3-component vector of uint WorkGroupSize)
|
||||
0:? 2 (const uint)
|
||||
@ -99,6 +106,13 @@ ERROR: node is still EOpNull!
|
||||
0:17 'sfoo' (shared 3-component vector of float)
|
||||
0:17 Constant:
|
||||
0:17 1057.000000
|
||||
0:23 Barrier (global void)
|
||||
0:24 MemoryBarrier (global void)
|
||||
0:25 MemoryBarrierAtomicCounter (global void)
|
||||
0:26 MemoryBarrierBuffer (global void)
|
||||
0:27 MemoryBarrierImage (global void)
|
||||
0:28 MemoryBarrierShared (global void)
|
||||
0:29 GroupMemoryBarrier (global void)
|
||||
0:? Linker Objects
|
||||
0:? 'gl_WorkGroupSize' (const 3-component vector of uint WorkGroupSize)
|
||||
0:? 2 (const uint)
|
||||
|
@ -1572,7 +1572,7 @@ void TBuiltIns::initialize(int version, EProfile profile, int spv, int vulkan)
|
||||
stageBuiltins[EShLangTessControl].append(
|
||||
"void barrier();"
|
||||
);
|
||||
if ((profile != EEsProfile && version >= 430) || esBarrier)
|
||||
if ((profile != EEsProfile && version >= 420) || esBarrier)
|
||||
stageBuiltins[EShLangCompute].append(
|
||||
"void barrier();"
|
||||
);
|
||||
@ -1580,7 +1580,7 @@ void TBuiltIns::initialize(int version, EProfile profile, int spv, int vulkan)
|
||||
commonBuiltins.append(
|
||||
"void memoryBarrier();"
|
||||
);
|
||||
if ((profile != EEsProfile && version >= 430) || esBarrier) {
|
||||
if ((profile != EEsProfile && version >= 420) || esBarrier) {
|
||||
commonBuiltins.append(
|
||||
"void memoryBarrierAtomicCounter();"
|
||||
"void memoryBarrierBuffer();"
|
||||
@ -3912,6 +3912,13 @@ void TBuiltIns::identifyBuiltIns(int version, EProfile profile, int spv, int vul
|
||||
symbolTable.setVariableExtensions("gl_MaxComputeImageUniforms", 1, &E_GL_ARB_compute_shader);
|
||||
symbolTable.setVariableExtensions("gl_MaxComputeAtomicCounters", 1, &E_GL_ARB_compute_shader);
|
||||
symbolTable.setVariableExtensions("gl_MaxComputeAtomicCounterBuffers", 1, &E_GL_ARB_compute_shader);
|
||||
|
||||
symbolTable.setFunctionExtensions("barrier", 1, &E_GL_ARB_compute_shader);
|
||||
symbolTable.setFunctionExtensions("memoryBarrierAtomicCounter", 1, &E_GL_ARB_compute_shader);
|
||||
symbolTable.setFunctionExtensions("memoryBarrierBuffer", 1, &E_GL_ARB_compute_shader);
|
||||
symbolTable.setFunctionExtensions("memoryBarrierImage", 1, &E_GL_ARB_compute_shader);
|
||||
symbolTable.setFunctionExtensions("memoryBarrierShared", 1, &E_GL_ARB_compute_shader);
|
||||
symbolTable.setFunctionExtensions("groupMemoryBarrier", 1, &E_GL_ARB_compute_shader);
|
||||
}
|
||||
break;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user