From: Dave Airlie Date: Fri, 3 Nov 2017 02:23:01 +0000 (+1000) Subject: st/mesa: handle compute atomics X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b501ef164ed772e7445ba1a86ac750a37476c913;p=mesa.git st/mesa: handle compute atomics Just reuse the cs atomics bit and emit the hw atomic state. Reviewed-by: Nicolai Hähnle Signed-off-by: Dave Airlie --- diff --git a/src/mesa/state_tracker/st_atom_atomicbuf.c b/src/mesa/state_tracker/st_atom_atomicbuf.c index d01c227acdd..eda9e51b581 100644 --- a/src/mesa/state_tracker/st_atom_atomicbuf.c +++ b/src/mesa/state_tracker/st_atom_atomicbuf.c @@ -123,6 +123,10 @@ st_bind_tes_atomics(struct st_context *st) void st_bind_cs_atomics(struct st_context *st) { + if (st->has_hw_atomics) { + st_bind_hw_atomic_buffers(st); + return; + } struct gl_program *prog = st->ctx->_Shader->CurrentProgram[MESA_SHADER_COMPUTE]; diff --git a/src/mesa/state_tracker/st_context.c b/src/mesa/state_tracker/st_context.c index da1cca471ba..7564a530352 100644 --- a/src/mesa/state_tracker/st_context.c +++ b/src/mesa/state_tracker/st_context.c @@ -302,7 +302,7 @@ st_init_driver_flags(struct st_context *st) /* Shader resources */ f->NewTextureBuffer = ST_NEW_SAMPLER_VIEWS; if (st->has_hw_atomics) - f->NewAtomicBuffer = ST_NEW_HW_ATOMICS; + f->NewAtomicBuffer = ST_NEW_HW_ATOMICS | ST_NEW_CS_ATOMICS; else f->NewAtomicBuffer = ST_NEW_ATOMIC_BUFFER; f->NewShaderStorageBuffer = ST_NEW_STORAGE_BUFFER;