[Mesa-dev] [PATCH] radeonsi: don't expose 8xMSAA on slowest APUs
Marek Olšák
maraeo at gmail.com
Thu Jan 4 00:54:36 UTC 2018
From: Marek Olšák <marek.olsak at amd.com>
i.e. Kabini, Mullins, Stoney.
This was requested internally.
---
src/gallium/drivers/radeonsi/si_state.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c
index f88bf29..d52fccd 100644
--- a/src/gallium/drivers/radeonsi/si_state.c
+++ b/src/gallium/drivers/radeonsi/si_state.c
@@ -2136,41 +2136,46 @@ static bool si_is_zs_format_supported(enum pipe_format format)
{
return si_translate_dbformat(format) != V_028040_Z_INVALID;
}
static boolean si_is_format_supported(struct pipe_screen *screen,
enum pipe_format format,
enum pipe_texture_target target,
unsigned sample_count,
unsigned usage)
{
+ struct si_screen *sscreen = (struct si_screen*)screen;
unsigned retval = 0;
if (target >= PIPE_MAX_TEXTURE_TYPES) {
R600_ERR("r600: unsupported texture type %d\n", target);
return false;
}
if (!util_format_is_supported(format, usage))
return false;
if (sample_count > 1) {
if (!screen->get_param(screen, PIPE_CAP_TEXTURE_MULTISAMPLE))
return false;
if (usage & PIPE_BIND_SHADER_IMAGE)
return false;
switch (sample_count) {
case 2:
case 4:
+ break;
case 8:
+ /* Don't expose 8x MSAA on slowest chips. */
+ if (sscreen->info.num_render_backends == 1)
+ return false;
break;
case 16:
if (format == PIPE_FORMAT_NONE)
return true;
else
return false;
default:
return false;
}
}
--
2.7.4
More information about the mesa-dev
mailing list