diff options
Diffstat (limited to 'src/mesa/state_tracker')
-rw-r--r-- | src/mesa/state_tracker/st_atom_atomicbuf.c | 4 | ||||
-rw-r--r-- | src/mesa/state_tracker/st_context.c | 2 |
2 files changed, 5 insertions, 1 deletions
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; |