2018-04-11 13:07:04 +02:00
|
|
|
#version 450
|
|
|
|
|
|
|
|
layout(
|
|
|
|
local_size_x = 64,
|
|
|
|
local_size_y = 1,
|
|
|
|
local_size_z = 1) in;
|
|
|
|
|
|
|
|
layout(binding = 0)
|
2018-04-11 17:16:18 +02:00
|
|
|
writeonly uniform uimage1D dst;
|
2018-04-11 13:07:04 +02:00
|
|
|
|
|
|
|
layout(push_constant)
|
|
|
|
uniform u_info_t {
|
|
|
|
uvec4 clear_value;
|
|
|
|
ivec4 dst_offset;
|
2018-04-11 17:16:18 +02:00
|
|
|
ivec4 dst_extent;
|
2018-04-11 13:07:04 +02:00
|
|
|
} u_info;
|
|
|
|
|
|
|
|
void main() {
|
2018-04-11 17:16:18 +02:00
|
|
|
ivec3 thread_id = ivec3(gl_GlobalInvocationID);
|
2018-04-11 13:07:04 +02:00
|
|
|
|
2018-04-11 17:16:18 +02:00
|
|
|
if (thread_id.x < u_info.dst_extent.x) {
|
|
|
|
imageStore(dst,
|
|
|
|
u_info.dst_offset.x + thread_id.x,
|
|
|
|
u_info.clear_value);
|
|
|
|
}
|
2018-04-11 13:07:04 +02:00
|
|
|
}
|