#version 460 #extension GL_NV_gpu_shader5 : enable layout(packed, binding=0) buffer image { uint8_t color[]; } ; // No local name for this one layout(local_size_x = 1) in; uniform uint width; void main(){ // if(gl_WorkGroupID.x > 1000000) // color[gl_WorkGroupID.x] &= 0xff00ff00; uint x_coord = gl_WorkGroupID.x % width; uint y_coord = gl_WorkGroupID.x / width; uint pix_number = gl_WorkGroupID.x * 4; color[pix_number + 2] += uint8_t(3); color[pix_number + 1] += uint8_t(5); color[pix_number + 0] += uint8_t(7); /* if(y_coord > 1000 && x_coord > 1000 && x_coord < 2000) color[gl_WorkGroupID.x] = 0xff0000ff; if(y_coord > 2000 && x_coord > 1000 && x_coord < 2000) color[gl_WorkGroupID.x] = 0xff00ff00; if(y_coord > 3000 && x_coord > 1000 && x_coord < 2000) color[gl_WorkGroupID.x] = 0xffff0000; // color[gl_WorkGroupID.x] += color[gl_WorkGroupID.x] >> 8; */ }