mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-09-12 18:50:22 -07:00
vkd3d-shader/hlsl: Return an hlsl_ir_node pointer from hlsl_new_constant().
This commit is contained in:
committed by
Alexandre Julliard
parent
740b0ad807
commit
f34b107faf
Notes:
Alexandre Julliard
2023-06-08 23:22:36 +02:00
Approved-by: Giovanni Mascellani (@giomasce) Approved-by: Henri Verbeet (@hverbeet) Approved-by: Alexandre Julliard (@julliard) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/223
@@ -1146,7 +1146,7 @@ struct hlsl_ir_node *hlsl_new_call(struct hlsl_ctx *ctx, struct hlsl_ir_function
|
||||
return &call->node;
|
||||
}
|
||||
|
||||
struct hlsl_ir_constant *hlsl_new_constant(struct hlsl_ctx *ctx, struct hlsl_type *type,
|
||||
struct hlsl_ir_node *hlsl_new_constant(struct hlsl_ctx *ctx, struct hlsl_type *type,
|
||||
const struct hlsl_constant_value *value, const struct vkd3d_shader_location *loc)
|
||||
{
|
||||
struct hlsl_ir_constant *c;
|
||||
@@ -1159,53 +1159,41 @@ struct hlsl_ir_constant *hlsl_new_constant(struct hlsl_ctx *ctx, struct hlsl_typ
|
||||
init_node(&c->node, HLSL_IR_CONSTANT, type, loc);
|
||||
c->value = *value;
|
||||
|
||||
return c;
|
||||
return &c->node;
|
||||
}
|
||||
|
||||
struct hlsl_ir_node *hlsl_new_bool_constant(struct hlsl_ctx *ctx, bool b, const struct vkd3d_shader_location *loc)
|
||||
{
|
||||
struct hlsl_constant_value value;
|
||||
struct hlsl_ir_constant *c;
|
||||
|
||||
value.u[0].u = b ? ~0u : 0;
|
||||
if (!(c = hlsl_new_constant(ctx, hlsl_get_scalar_type(ctx, HLSL_TYPE_BOOL), &value, loc)))
|
||||
return NULL;
|
||||
return &c->node;
|
||||
return hlsl_new_constant(ctx, hlsl_get_scalar_type(ctx, HLSL_TYPE_BOOL), &value, loc);
|
||||
}
|
||||
|
||||
struct hlsl_ir_node *hlsl_new_float_constant(struct hlsl_ctx *ctx, float f,
|
||||
const struct vkd3d_shader_location *loc)
|
||||
{
|
||||
struct hlsl_constant_value value;
|
||||
struct hlsl_ir_constant *c;
|
||||
|
||||
value.u[0].f = f;
|
||||
if (!(c = hlsl_new_constant(ctx, hlsl_get_scalar_type(ctx, HLSL_TYPE_FLOAT), &value, loc)))
|
||||
return NULL;
|
||||
return &c->node;
|
||||
return hlsl_new_constant(ctx, hlsl_get_scalar_type(ctx, HLSL_TYPE_FLOAT), &value, loc);
|
||||
}
|
||||
|
||||
struct hlsl_ir_node *hlsl_new_int_constant(struct hlsl_ctx *ctx, int32_t n, const struct vkd3d_shader_location *loc)
|
||||
{
|
||||
struct hlsl_constant_value value;
|
||||
struct hlsl_ir_constant *c;
|
||||
|
||||
value.u[0].i = n;
|
||||
if (!(c = hlsl_new_constant(ctx, hlsl_get_scalar_type(ctx, HLSL_TYPE_INT), &value, loc)))
|
||||
return NULL;
|
||||
return &c->node;
|
||||
return hlsl_new_constant(ctx, hlsl_get_scalar_type(ctx, HLSL_TYPE_INT), &value, loc);
|
||||
}
|
||||
|
||||
struct hlsl_ir_node *hlsl_new_uint_constant(struct hlsl_ctx *ctx, unsigned int n,
|
||||
const struct vkd3d_shader_location *loc)
|
||||
{
|
||||
struct hlsl_constant_value value;
|
||||
struct hlsl_ir_constant *c;
|
||||
|
||||
value.u[0].u = n;
|
||||
if (!(c = hlsl_new_constant(ctx, hlsl_get_scalar_type(ctx, HLSL_TYPE_UINT), &value, loc)))
|
||||
return NULL;
|
||||
return &c->node;
|
||||
return hlsl_new_constant(ctx, hlsl_get_scalar_type(ctx, HLSL_TYPE_UINT), &value, loc);
|
||||
}
|
||||
|
||||
struct hlsl_ir_node *hlsl_new_expr(struct hlsl_ctx *ctx, enum hlsl_ir_expr_op op,
|
||||
@@ -1560,11 +1548,7 @@ static struct hlsl_ir_node *clone_call(struct hlsl_ctx *ctx, struct hlsl_ir_call
|
||||
|
||||
static struct hlsl_ir_node *clone_constant(struct hlsl_ctx *ctx, struct hlsl_ir_constant *src)
|
||||
{
|
||||
struct hlsl_ir_constant *dst;
|
||||
|
||||
if (!(dst = hlsl_new_constant(ctx, src->node.data_type, &src->value, &src->node.loc)))
|
||||
return NULL;
|
||||
return &dst->node;
|
||||
return hlsl_new_constant(ctx, src->node.data_type, &src->value, &src->node.loc);
|
||||
}
|
||||
|
||||
static struct hlsl_ir_node *clone_expr(struct hlsl_ctx *ctx, struct clone_instr_map *map, struct hlsl_ir_expr *src)
|
||||
|
Reference in New Issue
Block a user