mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-01-28 13:05:02 -08:00
vkd3d-shader: Make VKD3D_SHADER_SWIZZLE more legible.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com> Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
7a414b1afc
commit
04605a341b
@ -738,14 +738,12 @@ struct vkd3d_shader_signature
|
||||
#define VKD3D_SHADER_SWIZZLE_SHIFT(idx) (2u * (idx))
|
||||
|
||||
#define VKD3D_SHADER_SWIZZLE(x, y, z, w) \
|
||||
(((x & VKD3D_SHADER_SWIZZLE_MASK) << VKD3D_SHADER_SWIZZLE_SHIFT(0)) \
|
||||
| ((y & VKD3D_SHADER_SWIZZLE_MASK) << VKD3D_SHADER_SWIZZLE_SHIFT(1)) \
|
||||
| ((z & VKD3D_SHADER_SWIZZLE_MASK) << VKD3D_SHADER_SWIZZLE_SHIFT(2)) \
|
||||
| ((w & VKD3D_SHADER_SWIZZLE_MASK) << VKD3D_SHADER_SWIZZLE_SHIFT(3)))
|
||||
(((VKD3D_SHADER_SWIZZLE_ ## x) << VKD3D_SHADER_SWIZZLE_SHIFT(0)) \
|
||||
| ((VKD3D_SHADER_SWIZZLE_ ## y) << VKD3D_SHADER_SWIZZLE_SHIFT(1)) \
|
||||
| ((VKD3D_SHADER_SWIZZLE_ ## z) << VKD3D_SHADER_SWIZZLE_SHIFT(2)) \
|
||||
| ((VKD3D_SHADER_SWIZZLE_ ## w) << VKD3D_SHADER_SWIZZLE_SHIFT(3)))
|
||||
|
||||
#define VKD3D_SHADER_NO_SWIZZLE \
|
||||
VKD3D_SHADER_SWIZZLE(VKD3D_SHADER_SWIZZLE_X, VKD3D_SHADER_SWIZZLE_Y, \
|
||||
VKD3D_SHADER_SWIZZLE_Z, VKD3D_SHADER_SWIZZLE_W)
|
||||
#define VKD3D_SHADER_NO_SWIZZLE VKD3D_SHADER_SWIZZLE(X, Y, Z, W)
|
||||
|
||||
#ifndef VKD3D_SHADER_NO_PROTOTYPES
|
||||
|
||||
|
@ -1669,8 +1669,7 @@ static bool shader_sm4_read_src_param(struct vkd3d_sm4_data *priv, const DWORD *
|
||||
{
|
||||
case VKD3D_SM4_SWIZZLE_NONE:
|
||||
if (shader_sm4_is_scalar_register(&src_param->reg))
|
||||
src_param->swizzle = VKD3D_SHADER_SWIZZLE(VKD3D_SHADER_SWIZZLE_X,
|
||||
VKD3D_SHADER_SWIZZLE_X, VKD3D_SHADER_SWIZZLE_X, VKD3D_SHADER_SWIZZLE_X);
|
||||
src_param->swizzle = VKD3D_SHADER_SWIZZLE(X, X, X, X);
|
||||
else
|
||||
src_param->swizzle = VKD3D_SHADER_NO_SWIZZLE;
|
||||
break;
|
||||
|
@ -1971,8 +1971,7 @@ static HRESULT compute_input_layout_offsets(const struct d3d12_device *device,
|
||||
static unsigned int vkd3d_get_rt_format_swizzle(const struct vkd3d_format *format)
|
||||
{
|
||||
if (format->dxgi_format == DXGI_FORMAT_A8_UNORM)
|
||||
return VKD3D_SHADER_SWIZZLE(VKD3D_SHADER_SWIZZLE_W, VKD3D_SHADER_SWIZZLE_X,
|
||||
VKD3D_SHADER_SWIZZLE_Y, VKD3D_SHADER_SWIZZLE_Z);
|
||||
return VKD3D_SHADER_SWIZZLE(W, X, Y, Z);
|
||||
|
||||
return VKD3D_SHADER_NO_SWIZZLE;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user