mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2024-11-21 16:46:41 -08:00
vkd3d-shader/ir: Do not search for signature elements using a scalar write mask.
The fallback code was added when shader_signature_find_element_for_reg() would crash when unable to find the requested signature element. Now it doesn't any more, and the second search is redundant.
This commit is contained in:
parent
690c47dbf8
commit
080f25c583
Notes:
Henri Verbeet
2024-10-10 20:10:00 +02:00
Approved-by: Giovanni Mascellani (@giomasce) Approved-by: Henri Verbeet (@hverbeet) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1170
@ -1221,7 +1221,7 @@ static bool shader_signature_find_element_for_reg(const struct shader_signature
|
|||||||
unsigned int reg_idx, unsigned int write_mask, unsigned int *element_idx)
|
unsigned int reg_idx, unsigned int write_mask, unsigned int *element_idx)
|
||||||
{
|
{
|
||||||
const struct signature_element *e;
|
const struct signature_element *e;
|
||||||
unsigned int i, base_write_mask;
|
unsigned int i;
|
||||||
|
|
||||||
for (i = 0; i < signature->element_count; ++i)
|
for (i = 0; i < signature->element_count; ++i)
|
||||||
{
|
{
|
||||||
@ -1234,14 +1234,6 @@ static bool shader_signature_find_element_for_reg(const struct shader_signature
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Validated in the TPF reader, but failure in signature_element_range_expand_mask()
|
|
||||||
* can land us here on an unmatched vector mask. */
|
|
||||||
FIXME("Failed to find signature element for register index %u, mask %#x; using scalar mask.\n",
|
|
||||||
reg_idx, write_mask);
|
|
||||||
base_write_mask = 1u << vsir_write_mask_get_component_idx(write_mask);
|
|
||||||
if (base_write_mask != write_mask)
|
|
||||||
return shader_signature_find_element_for_reg(signature, reg_idx, base_write_mask, element_idx);
|
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user