summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/nouveau
diff options
context:
space:
mode:
authorAlexandre Courbot <[email protected]>2014-05-27 16:03:01 +0900
committerIlia Mirkin <[email protected]>2014-05-27 22:12:40 -0400
commit1973d79e274900ce687a002b94cb5b692aad9494 (patch)
tree6e4ad315cb3eb483f90deee0c8bcb1f7741bd46e /src/gallium/drivers/nouveau
parent4b846e231e8545ae0f474202214100811dc04974 (diff)
nvc0: add GK20A 3D class
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 <[email protected]> Reviewed-by: Ilia Mirkin <[email protected]>
Diffstat (limited to 'src/gallium/drivers/nouveau')
-rw-r--r--src/gallium/drivers/nouveau/nv_object.xml.h1
-rw-r--r--src/gallium/drivers/nouveau/nvc0/nvc0_screen.c9
2 files changed, 9 insertions, 1 deletions
diff --git a/src/gallium/drivers/nouveau/nv_object.xml.h b/src/gallium/drivers/nouveau/nv_object.xml.h
index 4c93e656483..0a0e187dc02 100644
--- a/src/gallium/drivers/nouveau/nv_object.xml.h
+++ b/src/gallium/drivers/nouveau/nv_object.xml.h
@@ -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
diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
index 9f89f3108b3..24f14fb4150 100644
--- a/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
+++ b/src/gallium/drivers/nouveau/nvc0/nvc0_screen.c
@@ -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;