etnaviv: disable 64bpp render/sampler formats
Vivante hardware handles 64bpp render targets and samplers in a odd way by splitting the buffer and using a pair of texture samplers or a pair of MRT outputs to access those resources. This isn't implemented in the driver right now, so we should not advertise support for those formats. CC: mesa-stable Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26982>
This commit is contained in:
@@ -458,6 +458,11 @@ gpu_supports_texture_format(struct etna_screen *screen, uint32_t fmt,
|
|||||||
{
|
{
|
||||||
bool supported = true;
|
bool supported = true;
|
||||||
|
|
||||||
|
/* Requires split sampler support, which the driver doesn't support, yet. */
|
||||||
|
if (!util_format_is_compressed(format) &&
|
||||||
|
util_format_get_blocksizebits(format) > 32)
|
||||||
|
return false;
|
||||||
|
|
||||||
if (fmt == TEXTURE_FORMAT_ETC1)
|
if (fmt == TEXTURE_FORMAT_ETC1)
|
||||||
supported = VIV_FEATURE(screen, chipFeatures, ETC1_TEXTURE_COMPRESSION);
|
supported = VIV_FEATURE(screen, chipFeatures, ETC1_TEXTURE_COMPRESSION);
|
||||||
|
|
||||||
@@ -500,6 +505,10 @@ gpu_supports_render_format(struct etna_screen *screen, enum pipe_format format,
|
|||||||
if (fmt == ETNA_NO_MATCH)
|
if (fmt == ETNA_NO_MATCH)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
/* Requires split target support, which the driver doesn't support, yet. */
|
||||||
|
if (util_format_get_blocksizebits(format) > 32)
|
||||||
|
return false;
|
||||||
|
|
||||||
if (sample_count > 1) {
|
if (sample_count > 1) {
|
||||||
/* Explicitly enabled. */
|
/* Explicitly enabled. */
|
||||||
if (!DBG_ENABLED(ETNA_DBG_MSAA))
|
if (!DBG_ENABLED(ETNA_DBG_MSAA))
|
||||||
|
Reference in New Issue
Block a user