mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-12-15 08:03:30 -08:00
vkd3d-shader/dxil: Emit 16-bit CONSTANT values as minimum precision registers.
This commit is contained in:
committed by
Henri Verbeet
parent
14477b1066
commit
1d780e1a6b
Notes:
Henri Verbeet
2025-06-11 20:36:59 +02:00
Approved-by: Henri Verbeet (@hverbeet) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1558
@@ -4603,15 +4603,14 @@ static uint32_t spirv_compiler_emit_load_constant(struct spirv_compiler *compile
|
||||
if (reg->dimension == VSIR_DIMENSION_SCALAR)
|
||||
{
|
||||
for (i = 0; i < component_count; ++i)
|
||||
values[i] = convert_raw_constant32(reg->data_type, reg->u.immconst_u32[0]);
|
||||
values[i] = reg->u.immconst_u32[0];
|
||||
}
|
||||
else
|
||||
{
|
||||
for (i = 0, j = 0; i < VKD3D_VEC4_SIZE; ++i)
|
||||
{
|
||||
if (write_mask & (VKD3DSP_WRITEMASK_0 << i))
|
||||
values[j++] = convert_raw_constant32(reg->data_type,
|
||||
reg->u.immconst_u32[vsir_swizzle_get_component(swizzle, i)]);
|
||||
values[j++] = reg->u.immconst_u32[vsir_swizzle_get_component(swizzle, i)];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user