Mesa (master): anv/formats: Don't use an RGBX format if it isn' t renderable
Jason Ekstrand
jekstrand at kemper.freedesktop.org
Tue Aug 23 18:45:54 UTC 2016
Module: Mesa
Branch: master
Commit: fb90291dd5a734de3eb2ab59d883df3d2f9db0c7
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=fb90291dd5a734de3eb2ab59d883df3d2f9db0c7
Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date: Tue Jul 26 11:33:45 2016 -0700
anv/formats: Don't use an RGBX format if it isn't renderable
The whole point of using RGBX is so that we can render to it so if it isn't
renderable, that kind-of defeats the purpose. Some formats (one example is
R32G32B32X32_SFLOAT) exist in the format table but aren't actually
renderable. Eventually, we'd like to get away from RGBX entirely, but this
fixes hangs on BDW today.
Signed-off-by: Jason Ekstrand <jason at jlekstrand.net>
---
src/intel/vulkan/anv_formats.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/intel/vulkan/anv_formats.c b/src/intel/vulkan/anv_formats.c
index b06e29b..bbfb292 100644
--- a/src/intel/vulkan/anv_formats.c
+++ b/src/intel/vulkan/anv_formats.c
@@ -278,7 +278,8 @@ anv_get_format(const struct brw_device_info *devinfo, VkFormat vk_format,
* hood.
*/
enum isl_format rgbx = isl_format_rgb_to_rgbx(format.isl_format);
- if (rgbx != ISL_FORMAT_UNSUPPORTED) {
+ if (rgbx != ISL_FORMAT_UNSUPPORTED &&
+ isl_format_supports_rendering(devinfo, rgbx)) {
format.isl_format = rgbx;
} else {
format.isl_format = isl_format_rgb_to_rgba(format.isl_format);
More information about the mesa-commit
mailing list