Mesa (19.3): r600: Disable eight bit three channel formats
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Wed Nov 27 17:07:32 UTC 2019
Module: Mesa
Branch: 19.3
Commit: 2e8af7b3e0ab6fd39299cde9797c524fd82b33b5
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2e8af7b3e0ab6fd39299cde9797c524fd82b33b5
Author: Gert Wollny <gert.wollny at collabora.com>
Date: Mon Nov 18 11:57:00 2019 +0100
r600: Disable eight bit three channel formats
Commit 0899bf55 made some deqp-gles3 tests related to RGB8 PBOs fail
on R600 because it exposed PIPE_FORMAT_R8G8B8_UNORM and R600 doesn't
propely handle this. Disabling this format also for buffers fixes the
issue.
In addition, disabling also the related RGB8 integer formats for buffers
fixes some deqp-gles3 tests:
dEQP-GLES3.functional.texture.specification.teximage2d_pbo.rgb8ui_cube
dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo.rgb8i_2d
dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo.rgb8i_cube
dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo.rgb8ui_2d
dEQP-GLES3.functional.texture.specification.texsubimage2d_pbo.rgb8ui_cube
dEQP-GLES3.functional.texture.specification.teximage3d_pbo.rgb8i_2d_array
dEQP-GLES3.functional.texture.specification.teximage3d_pbo.rgb8i_3d
dEQP-GLES3.functional.texture.specification.teximage3d_pbo.rgb8ui_2d_array
dEQP-GLES3.functional.texture.specification.teximage3d_pbo.rgb8ui_3d
dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo.rgb8i_2d_array
dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo.rgb8i_3d
dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo.rgb8ui_2d_array
dEQP-GLES3.functional.texture.specification.texsubimage3d_pbo.rgb8ui_3d
Fixes: 0899bf55
st/mesa: Map MESA_FORMAT_RGB_UNORM8 <-> PIPE_FORMAT_R8G8B8_UNORM
Closes #2118
Signed-off-by: Gert Wollny <gert.wollny at collabora.com>
Reviewed-by: Eric Anholt <eric at anholt.net>
(cherry picked from commit e41958e344cb4b15d01008140a1ee08817104334)
---
src/gallium/drivers/r600/r600_formats.h | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/gallium/drivers/r600/r600_formats.h b/src/gallium/drivers/r600/r600_formats.h
index 9533aaa1378..ad9c51a259a 100644
--- a/src/gallium/drivers/r600/r600_formats.h
+++ b/src/gallium/drivers/r600/r600_formats.h
@@ -115,6 +115,10 @@ static inline bool r600_is_vertex_format_supported(enum pipe_format format)
desc->channel[i].type == UTIL_FORMAT_TYPE_UNSIGNED))
return false;
+ /* No 8 bit 3 channel formats */
+ if (desc->channel[i].size == 8 && desc->nr_channels == 3)
+ return false;
+
return true;
}
More information about the mesa-commit
mailing list