summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Turner <[email protected]>2016-11-06 21:50:14 -0800
committerMatt Turner <[email protected]>2017-01-20 11:40:52 -0800
commitfce0612fc2c91cc48f9897a6ac66634aa19ec0f4 (patch)
tree0dffc49824634eea3441d7d24d81e10fd00583b5
parentc9724682b52ba453817c3430af1332f28f5ac50c (diff)
i965: Claim that SEND/math has two sources.
src1 must be a descriptor (including the information to determine that the SEND is doing an extended math operation), but src0 can actually be null since it serves as the source of the implicit GRF -> MRF move. Reviewed-by: Kenneth Graunke <[email protected]>
-rw-r--r--src/mesa/drivers/dri/i965/brw_eu_validate.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_eu_validate.c b/src/mesa/drivers/dri/i965/brw_eu_validate.c
index 8c2eb99f8e5..9648f0d0732 100644
--- a/src/mesa/drivers/dri/i965/brw_eu_validate.c
+++ b/src/mesa/drivers/dri/i965/brw_eu_validate.c
@@ -96,7 +96,14 @@ num_sources_from_inst(const struct gen_device_info *devinfo,
} else if (devinfo->gen < 6 &&
brw_inst_opcode(devinfo, inst) == BRW_OPCODE_SEND) {
if (brw_inst_sfid(devinfo, inst) == BRW_SFID_MATH) {
- math_function = brw_inst_math_msg_function(devinfo, inst);
+ /* src1 must be a descriptor (including the information to determine
+ * that the SEND is doing an extended math operation), but src0 can
+ * actually be null since it serves as the source of the implicit GRF
+ * to MRF move.
+ *
+ * If we stop using that functionality, we'll have to revisit this.
+ */
+ return 2;
} else {
/* Send instructions are allowed to have null sources since they use
* the base_mrf field to specify which message register source.