bool shadow_needs_shader_swizzle = false;
/* samplers for stencil aspects of packed formats need to always use stencil swizzle */
if (ivci.subresourceRange.aspectMask & (VK_IMAGE_ASPECT_DEPTH_BIT | VK_IMAGE_ASPECT_STENCIL_BIT)) {
- if (sampler_view->base.swizzle_r == PIPE_SWIZZLE_0 &&
- sampler_view->base.swizzle_g == PIPE_SWIZZLE_0 &&
- sampler_view->base.swizzle_b == PIPE_SWIZZLE_0 &&
- sampler_view->base.swizzle_a == PIPE_SWIZZLE_X) {
- /*
- * When the state tracker asks for 000x swizzles, this is depth mode GL_ALPHA,
- * however with the single dref fetch this will fail, so just spam all the channels.
- */
- ivci.components.r = VK_COMPONENT_SWIZZLE_R;
- ivci.components.g = VK_COMPONENT_SWIZZLE_R;
- ivci.components.b = VK_COMPONENT_SWIZZLE_R;
- ivci.components.a = VK_COMPONENT_SWIZZLE_R;
- } else {
- ivci.components.r = zink_component_mapping(clamp_zs_swizzle(sampler_view->base.swizzle_r));
- ivci.components.g = zink_component_mapping(clamp_zs_swizzle(sampler_view->base.swizzle_g));
- ivci.components.b = zink_component_mapping(clamp_zs_swizzle(sampler_view->base.swizzle_b));
- ivci.components.a = zink_component_mapping(clamp_zs_swizzle(sampler_view->base.swizzle_a));
- }
+ ivci.components.r = zink_component_mapping(clamp_zs_swizzle(sampler_view->base.swizzle_r));
+ ivci.components.g = zink_component_mapping(clamp_zs_swizzle(sampler_view->base.swizzle_g));
+ ivci.components.b = zink_component_mapping(clamp_zs_swizzle(sampler_view->base.swizzle_b));
+ ivci.components.a = zink_component_mapping(clamp_zs_swizzle(sampler_view->base.swizzle_a));
if (ivci.subresourceRange.aspectMask == VK_IMAGE_ASPECT_DEPTH_BIT) {
VkComponentSwizzle *swizzle = (VkComponentSwizzle*)&ivci.components;
for (unsigned i = 0; i < 4; i++) {