mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-25 15:10:10 +01:00
intel/compiler: Validate fuzzed instructions
... before giving them to the instruction compactor. Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/2635>
This commit is contained in:
parent
72cf63cfc6
commit
22462ba242
3 changed files with 7 additions and 1 deletions
|
|
@ -1243,6 +1243,9 @@ void brw_debug_compact_uncompact(const struct gen_device_info *devinfo,
|
|||
brw_inst *orig, brw_inst *uncompacted);
|
||||
|
||||
/* brw_eu_validate.c */
|
||||
bool brw_validate_instruction(const struct gen_device_info *devinfo,
|
||||
const brw_inst *inst, int offset,
|
||||
struct disasm_info *disasm);
|
||||
bool brw_validate_instructions(const struct gen_device_info *devinfo,
|
||||
const void *assembly, int start_offset, int end_offset,
|
||||
struct disasm_info *disasm);
|
||||
|
|
|
|||
|
|
@ -1937,7 +1937,7 @@ instruction_restrictions(const struct gen_device_info *devinfo,
|
|||
return error_msg;
|
||||
}
|
||||
|
||||
static bool
|
||||
bool
|
||||
brw_validate_instruction(const struct gen_device_info *devinfo,
|
||||
const brw_inst *inst, int offset,
|
||||
struct disasm_info *disasm)
|
||||
|
|
|
|||
|
|
@ -160,6 +160,9 @@ test_fuzz_compact_instruction(struct brw_codegen *p, brw_inst src)
|
|||
|
||||
clear_pad_bits(p->devinfo, &instr);
|
||||
|
||||
if (!brw_validate_instruction(p->devinfo, &instr, 0, NULL))
|
||||
continue;
|
||||
|
||||
if (!test_compact_instruction(p, instr)) {
|
||||
printf(" twiddled bits for fuzzing %d, %d\n", bit0, bit1);
|
||||
return false;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue