Request chipMinorFeatures bitfields 4 and 5 from the drm driver. --- src/gallium/drivers/etnaviv/etnaviv_screen.c | 12 ++++++++++++ src/gallium/drivers/etnaviv/etnaviv_screen.h | 4 +++- 2 files changed, 15 insertions(+), 1 deletion(-)
Adds two further chipminorfeatures words - viv_chipMinorFeatures4 is necessary to be able to detect SINGLE_BUFFER. viv_chipMinorFeatures5 isn't, but adding it because it will come in useful later. diff --git a/src/gallium/drivers/etnaviv/etnaviv_screen.c b/src/gallium/drivers/etnaviv/etnaviv_screen.c index aa53917..41bacbc 100644 --- a/src/gallium/drivers/etnaviv/etnaviv_screen.c +++ b/src/gallium/drivers/etnaviv/etnaviv_screen.c @@ -800,6 +800,18 @@ etna_screen_create(struct etna_device *dev, struct etna_gpu *gpu, } screen->features[4] = val; + if (etna_gpu_get_param(screen->gpu, ETNA_GPU_FEATURES_5, &val)) { + DBG("could not get ETNA_GPU_FEATURES_5"); + goto fail; + } + screen->features[5] = val; + + if (etna_gpu_get_param(screen->gpu, ETNA_GPU_FEATURES_6, &val)) { + DBG("could not get ETNA_GPU_FEATURES_6"); + goto fail; + } + screen->features[6] = val; + if (!etna_get_specs(screen)) goto fail; diff --git a/src/gallium/drivers/etnaviv/etnaviv_screen.h b/src/gallium/drivers/etnaviv/etnaviv_screen.h index c33a9e3..a606e5d 100644 --- a/src/gallium/drivers/etnaviv/etnaviv_screen.h +++ b/src/gallium/drivers/etnaviv/etnaviv_screen.h @@ -44,6 +44,8 @@ enum viv_features_word { viv_chipMinorFeatures1 = 2, viv_chipMinorFeatures2 = 3, viv_chipMinorFeatures3 = 4, + viv_chipMinorFeatures4 = 5, + viv_chipMinorFeatures5 = 6, VIV_FEATURES_WORD_COUNT /* Must be last */ }; @@ -69,7 +71,7 @@ struct etna_screen { uint32_t model; uint32_t revision; - uint32_t features[5]; + uint32_t features[VIV_FEATURES_WORD_COUNT]; struct etna_specs specs; }; -- 2.7.4 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev