vkd3d-shader/ir: Use the .w component of the existing swizzle when lowering texldb.

This commit is contained in:
Elizabeth Figura
2025-05-12 13:22:39 -05:00
committed by Henri Verbeet
parent e16176672a
commit bfa655a01f
Notes: Henri Verbeet 2025-05-14 15:29:10 +02:00
Approved-by: Francisco Casas (@fcasas)
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1499

View File

@@ -862,12 +862,14 @@ static enum vkd3d_result vsir_program_lower_tex(struct vsir_program *program,
}
else if (tex->flags == VKD3DSI_TEXLD_BIAS)
{
enum vkd3d_shader_swizzle_component w = vsir_swizzle_get_component(srcs[0].swizzle, 3);
tex->opcode = VKD3DSIH_SAMPLE_B;
tex->src = srcs;
tex->src_count = 4;
srcs[3] = tex->src[0];
srcs[3].swizzle = VKD3D_SHADER_SWIZZLE(W, W, W, W);
srcs[3].swizzle = vkd3d_shader_create_swizzle(w, w, w, w);
}
else
{