gallium: add PIPE_CAP_TGSI_TEX_TXF_LZ
authorMarek Olšák <marek.olsak@amd.com>
Tue, 7 Mar 2017 01:09:03 +0000 (02:09 +0100)
committerMarek Olšák <marek.olsak@amd.com>
Wed, 15 Mar 2017 17:17:41 +0000 (18:17 +0100)
17 files changed:
src/gallium/docs/source/screen.rst
src/gallium/drivers/etnaviv/etnaviv_screen.c
src/gallium/drivers/freedreno/freedreno_screen.c
src/gallium/drivers/i915/i915_screen.c
src/gallium/drivers/llvmpipe/lp_screen.c
src/gallium/drivers/nouveau/nv30/nv30_screen.c
src/gallium/drivers/nouveau/nv50/nv50_screen.c
src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
src/gallium/drivers/r300/r300_screen.c
src/gallium/drivers/r600/r600_pipe.c
src/gallium/drivers/radeonsi/si_pipe.c
src/gallium/drivers/softpipe/sp_screen.c
src/gallium/drivers/svga/svga_screen.c
src/gallium/drivers/swr/swr_screen.cpp
src/gallium/drivers/vc4/vc4_screen.c
src/gallium/drivers/virgl/virgl_screen.c
src/gallium/include/pipe/p_defines.h

index 044640a29950fa4c2859bd69de833ecd3e1f44dc..00c9503f55f03a68d994637591cbe8e8f5ae0da9 100644 (file)
@@ -374,6 +374,8 @@ The integer capabilities:
 * ``PIPE_CAP_INT64``: Whether 64-bit integer operations are supported.
 * ``PIPE_CAP_INT64_DIVMOD``: Whether 64-bit integer division/modulo
   operations are supported.
+* ``PIPE_CAP_TGSI_TEX_TXF_LZ``: Whether TEX_LZ and TXF_LZ opcodes are
+  supported.
 
 
 .. _pipe_capf:
index 0cd2737deb645345a01e55bdc4bd6f9ad8a1fedb..ed7fb64f67473adbf0eac173f5326deedca8e985 100644 (file)
@@ -244,6 +244,7 @@ etna_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
    case PIPE_CAP_DOUBLES:
    case PIPE_CAP_INT64:
    case PIPE_CAP_INT64_DIVMOD:
+   case PIPE_CAP_TGSI_TEX_TXF_LZ:
       return 0;
 
    /* Stream output. */
index 0b488b1834b867ac1841c6005a5cbe27df259ad6..f0c9e187d20a4bd8b8a17180f18b06aff9d0b063 100644 (file)
@@ -299,6 +299,7 @@ fd_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
        case PIPE_CAP_DOUBLES:
        case PIPE_CAP_INT64:
        case PIPE_CAP_INT64_DIVMOD:
+       case PIPE_CAP_TGSI_TEX_TXF_LZ:
                return 0;
 
        case PIPE_CAP_MAX_VIEWPORTS:
index 62643f7c64f957ffedfcc3f41b84b0e7b923558a..d25c2b3d82cc89a731568403bd453b284bb84176 100644 (file)
@@ -302,6 +302,7 @@ i915_get_param(struct pipe_screen *screen, enum pipe_cap cap)
    case PIPE_CAP_DOUBLES:
    case PIPE_CAP_INT64:
    case PIPE_CAP_INT64_DIVMOD:
+   case PIPE_CAP_TGSI_TEX_TXF_LZ:
       return 0;
 
    case PIPE_CAP_MAX_VIEWPORTS:
index e0fe637cf411c683b7192824bab84d3723381021..f6ac9b65bcf6125262eb7273f6f768fe4c9bbd48 100644 (file)
@@ -259,6 +259,7 @@ llvmpipe_get_param(struct pipe_screen *screen, enum pipe_cap param)
    case PIPE_CAP_TGSI_VS_WINDOW_SPACE_POSITION:
       return 1;
    case PIPE_CAP_TGSI_FS_FINE_DERIVATIVE:
+   case PIPE_CAP_TGSI_TEX_TXF_LZ:
       return 0;
    case PIPE_CAP_SAMPLER_VIEW_TARGET:
       return 1;
index 414a5c8f6c3bc8229fed757841f73175bd8e514c..5c7ae24d7f10ef516db524336b0987994c8a02b7 100644 (file)
@@ -210,6 +210,7 @@ nv30_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
    case PIPE_CAP_DOUBLES:
    case PIPE_CAP_INT64:
    case PIPE_CAP_INT64_DIVMOD:
+   case PIPE_CAP_TGSI_TEX_TXF_LZ:
       return 0;
 
    case PIPE_CAP_VENDOR_ID:
index 29a4d9de192b77d71036fbfe7c159af4af25ffc0..f50dcfa3043eddeea91c6782d58c9cba70c7d3f4 100644 (file)
@@ -262,6 +262,7 @@ nv50_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
    case PIPE_CAP_DOUBLES:
    case PIPE_CAP_INT64:
    case PIPE_CAP_INT64_DIVMOD:
+   case PIPE_CAP_TGSI_TEX_TXF_LZ:
       return 0;
 
    case PIPE_CAP_VENDOR_ID:
index b7ce13a3c4d8231f20d5be6b6734a31c788557ad..3e4c4f44ba92abe2fd9f1eefc3e747029fe0fedf 100644 (file)
@@ -284,6 +284,7 @@ nvc0_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
    case PIPE_CAP_NATIVE_FENCE_FD:
    case PIPE_CAP_GLSL_OPTIMIZE_CONSERVATIVELY:
    case PIPE_CAP_INT64_DIVMOD:
+   case PIPE_CAP_TGSI_TEX_TXF_LZ:
       return 0;
 
    case PIPE_CAP_VENDOR_ID:
index 624015c2e0a72341f299b3782bacb7174f9ff2da..07a09d5cf2292a5e7c711654ad3ad6772d41ce35 100644 (file)
@@ -232,6 +232,7 @@ static int r300_get_param(struct pipe_screen* pscreen, enum pipe_cap param)
         case PIPE_CAP_DOUBLES:
         case PIPE_CAP_INT64:
         case PIPE_CAP_INT64_DIVMOD:
+        case PIPE_CAP_TGSI_TEX_TXF_LZ:
             return 0;
 
         /* SWTCL-only features. */
index 49aab6b7fb8f02367dc32a7a447ccf93355b508a..869f941be4a7c73fc0e8a00c12dc79b7708aedcf 100644 (file)
@@ -380,6 +380,7 @@ static int r600_get_param(struct pipe_screen* pscreen, enum pipe_cap param)
        case PIPE_CAP_TGSI_FS_FBFETCH:
        case PIPE_CAP_INT64:
        case PIPE_CAP_INT64_DIVMOD:
+       case PIPE_CAP_TGSI_TEX_TXF_LZ:
                return 0;
 
        case PIPE_CAP_DOUBLES:
index 300615f6a93801c7b063c0a3761720526b03cf6f..d78abf763a69e55f45167b0ab3a7cfbfe8d6acba 100644 (file)
@@ -482,6 +482,7 @@ static int si_get_param(struct pipe_screen* pscreen, enum pipe_cap param)
        case PIPE_CAP_TGSI_FS_FBFETCH:
        case PIPE_CAP_TGSI_MUL_ZERO_WINS:
        case PIPE_CAP_UMA:
+       case PIPE_CAP_TGSI_TEX_TXF_LZ:
                return 0;
 
        case PIPE_CAP_QUERY_BUFFER_OBJECT:
index 7ed13a570f7c0fb7d5f940802ce47489c8d5aacf..703fd0b126d10346fca7cb87ee4bd9c0dd83b2c0 100644 (file)
@@ -156,6 +156,7 @@ softpipe_get_param(struct pipe_screen *screen, enum pipe_cap param)
    case PIPE_CAP_GLSL_FEATURE_LEVEL:
       return 330;
    case PIPE_CAP_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION:
+   case PIPE_CAP_TGSI_TEX_TXF_LZ:
       return 0;
    case PIPE_CAP_COMPUTE:
       return 1;
index afb4debc5c8561307be42e187ff001912ce001d0..cb48ac531677a559eb28b5f6bac5a3cc0f0f213e 100644 (file)
@@ -426,6 +426,7 @@ svga_get_param(struct pipe_screen *screen, enum pipe_cap param)
    case PIPE_CAP_DOUBLES:
    case PIPE_CAP_INT64:
    case PIPE_CAP_INT64_DIVMOD:
+   case PIPE_CAP_TGSI_TEX_TXF_LZ:
       return 0;
    }
 
index eb2288d6243dd7519de167cb3716757d425da800..5d18f7cde4880454a4607288cce9cd2f2e5eba88 100644 (file)
@@ -318,6 +318,7 @@ swr_get_param(struct pipe_screen *screen, enum pipe_cap param)
    case PIPE_CAP_TGSI_MUL_ZERO_WINS:
    case PIPE_CAP_INT64:
    case PIPE_CAP_INT64_DIVMOD:
+   case PIPE_CAP_TGSI_TEX_TXF_LZ:
       return 0;
 
    case PIPE_CAP_VENDOR_ID:
index 82f380f8e9b26f3cce8c5d0ce5618c70d06590ea..b53e71d5b365c7e195b39bb74e9525451ed065c3 100644 (file)
@@ -246,6 +246,7 @@ vc4_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
         case PIPE_CAP_DOUBLES:
         case PIPE_CAP_INT64:
         case PIPE_CAP_INT64_DIVMOD:
+       case PIPE_CAP_TGSI_TEX_TXF_LZ:
                 return 0;
 
                 /* Stream output. */
index 81d6790c69a139875e4c1f14c4371a97db1398ec..eb6b1256cbef5e173698cb53ddf89220a51ed672 100644 (file)
@@ -255,6 +255,7 @@ virgl_get_param(struct pipe_screen *screen, enum pipe_cap param)
    case PIPE_CAP_TGSI_MUL_ZERO_WINS:
    case PIPE_CAP_INT64:
    case PIPE_CAP_INT64_DIVMOD:
+   case PIPE_CAP_TGSI_TEX_TXF_LZ:
       return 0;
    case PIPE_CAP_VENDOR_ID:
       return 0x1af4;
index 744344913a81c90e06f563b6f1202472a7a88d11..924711d4dd3b8101ade3361c0d6c9832148e2d84 100644 (file)
@@ -754,6 +754,7 @@ enum pipe_cap
    PIPE_CAP_DOUBLES,
    PIPE_CAP_INT64,
    PIPE_CAP_INT64_DIVMOD,
+   PIPE_CAP_TGSI_TEX_TXF_LZ,
 };
 
 #define PIPE_QUIRK_TEXTURE_BORDER_COLOR_SWIZZLE_NV50 (1 << 0)