intel/compiler: Fix a fallthrough in components_read() for atomics
In commit284f0c9a57
I refactored the handling of the data source to just call a helper rather than special casing opcodes with 0 or 2 sources. Unfortunately, I also dropped the "else return 1", creating a fallthrough for all sources other than SURFACE_LOGICAL_SRC_ADDRESS and SURFACE_LOGICAL_SRC_DATA. The case below happened to return the correct value for all cases except SURFACE_LOGICAL_SRC_SURFACE, which has been returning 2 instead of 1 since that commit. Restore the else case. Thanks to Marcin Ślusarz for catching this. Fixes:284f0c9a57
("intel/compiler: Add an lsc_op_num_data_values() helper") Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Marcin Ślusarz <marcin.slusarz@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23347>
This commit is contained in:

committed by
Marge Bot

parent
c5bac3164a
commit
2d9a3bb093
@@ -825,6 +825,8 @@ fs_inst::components_read(unsigned i) const
|
||||
/* Surface operation source. */
|
||||
else if (i == SURFACE_LOGICAL_SRC_DATA)
|
||||
return lsc_op_num_data_values(op);
|
||||
else
|
||||
return 1;
|
||||
}
|
||||
case FS_OPCODE_INTERPOLATE_AT_PER_SLOT_OFFSET:
|
||||
return (i == 0 ? 2 : 1);
|
||||
|
Reference in New Issue
Block a user