summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/drivers')
-rw-r--r--src/mesa/drivers/dri/i965/brw_eu_emit.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_eu_emit.c b/src/mesa/drivers/dri/i965/brw_eu_emit.c
index cd17e3b0b0b..8d08d1856ab 100644
--- a/src/mesa/drivers/dri/i965/brw_eu_emit.c
+++ b/src/mesa/drivers/dri/i965/brw_eu_emit.c
@@ -94,6 +94,14 @@ unsigned
brw_reg_type_to_hw_type(const struct gen_device_info *devinfo,
enum brw_reg_type type, enum brw_reg_file file)
{
+ /* If the type is Q or UQ and Gen < 8, change the type to DF. On Gen < 8,
+ * the only Q or UQ moves the should occur are actually to move doubles
+ * anyway.
+ */
+ if (devinfo->gen < 8 && (type == BRW_REGISTER_TYPE_UQ ||
+ type == BRW_REGISTER_TYPE_Q))
+ type = BRW_REGISTER_TYPE_DF;
+
if (file == BRW_IMMEDIATE_VALUE) {
static const int imm_hw_types[] = {
[BRW_REGISTER_TYPE_UD] = BRW_HW_REG_TYPE_UD,