From: "Zebediah Figura (she/her)" Subject: Re: [PATCH vkd3d 6/8] vkd3d-shader/hlsl: Support casts for all numeric types in fold_constants(). Message-Id: <346c7ea8-c9d9-1acf-aea5-55b068de40c6@codeweavers.com> Date: Mon, 17 Jan 2022 17:53:18 -0600 In-Reply-To: <20220106173949.82958-6-fcasas@codeweavers.com> References: <20220106173949.82958-6-fcasas@codeweavers.com> On 1/6/22 11:39, Francisco Casas wrote: > + switch (src->node.data_type->base_type) > + { > + case HLSL_TYPE_FLOAT: > + case HLSL_TYPE_HALF: > + u = src->value[k].f; > + i = src->value[k].f; > + f = src->value[k].f; > + d = src->value[k].f; > + break; > + case HLSL_TYPE_DOUBLE: > + u = src->value[k].d; > + i = src->value[k].d; > + f = src->value[k].d; > + d = src->value[k].d; > + break; > + case HLSL_TYPE_INT: > + u = src->value[k].i; > + i = src->value[k].i; > + f = src->value[k].i; > + d = src->value[k].i; > + break; > + case HLSL_TYPE_UINT: > + u = src->value[k].u; > + i = src->value[k].u; > + f = src->value[k].u; > + d = src->value[k].u; > + break; > + case HLSL_TYPE_BOOL: > + u = !!src->value[k].u; > + i = !!src->value[k].u; > + f = !!src->value[k].u; > + d = !!src->value[k].u; > + break; Booleans still use the "b" member upstream. > + default: > + FIXME("Cast from %s to %s.\n", debug_hlsl_type(ctx, src->node.data_type), > + debug_hlsl_type(ctx, tgt->node.data_type)); > + return 0; > + }