vkd3d-proton/libs/vkd3d/shaders/cs_resolve_predicate.comp

27 lines
502 B
Plaintext

#version 450
#extension GL_EXT_buffer_reference : require
layout(local_size_x = 1) in;
layout(std430, buffer_reference, buffer_reference_align = 8)
readonly buffer src_predicate_t {
uvec2 data;
};
layout(std430, buffer_reference, buffer_reference_align = 4)
writeonly buffer dst_predicate_t {
uint data;
};
layout(push_constant)
uniform u_info_t {
src_predicate_t src;
dst_predicate_t dst;
bool invert;
};
void main() {
dst.data = (all(equal(src.data, 0u.xx)) != invert) ? 0u : 1u;
}