31 lines
775 B
Plaintext
31 lines
775 B
Plaintext
#version 440 core
|
|
layout(std430) buffer;
|
|
#ifdef INT
|
|
layout(set=0, binding=0) writeonly uniform iimage2D uOutput;
|
|
layout(set=0, binding=1) uniform constBuffer{
|
|
ivec4 value;
|
|
ivec4 imageSize;
|
|
} uConstant;
|
|
#else
|
|
layout(set=0, binding=0) writeonly uniform image2D uOutput;
|
|
layout(set=0, binding=1) uniform constBuffer{
|
|
vec4 value;
|
|
ivec4 imageSize;
|
|
} uConstant;
|
|
#endif
|
|
|
|
layout (local_size_x = 256, local_size_y = 1, local_size_z = 1) in;
|
|
|
|
void main()
|
|
{
|
|
ivec3 posTmp = ivec3(gl_GlobalInvocationID);
|
|
if (posTmp.x < uConstant.imageSize.w)
|
|
{
|
|
int offset = posTmp.x;
|
|
|
|
int imageX = offset % uConstant.imageSize.x;
|
|
int imageY = offset / uConstant.imageSize.x;
|
|
imageStore(uOutput, ivec2(imageX, imageY), uConstant.value);
|
|
}
|
|
}
|