nvir: introduce OP_WARPSYNC
authorBen Skeggs <bskeggs@redhat.com>
Sat, 6 Jun 2020 23:51:49 +0000 (09:51 +1000)
committerMarge Bot <eric+marge@anholt.net>
Wed, 10 Jun 2020 22:52:41 +0000 (22:52 +0000)
Will be required to support SM70.

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5377>

src/gallium/drivers/nouveau/codegen/nv50_ir.h
src/gallium/drivers/nouveau/codegen/nv50_ir_print.cpp
src/gallium/drivers/nouveau/codegen/nv50_ir_target.cpp

index a4ade03..5b8595c 100644 (file)
@@ -168,6 +168,7 @@ enum operation
    OP_SHFL, // warp shuffle
    OP_VOTE,
    OP_BUFQ, // buffer query
+   OP_WARPSYNC,
    OP_LAST
 };
 
index 7473822..b85ace1 100644 (file)
@@ -194,6 +194,7 @@ const char *operationStr[OP_LAST + 1] =
    "shfl",
    "vote",
    "bufq",
+   "warpsync",
    "(invalid)"
 };
 
index 92ac710..e801722 100644 (file)
@@ -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
 };