summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Romanick <ian.d.romanick@intel.com>2020-10-15 15:13:05 -0700
committerIan Romanick <ian.d.romanick@intel.com>2020-10-15 15:13:12 -0700
commit74daa84a249c327b416ba33f43b4f69df6da140d (patch)
tree5592903b8258ef48ff13d2aae444b4d3ddd33a45
parentddeabe44d89c27c89fa5524bfbfb7e3aeb571fec (diff)
WIP: gallium/dri2: Don't expose accumulation buffer with RGBA visualexpose-fewer-visuals
Only expose accumluation with BGRA.
-rw-r--r--src/gallium/frontends/dri/dri_screen.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/gallium/frontends/dri/dri_screen.c b/src/gallium/frontends/dri/dri_screen.c
index a4e841495a2..43e58e33203 100644
--- a/src/gallium/frontends/dri/dri_screen.c
+++ b/src/gallium/frontends/dri/dri_screen.c
@@ -311,13 +311,20 @@ dri_fill_in_modes(struct dri_screen *screen)
* that either. Since the accumulation buffer is itself only 16-bits
* per channel, there wouldn't be much point.
*
+ * There's also little point in exposing accumulation with both BGRA and
+ * RGBA ordering. RGBA seems to only be required for Android, and
+ * there's no accumulation buffer there. Omit the RGBA + accumulation
+ * configs.
+ *
* SGI supported accumulation with some deeper unorm formats, but we
* don't expose visuals for those anyway.
*/
const bool enable_accumulation =
mesa_formats[format] != MESA_FORMAT_RGBA_FLOAT16 &&
mesa_formats[format] != MESA_FORMAT_RGBX_FLOAT16 &&
- mesa_formats[format] != MESA_FORMAT_B5G6R5_UNORM;
+ mesa_formats[format] != MESA_FORMAT_B5G6R5_UNORM &&
+ mesa_formats[format] != MESA_FORMAT_R8G8B8A8_UNORM &&
+ mesa_formats[format] != MESA_FORMAT_R8G8B8X8_UNORM;
for (i = 1; i <= msaa_samples_max; i++) {
int samples = i > 1 ? i : 0;