diff --git a/src/gallium/drivers/zink/zink_screen.c b/src/gallium/drivers/zink/zink_screen.c index e1871b0ea1c..b1c7e5c3d4a 100644 --- a/src/gallium/drivers/zink/zink_screen.c +++ b/src/gallium/drivers/zink/zink_screen.c @@ -1363,6 +1363,11 @@ zink_is_format_supported(struct pipe_screen *pscreen, } } + /* We can't swizzle buffer views */ + if (bind & (PIPE_BIND_SAMPLER_VIEW | PIPE_BIND_SHADER_IMAGE) && + util_format_is_intensity(format)) + return false; + if (bind & PIPE_BIND_SAMPLER_VIEW && !(props->bufferFeatures & VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT)) return false;