diff options
author | Dave Airlie <[email protected]> | 2017-11-03 12:23:01 +1000 |
---|---|---|
committer | Dave Airlie <[email protected]> | 2017-12-05 10:38:35 +0000 |
commit | b501ef164ed772e7445ba1a86ac750a37476c913 (patch) | |
tree | cb4b9344a5597e7f6419713520eaa4ebdba2f07a /src/mesa | |
parent | 05f594f2291f146f5f8704f80fb475dfb21b66fb (diff) |
st/mesa: handle compute atomics
Just reuse the cs atomics bit and emit the hw atomic state.
Reviewed-by: Nicolai Hähnle <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
Diffstat (limited to 'src/mesa')
-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; |