mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-01-28 13:05:02 -08:00
vkd3d-shader/hlsl: Return an hlsl_ir_node pointer from hlsl_new_resource_store().
This commit is contained in:
parent
3cc18f1e9f
commit
6de904b448
Notes:
Alexandre Julliard
2023-05-02 22:25:49 +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/176
@ -1330,7 +1330,7 @@ struct hlsl_ir_node *hlsl_new_resource_load(struct hlsl_ctx *ctx,
|
||||
return &load->node;
|
||||
}
|
||||
|
||||
struct hlsl_ir_resource_store *hlsl_new_resource_store(struct hlsl_ctx *ctx, const struct hlsl_deref *resource,
|
||||
struct hlsl_ir_node *hlsl_new_resource_store(struct hlsl_ctx *ctx, const struct hlsl_deref *resource,
|
||||
struct hlsl_ir_node *coords, struct hlsl_ir_node *value, const struct vkd3d_shader_location *loc)
|
||||
{
|
||||
struct hlsl_ir_resource_store *store;
|
||||
@ -1341,7 +1341,7 @@ struct hlsl_ir_resource_store *hlsl_new_resource_store(struct hlsl_ctx *ctx, con
|
||||
hlsl_copy_deref(ctx, &store->resource, resource);
|
||||
hlsl_src_from_node(&store->coords, coords);
|
||||
hlsl_src_from_node(&store->value, value);
|
||||
return store;
|
||||
return &store->node;
|
||||
}
|
||||
|
||||
struct hlsl_ir_swizzle *hlsl_new_swizzle(struct hlsl_ctx *ctx, DWORD s, unsigned int components,
|
||||
|
@ -1113,7 +1113,7 @@ struct hlsl_ir_node *hlsl_new_loop(struct hlsl_ctx *ctx,
|
||||
struct hlsl_block *block, const struct vkd3d_shader_location *loc);
|
||||
struct hlsl_ir_node *hlsl_new_resource_load(struct hlsl_ctx *ctx,
|
||||
const struct hlsl_resource_load_params *params, const struct vkd3d_shader_location *loc);
|
||||
struct hlsl_ir_resource_store *hlsl_new_resource_store(struct hlsl_ctx *ctx, const struct hlsl_deref *resource,
|
||||
struct hlsl_ir_node *hlsl_new_resource_store(struct hlsl_ctx *ctx, const struct hlsl_deref *resource,
|
||||
struct hlsl_ir_node *coords, struct hlsl_ir_node *value, const struct vkd3d_shader_location *loc);
|
||||
struct hlsl_type *hlsl_new_struct_type(struct hlsl_ctx *ctx, const char *name,
|
||||
struct hlsl_struct_field *fields, size_t field_count);
|
||||
|
@ -1778,9 +1778,9 @@ static struct hlsl_ir_node *add_assignment(struct hlsl_ctx *ctx, struct list *in
|
||||
if (lhs->type == HLSL_IR_RESOURCE_LOAD)
|
||||
{
|
||||
struct hlsl_ir_resource_load *load = hlsl_ir_resource_load(lhs);
|
||||
struct hlsl_ir_resource_store *store;
|
||||
struct hlsl_type *resource_type;
|
||||
struct hlsl_ir_swizzle *coords;
|
||||
struct hlsl_ir_node *store;
|
||||
unsigned int dim_count;
|
||||
|
||||
/* Such an lvalue was produced by an index expression. */
|
||||
@ -1809,7 +1809,7 @@ static struct hlsl_ir_node *add_assignment(struct hlsl_ctx *ctx, struct list *in
|
||||
|
||||
if (!(store = hlsl_new_resource_store(ctx, &load->resource, &coords->node, rhs, &lhs->loc)))
|
||||
return NULL;
|
||||
list_add_tail(instrs, &store->node.entry);
|
||||
list_add_tail(instrs, &store->entry);
|
||||
}
|
||||
else if (lhs->type == HLSL_IR_INDEX && hlsl_index_is_noncontiguous(hlsl_ir_index(lhs)))
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user