mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-09-12 18:50:22 -07:00
vkd3d-shader/dxil: Represent non uniformness in the SM6 value.
This commit is contained in:
committed by
Henri Verbeet
parent
af5e5fe31b
commit
a9a3100cca
Notes:
Henri Verbeet
2025-06-05 16:19:21 +02:00
Approved-by: Henri Verbeet (@hverbeet) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1539
@@ -711,6 +711,7 @@ struct sm6_value
|
|||||||
enum sm6_value_type value_type;
|
enum sm6_value_type value_type;
|
||||||
unsigned int structure_stride;
|
unsigned int structure_stride;
|
||||||
bool is_back_ref;
|
bool is_back_ref;
|
||||||
|
bool non_uniform;
|
||||||
union
|
union
|
||||||
{
|
{
|
||||||
struct sm6_function_data function;
|
struct sm6_function_data function;
|
||||||
@@ -2514,6 +2515,8 @@ static void sm6_register_from_value(struct vkd3d_shader_register *reg, const str
|
|||||||
case VALUE_TYPE_DATA:
|
case VALUE_TYPE_DATA:
|
||||||
vkd3d_unreachable();
|
vkd3d_unreachable();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
reg->non_uniform = value->non_uniform;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void sm6_parser_init_ssa_value(struct sm6_parser *sm6, struct sm6_value *value)
|
static void sm6_parser_init_ssa_value(struct sm6_parser *sm6, struct sm6_value *value)
|
||||||
@@ -8003,7 +8006,8 @@ static void metadata_attachment_record_apply(const struct dxil_record *record, e
|
|||||||
}
|
}
|
||||||
else if (metadata_node_get_unary_uint(node, &operand, sm6))
|
else if (metadata_node_get_unary_uint(node, &operand, sm6))
|
||||||
{
|
{
|
||||||
dst->reg.non_uniform = !!operand;
|
dst->non_uniform = !!operand;
|
||||||
|
sm6_register_from_value(&dst->reg, dst, sm6);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
Reference in New Issue
Block a user