[Mesa-dev] [PATCH 3/3] nvc0: enable compute support on GK110+ with an envvar

Samuel Pitoiset samuel.pitoiset at gmail.com
Sat Feb 13 23:31:21 UTC 2016


Without this NVF0_COMPUTE environment variable, compute support is
initialized by default and this is not what we want for now because
it might break 3D. Compute will be enabled by default on GK110+ once
we are sure that it won't break anything else.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
---
 src/gallium/drivers/nouveau/nvc0/nvc0_screen.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
index f9f3c31..e580ab8 100644
--- a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
+++ b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
@@ -197,6 +197,8 @@ nvc0_screen_get_param(struct pipe_screen *pscreen, enum pipe_cap param)
    case PIPE_CAP_SEAMLESS_CUBE_MAP_PER_TEXTURE:
       return (class_3d >= NVE4_3D_CLASS) ? 1 : 0;
    case PIPE_CAP_COMPUTE:
+      if (debug_get_bool_option("NVF0_COMPUTE", false))
+         return 1;
       return (class_3d <= NVE4_3D_CLASS) ? 1 : 0;
    case PIPE_CAP_PREFER_BLIT_BASED_TEXTURE_TRANSFER:
       return nouveau_screen(pscreen)->vram_domain & NOUVEAU_BO_VRAM ? 1 : 0;
@@ -263,8 +265,9 @@ nvc0_screen_get_shader_param(struct pipe_screen *pscreen, unsigned shader,
          return 0;
       break;
    case PIPE_SHADER_COMPUTE:
-      if (class_3d > NVE4_3D_CLASS)
-         return 0;
+      if (!debug_get_bool_option("NVF0_COMPUTE", false))
+         if (class_3d > NVE4_3D_CLASS)
+            return 0;
       break;
    default:
       return 0;
@@ -601,6 +604,8 @@ nvc0_screen_init_compute(struct nvc0_screen *screen)
    case 0xf0:
    case 0x100:
    case 0x110:
+      if (debug_get_bool_option("NVF0_COMPUTE", false))
+         return nve4_screen_compute_setup(screen, screen->base.pushbuf);
       return 0;
    default:
       return -1;
-- 
2.6.4



More information about the mesa-dev mailing list