[Mesa-dev] [PATCH] nvc0: allow to use compute support on GM200

Samuel Pitoiset samuel.pitoiset at gmail.com
Wed Apr 13 22:46:50 UTC 2016


This works like a charm but please not that NVF0_COMPUTE have to be set
because compute support is still not enabled by default on GK110+. This
will require more testing to make sure it won't break the 3D state.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
---
 src/gallium/drivers/nouveau/nv_object.xml.h     | 1 +
 src/gallium/drivers/nouveau/nvc0/nvc0_screen.c  | 3 +--
 src/gallium/drivers/nouveau/nvc0/nve4_compute.c | 3 +++
 3 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/gallium/drivers/nouveau/nv_object.xml.h b/src/gallium/drivers/nouveau/nv_object.xml.h
index 3479c34..fe4982a 100644
--- a/src/gallium/drivers/nouveau/nv_object.xml.h
+++ b/src/gallium/drivers/nouveau/nv_object.xml.h
@@ -202,6 +202,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NVE4_COMPUTE_CLASS					0x0000a0c0
 #define NVF0_COMPUTE_CLASS					0x0000a1c0
 #define GM107_COMPUTE_CLASS				0x0000b0c0
+#define GM200_COMPUTE_CLASS				0x0000b1c0
 #define NV84_CRYPT_CLASS					0x000074c1
 #define BLOB_NVC0_PCOPY1_CLASS					0x000090b8
 #define BLOB_NVC0_PCOPY0_CLASS					0x000090b5
diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
index 9a34007..f6d05aa 100644
--- a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
+++ b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
@@ -644,10 +644,9 @@ nvc0_screen_init_compute(struct nvc0_screen *screen)
    case 0xf0:
    case 0x100:
    case 0x110:
+   case 0x120:
       if (debug_get_bool_option("NVF0_COMPUTE", false))
          return nve4_screen_compute_setup(screen, screen->base.pushbuf);
-   case 0x120:
-      return 0;
    default:
       return -1;
    }
diff --git a/src/gallium/drivers/nouveau/nvc0/nve4_compute.c b/src/gallium/drivers/nouveau/nvc0/nve4_compute.c
index 4d069df..3d01909 100644
--- a/src/gallium/drivers/nouveau/nvc0/nve4_compute.c
+++ b/src/gallium/drivers/nouveau/nvc0/nve4_compute.c
@@ -54,6 +54,9 @@ nve4_screen_compute_setup(struct nvc0_screen *screen,
    case 0x110:
       obj_class = GM107_COMPUTE_CLASS;
       break;
+   case 0x120:
+      obj_class = GM200_COMPUTE_CLASS;
+      break;
    default:
       NOUVEAU_ERR("unsupported chipset: NV%02x\n", dev->chipset);
       return -1;
-- 
2.8.0



More information about the mesa-dev mailing list