mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-09-12 18:50:22 -07:00
vkd3d-shader/tpf: Validate index range declarations.
This commit is contained in:
committed by
Alexandre Julliard
parent
d565fbdcd6
commit
6dd1b01284
Notes:
Alexandre Julliard
2023-05-09 22:25:51 +02:00
Approved-by: Henri Verbeet (@hverbeet) Approved-by: Alexandre Julliard (@julliard) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/198
@@ -6195,8 +6195,6 @@ static bool spirv_compiler_check_index_range(struct spirv_compiler *compiler,
|
||||
struct vkd3d_shader_register_info reg_info;
|
||||
struct vkd3d_shader_register current_reg;
|
||||
struct vkd3d_symbol reg_symbol;
|
||||
unsigned int i;
|
||||
uint32_t id;
|
||||
|
||||
current_reg = *reg;
|
||||
vkd3d_symbol_make_register(®_symbol, ¤t_reg);
|
||||
@@ -6212,27 +6210,6 @@ static bool spirv_compiler_check_index_range(struct spirv_compiler *compiler,
|
||||
FIXME("Unhandled register %#x.\n", reg->type);
|
||||
return false;
|
||||
}
|
||||
id = reg_info.id;
|
||||
|
||||
for (i = reg->idx[0].offset; i < reg->idx[0].offset + range->register_count; ++i)
|
||||
{
|
||||
current_reg.idx[0].offset = i;
|
||||
vkd3d_symbol_make_register(®_symbol, ¤t_reg);
|
||||
|
||||
if (range->dst.write_mask != reg_info.write_mask
|
||||
|| vkd3d_write_mask_component_count(reg_info.write_mask) != 1)
|
||||
{
|
||||
FIXME("Unhandled index range write mask %#x (%#x).\n",
|
||||
range->dst.write_mask, reg_info.write_mask);
|
||||
return false;
|
||||
}
|
||||
|
||||
if (reg_info.id != id)
|
||||
{
|
||||
FIXME("Unhandled index range %#x, %u.\n", reg->type, i);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user