mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-01-28 13:05:02 -08:00
vkd3d-shader/ir: Pass a uint32_t write mask to vkd3d_write_mask_64_from_32().
This commit is contained in:
parent
713adaa56a
commit
3759186193
Notes:
Alexandre Julliard
2023-12-13 23:23:35 +01:00
Approved-by: Alexandre Julliard (@julliard) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/522
@ -2231,7 +2231,7 @@ static bool shader_sm4_read_dst_param(struct vkd3d_shader_sm4_parser *priv, cons
|
||||
}
|
||||
|
||||
if (data_type == VKD3D_DATA_DOUBLE)
|
||||
dst_param->write_mask = vkd3d_write_mask_64_from_32(dst_param->write_mask);
|
||||
dst_param->write_mask = vsir_write_mask_64_from_32(dst_param->write_mask);
|
||||
/* Some scalar registers are declared with no write mask in shader bytecode. */
|
||||
if (!dst_param->write_mask && shader_sm4_is_scalar_register(&dst_param->reg))
|
||||
dst_param->write_mask = VKD3DSP_WRITEMASK_0;
|
||||
|
@ -1544,9 +1544,9 @@ static inline unsigned int vkd3d_write_mask_from_component_count(unsigned int co
|
||||
return (VKD3DSP_WRITEMASK_0 << component_count) - 1;
|
||||
}
|
||||
|
||||
static inline unsigned int vkd3d_write_mask_64_from_32(DWORD write_mask32)
|
||||
static inline uint32_t vsir_write_mask_64_from_32(uint32_t write_mask32)
|
||||
{
|
||||
unsigned int write_mask64 = write_mask32 | (write_mask32 >> 1);
|
||||
uint32_t write_mask64 = write_mask32 | (write_mask32 >> 1);
|
||||
return (write_mask64 & VKD3DSP_WRITEMASK_0) | ((write_mask64 & VKD3DSP_WRITEMASK_2) >> 1);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user