etnaviv: Emit PE.ALPHA_COLOR_EXT* on GPUs with half-float support
At least GC880 (iMX6S), GC2000 (iMX6Q) blobs do not emit the
PE.ALPHA_COLOR_EXT0 and PE.ALPHA_COLOR_EXT1 into the command
stream. The GCnano (STM32MP1) is not affected by this change
either. This is because neither of these GPUs support the
half-float feature.
Emit PE.ALPHA_COLOR_EXT* in etnaviv only if half-float support
is present in the GPU. This fixes all of the currently failing
dEQPs in this group:
dEQP-GLES2.functional.fragment_ops.blend.*
Fixes: 76adf041f2
("etnaviv: fix blend color on newer GPUs")
Signed-off-by: Marek Vasut <marex@denx.de>
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Jonathan Marek <jonathan@marek.ca>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4277>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4277>
This commit is contained in:
parent
4897e70ccd
commit
9e78f17b74
|
@ -537,7 +537,8 @@ etna_emit_state(struct etna_context *ctx)
|
|||
/*014A8*/ EMIT_STATE(PE_DITHER(x), blend->PE_DITHER[x]);
|
||||
}
|
||||
}
|
||||
if (unlikely(dirty & (ETNA_DIRTY_BLEND_COLOR))) {
|
||||
if (unlikely(dirty & (ETNA_DIRTY_BLEND_COLOR)) &&
|
||||
VIV_FEATURE(screen, chipMinorFeatures1, HALF_FLOAT)) {
|
||||
/*014B0*/ EMIT_STATE(PE_ALPHA_COLOR_EXT0, ctx->blend_color.PE_ALPHA_COLOR_EXT0);
|
||||
/*014B4*/ EMIT_STATE(PE_ALPHA_COLOR_EXT1, ctx->blend_color.PE_ALPHA_COLOR_EXT1);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue