Add support for extension GL_ARB_shader_storage_buffer_object (#2184)
Enable below features for GL Core version 420: * layout qualifier "std430" * storage qualifier "buffer" * atomic memory functions
This commit is contained in:
parent
02c70ad10e
commit
7d65f09b83
7 changed files with 105 additions and 12 deletions
|
|
@ -17,3 +17,26 @@ uniform writeonly image2D i2D;
|
|||
ivec2 iv2dim = imageSize(i2D); // ERROR: imageSize called without enabling GL_ARB_shader_image_size extension
|
||||
#extension GL_ARB_shader_image_size : enable
|
||||
ivec2 iv2dim1 = imageSize(i2D);
|
||||
|
||||
#extension GL_ARB_shader_storage_buffer_object : enable
|
||||
|
||||
layout(binding = 0,std430) buffer Buffer
|
||||
{
|
||||
int atomi;
|
||||
uint atomu;
|
||||
};
|
||||
|
||||
void atomicOpPass()
|
||||
{
|
||||
int origi = atomicAdd(atomi, 3);
|
||||
uint origu = atomicAnd(atomu, 7u);
|
||||
origi = atomicExchange(atomi, 4);
|
||||
origu = atomicCompSwap(atomu, 10u, 8u);
|
||||
}
|
||||
|
||||
#extension GL_ARB_shader_storage_buffer_object : disable
|
||||
|
||||
layout(binding = 1,std430) buffer BufferFail // Error std430 and "buffer" block support disabled
|
||||
{
|
||||
int atom1i;
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue