nvc0: add GK20A 3D class
authorAlexandre Courbot <acourbot@nvidia.com>
Tue, 27 May 2014 07:03:01 +0000 (16:03 +0900)
committerIlia Mirkin <imirkin@alum.mit.edu>
Wed, 28 May 2014 02:12:40 +0000 (22:12 -0400)
GK20A is mostly compatible with GK104, but features a new 3D
class. Add it to the relevant header and use it when GK20A is
detected.

Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
src/gallium/drivers/nouveau/nv_object.xml.h
src/gallium/drivers/nouveau/nvc0/nvc0_screen.c

index 4c93e6564838980d07e2a5dea1e86fa3fa723840..0a0e187dc028d9695d77fdd123714c8dcfc32025 100644 (file)
@@ -190,6 +190,7 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #define NVC8_3D_CLASS                                          0x00009297
 #define NVE4_3D_CLASS                                          0x0000a097
 #define NVF0_3D_CLASS                                          0x0000a197
+#define NVEA_3D_CLASS                                          0x0000a297
 #define GM107_3D_CLASS                                         0x0000b097
 #define NV50_2D_CLASS                                          0x0000502d
 #define NVC0_2D_CLASS                                          0x0000902d
index 9f89f3108b397eda3ac17db3f8e65b1562f7b3cf..24f14fb415004fd3366e74361b30f2b82033fb26 100644 (file)
@@ -708,7 +708,14 @@ nvc0_screen_create(struct nouveau_device *dev)
       obj_class = NVF0_3D_CLASS;
       break;
    case 0xe0:
-      obj_class = NVE4_3D_CLASS;
+      switch (dev->chipset) {
+      case 0xea:
+         obj_class = NVEA_3D_CLASS;
+         break;
+      default:
+         obj_class = NVE4_3D_CLASS;
+         break;
+      }
       break;
    case 0xd0:
       obj_class = NVC8_3D_CLASS;