diff --git a/src/gallium/drivers/nouveau/nouveau_screen.c b/src/gallium/drivers/nouveau/nouveau_screen.c index 04d8e6f30d2..80ef7a12c44 100644 --- a/src/gallium/drivers/nouveau/nouveau_screen.c +++ b/src/gallium/drivers/nouveau/nouveau_screen.c @@ -275,6 +275,18 @@ nouveau_screen_init(struct nouveau_screen *screen, struct nouveau_device *dev) } while ((start + screen->svm_cutout_size) < BITFIELD64_MASK(limit_bit)); } + switch (dev->chipset) { + case 0x0ea: /* TK1, GK20A */ + case 0x12b: /* TX1, GM20B */ + case 0x13b: /* TX2, GP10B */ + screen->tegra_sector_layout = true; + break; + default: + /* Xavier's GPU and everything else */ + screen->tegra_sector_layout = false; + break; + } + /* * Set default VRAM domain if not overridden */ diff --git a/src/gallium/drivers/nouveau/nouveau_screen.h b/src/gallium/drivers/nouveau/nouveau_screen.h index 2eb6320b2ec..1176c54db3d 100644 --- a/src/gallium/drivers/nouveau/nouveau_screen.h +++ b/src/gallium/drivers/nouveau/nouveau_screen.h @@ -58,6 +58,7 @@ struct nouveau_screen { int64_t cpu_gpu_time_delta; bool hint_buf_keep_sysmem_copy; + bool tegra_sector_layout; unsigned vram_domain;