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

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 add0e270e567fbec88a7c882ca39e09f202b7d9e..d58c0d206ec93742c2b44ab4bd3a6c0f3d4f6aea 100644 (file)
@@ -118,6 +118,7 @@ enum operation
    OP_PINTERP,
    OP_EMIT,    // emit vertex
    OP_RESTART, // restart primitive
+   OP_FINAL, // finish emitting primitives
    OP_TEX,
    OP_TXB, // texture bias
    OP_TXL, // texure lod
index a0fd9eb08bf635d8095659e5248060ddd3ccb188..ce0d2507dc1e38a24d4542552a808553d47a682e 100644 (file)
@@ -144,6 +144,7 @@ const char *operationStr[OP_LAST + 1] =
    "pinterp",
    "emit",
    "restart",
+   "final",
    "tex",
    "texbias",
    "texlod",
index 3a772003271407a917119e1e0073ecd7b17142fb..b0057cb7dce6146a726c820e15e96aea4dd0fd6b 100644 (file)
@@ -43,7 +43,7 @@ const uint8_t Target::operationSrcNr[] =
    0, 0, 0,                // PRERET,CONT,BREAK
    0, 0, 0, 0, 0, 0,       // BRKPT, JOINAT, JOIN, DISCARD, EXIT, MEMBAR
    1, 1, 1, 2, 1, 2,       // VFETCH, PFETCH, AFETCH, EXPORT, LINTERP, PINTERP
-   1, 1,                   // EMIT, RESTART
+   1, 1, 1,                // EMIT, RESTART, FINAL
    1, 1, 1,                // TEX, TXB, TXL,
    1, 1, 1, 1, 1, 1, 2,    // TXF, TXQ, TXD, TXG, TXLQ, TEXCSAA, TEXPREP
    1, 1, 2, 2, 2, 2, 2,    // SULDB, SULDP, SUSTB, SUSTP, SUREDB, SUREDP, SULEA
@@ -105,8 +105,8 @@ const OpClass Target::operationClass[] =
    OPCLASS_LOAD, OPCLASS_OTHER, OPCLASS_OTHER, OPCLASS_STORE,
    // LINTERP, PINTERP
    OPCLASS_SFU, OPCLASS_SFU,
-   // EMIT, RESTART
-   OPCLASS_CONTROL, OPCLASS_CONTROL,
+   // EMIT, RESTART, FINAL
+   OPCLASS_CONTROL, OPCLASS_CONTROL, OPCLASS_CONTROL,
    // TEX, TXB, TXL, TXF; TXQ, TXD, TXG, TXLQ; TEXCSAA, TEXPREP
    OPCLASS_TEXTURE, OPCLASS_TEXTURE, OPCLASS_TEXTURE, OPCLASS_TEXTURE,
    OPCLASS_TEXTURE, OPCLASS_TEXTURE, OPCLASS_TEXTURE, OPCLASS_TEXTURE,