From 6e23fd420d8e7d382f6a643a48cc6fcaeb81ee64 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Thu, 14 Apr 2016 00:46:50 +0200 Subject: [PATCH] nvc0: allow to use compute support on GM200 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 Reviewed-by: Ilia Mirkin --- 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 3479c343261..fe4982aa9fd 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 9a34007c6e5..f6d05aaf9d4 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 4d069df983e..3d0190928e3 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.30.2