summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Marek <jonathan@marek.ca>2019-11-07 07:28:37 -0500
committerJonathan Marek <jonathan@marek.ca>2019-11-11 20:46:01 -0500
commit01cae57c80839fcb0defc76f450f1938e96e8ae7 (patch)
treefceb1769a93ddf854c0baa3416a858b4ee11bd96
parent0cb5c96a83e3da2986fc8219b10671a7caea9ee5 (diff)
freedreno: add Adreno 640 ID
A640 seems to work without any other changes (glmark and vkcube). Signed-off-by: Jonathan Marek <jonathan@marek.ca> Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
-rw-r--r--src/freedreno/vulkan/tu_device.c1
-rw-r--r--src/gallium/drivers/freedreno/a6xx/fd6_context.c9
-rw-r--r--src/gallium/drivers/freedreno/freedreno_screen.c1
3 files changed, 11 insertions, 0 deletions
diff --git a/src/freedreno/vulkan/tu_device.c b/src/freedreno/vulkan/tu_device.c
index bdd34b5fa9fe..edf38b0a402c 100644
--- a/src/freedreno/vulkan/tu_device.c
+++ b/src/freedreno/vulkan/tu_device.c
@@ -257,6 +257,7 @@ tu_physical_device_init(struct tu_physical_device *device,
switch (device->gpu_id) {
case 630:
+ case 640:
device->tile_align_w = 32;
device->tile_align_h = 32;
break;
diff --git a/src/gallium/drivers/freedreno/a6xx/fd6_context.c b/src/gallium/drivers/freedreno/a6xx/fd6_context.c
index d613e4c5e2b4..9bd3e348d8ae 100644
--- a/src/gallium/drivers/freedreno/a6xx/fd6_context.c
+++ b/src/gallium/drivers/freedreno/a6xx/fd6_context.c
@@ -124,6 +124,15 @@ PC_UNKNOWN_9805:
fd6_ctx->magic.PC_UNKNOWN_9805 = 0x1;
fd6_ctx->magic.SP_UNKNOWN_A0F8 = 0x1;
break;
+ case 640:
+ fd6_ctx->magic.RB_UNKNOWN_8E04_blit = 0x00100000;
+ fd6_ctx->magic.RB_CCU_CNTL_gmem = 0x7c400000;
+ fd6_ctx->magic.RB_CCU_CNTL_bypass = 0x10000000;
+ fd6_ctx->magic.PC_UNKNOWN_9805 = 0x1;
+ fd6_ctx->magic.SP_UNKNOWN_A0F8 = 0x1;
+ break;
+ default:
+ unreachable("missing magic config");
}
pctx = &fd6_ctx->base.base;
diff --git a/src/gallium/drivers/freedreno/freedreno_screen.c b/src/gallium/drivers/freedreno/freedreno_screen.c
index 6f75f6ed22bd..fb84bb9b6c5c 100644
--- a/src/gallium/drivers/freedreno/freedreno_screen.c
+++ b/src/gallium/drivers/freedreno/freedreno_screen.c
@@ -919,6 +919,7 @@ fd_screen_create(struct fd_device *dev, struct renderonly *ro)
break;
case 618:
case 630:
+ case 640:
fd6_screen_init(pscreen);
break;
default: