mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 09:38:07 +02:00
etnaviv: detect v4 compression
Signed-off-by: Jonathan Marek <jonathan@marek.ca> Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
This commit is contained in:
parent
e910acb3f2
commit
f6a0d17abe
5 changed files with 15 additions and 0 deletions
|
|
@ -56,6 +56,7 @@ enum etna_param_id {
|
|||
ETNA_GPU_FEATURES_4 = 0x7,
|
||||
ETNA_GPU_FEATURES_5 = 0x8,
|
||||
ETNA_GPU_FEATURES_6 = 0x9,
|
||||
ETNA_GPU_FEATURES_7 = 0xa,
|
||||
|
||||
ETNA_GPU_STREAM_COUNT = 0x10,
|
||||
ETNA_GPU_REGISTER_MAX = 0x11,
|
||||
|
|
|
|||
|
|
@ -112,6 +112,9 @@ int etna_gpu_get_param(struct etna_gpu *gpu, enum etna_param_id param,
|
|||
case ETNA_GPU_FEATURES_6:
|
||||
*value = get_param(dev, core, ETNAVIV_PARAM_GPU_FEATURES_6);
|
||||
return 0;
|
||||
case ETNA_GPU_FEATURES_7:
|
||||
*value = get_param(dev, core, ETNAVIV_PARAM_GPU_FEATURES_7);
|
||||
return 0;
|
||||
case ETNA_GPU_STREAM_COUNT:
|
||||
*value = get_param(dev, core, ETNA_GPU_STREAM_COUNT);
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -76,6 +76,8 @@ struct etna_specs {
|
|||
unsigned has_new_transcendentals : 1;
|
||||
/* has the new dp2/dpX_norm instructions, among others */
|
||||
unsigned has_halti2_instructions : 1;
|
||||
/* has V4_COMPRESSION */
|
||||
unsigned v4_compression : 1;
|
||||
/* supports single-buffer rendering with multiple pixel pipes */
|
||||
unsigned single_buffer : 1;
|
||||
/* has unified uniforms memory */
|
||||
|
|
|
|||
|
|
@ -613,6 +613,8 @@ etna_get_specs(struct etna_screen *screen)
|
|||
VIV_FEATURE(screen, chipMinorFeatures3, HAS_FAST_TRANSCENDENTALS);
|
||||
screen->specs.has_halti2_instructions =
|
||||
VIV_FEATURE(screen, chipMinorFeatures4, HALTI2);
|
||||
screen->specs.v4_compression =
|
||||
VIV_FEATURE(screen, chipMinorFeatures6, V4_COMPRESSION);
|
||||
|
||||
if (screen->specs.halti >= 5) {
|
||||
/* GC7000 - this core must load shaders from memory. */
|
||||
|
|
@ -832,6 +834,12 @@ etna_screen_create(struct etna_device *dev, struct etna_gpu *gpu,
|
|||
}
|
||||
screen->features[6] = val;
|
||||
|
||||
if (etna_gpu_get_param(screen->gpu, ETNA_GPU_FEATURES_7, &val)) {
|
||||
DBG("could not get ETNA_GPU_FEATURES_7");
|
||||
goto fail;
|
||||
}
|
||||
screen->features[7] = val;
|
||||
|
||||
if (!etna_get_specs(screen))
|
||||
goto fail;
|
||||
|
||||
|
|
|
|||
|
|
@ -50,6 +50,7 @@ enum viv_features_word {
|
|||
viv_chipMinorFeatures3 = 4,
|
||||
viv_chipMinorFeatures4 = 5,
|
||||
viv_chipMinorFeatures5 = 6,
|
||||
viv_chipMinorFeatures6 = 7,
|
||||
VIV_FEATURES_WORD_COUNT /* Must be last */
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue