if (key->tex[combined_idx].return_size == 32) {
v3d_key_return_size = 32;
}
-
- /* Note: In general, we don't need to do anything for the swizzle, as
- * that is handled with the swizzle info at the Texture State, and the
- * default values for key->tex[].swizzle were already filled up at
- * the pipeline creation time.
- *
- * The only exeption in which we want to apply a texture swizzle
- * lowering in the shader is to force alpha to 1 when using clamp
- * to border with transparent black in combination with specific
- * formats.
- */
- if (sampler && sampler->clamp_to_transparent_black_border) {
- switch (vk_format) {
- case VK_FORMAT_E5B9G9R9_UFLOAT_PACK32:
- case VK_FORMAT_B10G11R11_UFLOAT_PACK32:
- key->tex[combined_idx].swizzle[3] = PIPE_SWIZZLE_1;
- break;
- default:
- break;
- }
- }
}
v3d_key_update_return_size(cmd_buffer->state.pipeline, key,
v3d_key_return_size);
FORMAT(A8B8G8R8_SRGB_PACK32, SRGB8_ALPHA8, RGBA8, SWIZ_XYZW, 16, true), /* RGBA8 sRGB */
FORMAT(A2B10G10R10_UNORM_PACK32,RGB10_A2, RGB10_A2, SWIZ_XYZW, 16, true),
FORMAT(A2B10G10R10_UINT_PACK32, RGB10_A2UI, RGB10_A2UI, SWIZ_XYZW, 16, true),
- FORMAT(E5B9G9R9_UFLOAT_PACK32, NO, RGB9_E5, SWIZ_XYZW, 16, true),
- FORMAT(B10G11R11_UFLOAT_PACK32, R11F_G11F_B10F,R11F_G11F_B10F, SWIZ_XYZW, 16, true),
+ FORMAT(E5B9G9R9_UFLOAT_PACK32, NO, RGB9_E5, SWIZ_XYZ1, 16, true),
+ FORMAT(B10G11R11_UFLOAT_PACK32, R11F_G11F_B10F,R11F_G11F_B10F, SWIZ_XYZ1, 16, true),
/* Depth */
FORMAT(D16_UNORM, D16, DEPTH_COMP16, SWIZ_X001, 32, false),