summaryrefslogtreecommitdiffstats
path: root/src/intel/compiler/brw_eu.h
diff options
context:
space:
mode:
authorFrancisco Jerez <[email protected]>2018-07-09 16:16:16 -0700
committerFrancisco Jerez <[email protected]>2018-07-09 23:46:58 -0700
commitb10b4e7c459aecdb788de5195cca809c680663e1 (patch)
tree84d8ea58e73284f4a1c174564a86675b8f6d4097 /src/intel/compiler/brw_eu.h
parent8fa4bc4676fbd97b79799bef462078114b81e57a (diff)
intel/eu: Use descriptor constructors for pixel interpolator messages.
v2: Use SET_BITS macro instead of left shift (Ken). Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/intel/compiler/brw_eu.h')
-rw-r--r--src/intel/compiler/brw_eu.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/intel/compiler/brw_eu.h b/src/intel/compiler/brw_eu.h
index e963d95a478..2ea9749070c 100644
--- a/src/intel/compiler/brw_eu.h
+++ b/src/intel/compiler/brw_eu.h
@@ -350,6 +350,23 @@ brw_dp_write_desc(const struct gen_device_info *devinfo,
SET_BITS(send_commit_msg, 15, 15));
}
+/**
+ * Construct a message descriptor immediate with the specified pixel
+ * interpolator function controls.
+ */
+static inline uint32_t
+brw_pixel_interp_desc(const struct gen_device_info *devinfo,
+ unsigned msg_type,
+ bool noperspective,
+ unsigned simd_mode,
+ unsigned slot_group)
+{
+ return (SET_BITS(slot_group, 11, 11) |
+ SET_BITS(msg_type, 13, 12) |
+ SET_BITS(!!noperspective, 14, 14) |
+ SET_BITS(simd_mode, 16, 16));
+}
+
void brw_urb_WRITE(struct brw_codegen *p,
struct brw_reg dest,
unsigned msg_reg_nr,