From: Henri Verbeet Subject: Re: [PATCH vkd3d] vkd3d-shader: Handle VKD3DSUF_GLOBALLY_COHERENT in vkd3d_dxbc_compiler_emit_dcl_resource_raw(). Message-Id: Date: Thu, 27 Jan 2022 16:42:03 +0100 In-Reply-To: <20220125124711.207465-1-andrey.goosev@gmail.com> References: <20220125124711.207465-1-andrey.goosev@gmail.com> On Tue, 25 Jan 2022 at 13:47, Andrey Gusev wrote: > diff --git a/libs/vkd3d-shader/spirv.c b/libs/vkd3d-shader/spirv.c > index 1ffce6a..a361cc7 100644 > --- a/libs/vkd3d-shader/spirv.c > +++ b/libs/vkd3d-shader/spirv.c > @@ -6091,8 +6091,16 @@ static void vkd3d_dxbc_compiler_emit_dcl_resource_raw(struct vkd3d_dxbc_compiler > const struct vkd3d_shader_raw_resource *resource = &instruction->declaration.raw_resource; > uint32_t flags = instruction->flags; > > + if (flags & VKD3DSUF_GLOBALLY_COHERENT) > + { > + flags &= ~VKD3DSUF_GLOBALLY_COHERENT; > + } > /* We don't distinguish between APPEND and COUNTER UAVs. */ > - flags &= ~VKD3DSUF_ORDER_PRESERVING_COUNTER; > + if (flags & VKD3DSUF_ORDER_PRESERVING_COUNTER) > + { > + flags &= ~VKD3DSUF_ORDER_PRESERVING_COUNTER; > + } > + I don't think we can just ignore VKD3DSUF_GLOBALLY_COHERENT. This is probably supposed to map the the "scope" parameter in vkd3d_dxbc_compiler_emit_atomic_instruction(), and possibly others.