{
p = rzalloc(mem_ctx, struct brw_codegen);
brw_init_codegen(devinfo, p, mem_ctx);
+
+ /* In the FS code generator, we are very careful to ensure that we always
+ * set the right execution size so we don't need the EU code to "help" us
+ * by trying to infer it. Sometimes, it infers the wrong thing.
+ */
+ p->automatic_exec_sizes = false;
}
fs_generator::~fs_generator()
struct brw_reg v1_null_ud = vec1(retype(brw_null_reg(), BRW_REGISTER_TYPE_UD));
/* Check runtime bit to detect if we have to send AA data or not */
- brw_set_default_compression_control(p, BRW_COMPRESSION_NONE);
brw_push_insn_state(p);
- brw_inst_set_exec_size(p->devinfo, brw_last_inst, BRW_EXECUTE_1);
+ brw_set_default_compression_control(p, BRW_COMPRESSION_NONE);
+ brw_set_default_exec_size(p, BRW_EXECUTE_1);
brw_AND(p,
v1_null_ud,
retype(brw_vec1_grf(1, 6), BRW_REGISTER_TYPE_UD),
brw_imm_ud(1<<26));
brw_inst_set_cond_modifier(p->devinfo, brw_last_inst, BRW_CONDITIONAL_NZ);
- brw_pop_insn_state(p);
int jmp = brw_JMPI(p, brw_imm_ud(0), BRW_PREDICATE_NORMAL) - p->store;
+ brw_pop_insn_state(p);
{
/* Don't send AA data */
fire_fb_write(inst, offset(payload, 1), implied_header, inst->mlen-1);