[Mesa-dev] [PATCH 8/8] nvc0: expose ATOMFADD on all generations

Ilia Mirkin imirkin at alum.mit.edu
Wed Dec 5 05:29:29 UTC 2018


This is supported on all generations for regular memory. For shared
memory, all operations are entirely emulated on Fermi/Kepler anyways,
for Maxwell, we add a special path to emulate just this operation (using
ATOMS.CAS to implement a loop), since there is no ATOMS.ADD.F32 variant.

Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
---
 src/gallium/drivers/nouveau/nvc0/nvc0_screen.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
index bd48f15063a..729b7640186 100644
--- a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
+++ b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
@@ -266,6 +266,7 @@ nvc0_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
    case PIPE_CAP_CAN_BIND_CONST_BUFFER_AS_VERTEX:
    case PIPE_CAP_ALLOW_MAPPED_BUFFERS_DURING_EXECUTION:
    case PIPE_CAP_QUERY_SO_OVERFLOW:
+   case PIPE_CAP_TGSI_ATOMFADD:
       return 1;
    case PIPE_CAP_PREFER_BLIT_BASED_TEXTURE_TRANSFER:
       return nouveau_screen(pscreen)->vram_domain & NOUVEAU_BO_VRAM ? 1 : 0;
-- 
2.18.1



More information about the mesa-dev mailing list