2020-11-19 15:05:25 +00:00
|
|
|
#version 450
|
|
|
|
|
2021-01-15 14:00:19 +00:00
|
|
|
#extension GL_ARB_gpu_shader_int64 : require
|
2020-11-24 14:48:20 +00:00
|
|
|
|
2020-11-19 15:05:25 +00:00
|
|
|
layout(local_size_x = 64) in;
|
|
|
|
|
2021-01-15 14:00:19 +00:00
|
|
|
layout(std430, binding = 0)
|
|
|
|
writeonly buffer dst_buffer_t {
|
|
|
|
uint64_t dst_queries[];
|
|
|
|
};
|
|
|
|
|
|
|
|
layout(std430, binding = 1)
|
|
|
|
readonly buffer src_buffer_t {
|
|
|
|
uint64_t src_queries[];
|
2020-11-24 14:48:20 +00:00
|
|
|
};
|
2020-11-19 15:05:25 +00:00
|
|
|
|
|
|
|
layout(push_constant)
|
|
|
|
uniform u_info_t {
|
2021-01-15 14:00:19 +00:00
|
|
|
uint dst_index;
|
|
|
|
uint src_index;
|
2020-11-19 15:05:25 +00:00
|
|
|
uint query_count;
|
2020-11-24 14:48:20 +00:00
|
|
|
};
|
2020-11-19 15:05:25 +00:00
|
|
|
|
|
|
|
void main() {
|
|
|
|
uint thread_id = gl_GlobalInvocationID.x;
|
|
|
|
|
2021-01-15 14:00:19 +00:00
|
|
|
if (thread_id < query_count)
|
|
|
|
dst_queries[dst_index + thread_id] = min(src_queries[src_index + thread_id], uint64_t(1u));
|
2020-11-19 15:05:25 +00:00
|
|
|
}
|