From ddedfcdf2116396f7630a4604667f946be64c588 Mon Sep 17 00:00:00 2001 From: Ben Skeggs Date: Sun, 7 Jun 2020 09:51:49 +1000 Subject: [PATCH] nvir: introduce OP_WARPSYNC Will be required to support SM70. Signed-off-by: Ben Skeggs Reviewed-by: Karol Herbst Part-of: --- src/gallium/drivers/nouveau/codegen/nv50_ir.h | 1 + src/gallium/drivers/nouveau/codegen/nv50_ir_print.cpp | 1 + src/gallium/drivers/nouveau/codegen/nv50_ir_target.cpp | 3 +++ 3 files changed, 5 insertions(+) diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir.h b/src/gallium/drivers/nouveau/codegen/nv50_ir.h index a4ade030b00..5b8595c961e 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir.h +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir.h @@ -168,6 +168,7 @@ enum operation OP_SHFL, // warp shuffle OP_VOTE, OP_BUFQ, // buffer query + OP_WARPSYNC, OP_LAST }; diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_print.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_print.cpp index 74738221080..b85ace15b87 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_print.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_print.cpp @@ -194,6 +194,7 @@ const char *operationStr[OP_LAST + 1] = "shfl", "vote", "bufq", + "warpsync", "(invalid)" }; diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_target.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_target.cpp index 92ac7101cfc..e801722ec09 100644 --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_target.cpp +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_target.cpp @@ -58,6 +58,7 @@ const uint8_t Target::operationSrcNr[] = 3, // SHFL 1, // VOTE 1, // BUFQ + 1, // WARPSYNC 0 }; @@ -136,6 +137,8 @@ const OpClass Target::operationClass[] = OPCLASS_OTHER, // BUFQ OPCLASS_OTHER, + // WARPSYNC + OPCLASS_OTHER, OPCLASS_PSEUDO // LAST }; -- 2.30.2