intel/eu: Fix pixel interpolator queries for SIMD32.
authorFrancisco Jerez <currojerez@riseup.net>
Tue, 26 Apr 2016 02:20:49 +0000 (19:20 -0700)
committerJason Ekstrand <jason.ekstrand@intel.com>
Thu, 28 Jun 2018 20:19:38 +0000 (13:19 -0700)
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Matt Turner <mattst88@gmail.com>
src/intel/compiler/brw_eu_emit.c

index 365630b703a4775f15623e4a7ba64ccce93a6777..46e34d3ba9a61ca16f9da5629e7d30242272c966 100644 (file)
@@ -3374,6 +3374,7 @@ brw_pixel_interpolator_query(struct brw_codegen *p,
    const struct gen_device_info *devinfo = p->devinfo;
    struct brw_inst *insn;
    const uint16_t exec_size = brw_get_default_exec_size(p);
+   const uint16_t qtr_ctrl = brw_get_default_group(p) / 8;
 
    /* brw_send_indirect_message will automatically use a direct send message
     * if data is actually immediate.
@@ -3387,7 +3388,7 @@ brw_pixel_interpolator_query(struct brw_codegen *p,
    brw_inst_set_rlen(devinfo, insn, response_length);
 
    brw_inst_set_pi_simd_mode(devinfo, insn, exec_size == BRW_EXECUTE_16);
-   brw_inst_set_pi_slot_group(devinfo, insn, 0); /* zero unless 32/64px dispatch */
+   brw_inst_set_pi_slot_group(devinfo, insn, qtr_ctrl / 2);
    brw_inst_set_pi_nopersp(devinfo, insn, noperspective);
    brw_inst_set_pi_message_type(devinfo, insn, mode);
 }