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@jlekstrand.net>
This commit is contained in:
@@ -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);
|
||||
|
Reference in New Issue
Block a user