I've pushed the first 2 patches of this series to upstream, as they look fine, have seen enough review and I want to have them out of the way should we need another rev of the series.
Regards, Lucas Am Samstag, den 18.11.2017, 10:44 +0100 schrieb Wladimir J. van der Laan: > The HALTI level is an indication of the gross architecture of the GPU. > It determines for significant part what feature level the GPU has, what > state (especially frontend state) is there, and where it is located. > > > Signed-off-by: Wladimir J. van der Laan <laa...@gmail.com> > > Reviewed-by: Christian Gmeiner <christian.gmei...@gmail.com> > --- > src/gallium/drivers/etnaviv/etnaviv_internal.h | 2 ++ > src/gallium/drivers/etnaviv/etnaviv_screen.c | 21 +++++++++++++++++++++ > 2 files changed, 23 insertions(+) > > Unchanged since v1. > > diff --git a/src/gallium/drivers/etnaviv/etnaviv_internal.h > b/src/gallium/drivers/etnaviv/etnaviv_internal.h > index 707a1e0..48dd5bf 100644 > --- a/src/gallium/drivers/etnaviv/etnaviv_internal.h > +++ b/src/gallium/drivers/etnaviv/etnaviv_internal.h > @@ -60,6 +60,8 @@ > > /* GPU chip 3D specs */ > struct etna_specs { > + /* HALTI (gross architecture) level. -1 for pre-HALTI. */ > + int halti : 8; > /* supports SUPERTILE (64x64) tiling? */ > unsigned can_supertile : 1; > /* needs z=(z+w)/2, for older GCxxx */ > diff --git a/src/gallium/drivers/etnaviv/etnaviv_screen.c > b/src/gallium/drivers/etnaviv/etnaviv_screen.c > index eaf3ca2..9a957ab 100644 > --- a/src/gallium/drivers/etnaviv/etnaviv_screen.c > +++ b/src/gallium/drivers/etnaviv/etnaviv_screen.c > @@ -690,6 +690,27 @@ etna_get_specs(struct etna_screen *screen) > } > screen->specs.num_constants = val; > > + /* Figure out gross GPU architecture. See rnndb/common.xml for a specific > + * description of the differences. */ > + if (VIV_FEATURE(screen, chipMinorFeatures5, HALTI5)) > + screen->specs.halti = 5; /* New GC7000/GC8x00 */ > + else if (VIV_FEATURE(screen, chipMinorFeatures5, HALTI4)) > + screen->specs.halti = 4; /* Old GC7000/GC7400 */ > + else if (VIV_FEATURE(screen, chipMinorFeatures5, HALTI3)) > + screen->specs.halti = 3; /* None? */ > + else if (VIV_FEATURE(screen, chipMinorFeatures4, HALTI2)) > + screen->specs.halti = 2; /* GC2500/GC3000/GC5000/GC6400 */ > + else if (VIV_FEATURE(screen, chipMinorFeatures2, HALTI1)) > + screen->specs.halti = 1; /* GC900/GC4000/GC7000UL */ > + else if (VIV_FEATURE(screen, chipMinorFeatures1, HALTI0)) > + screen->specs.halti = 0; /* GC880/GC2000/GC7000TM */ > + else > + screen->specs.halti = -1; /* GC7000nanolite / pre-GC2000 except GC880 > */ > + if (screen->specs.halti >= 0) > + DBG("etnaviv: GPU arch: HALTI%d\n", screen->specs.halti); > + else > + DBG("etnaviv: GPU arch: pre-HALTI\n"); > + > screen->specs.can_supertile = > VIV_FEATURE(screen, chipMinorFeatures0, SUPER_TILED); > screen->specs.bits_per_tile = _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev