diff --git a/src/intel/compiler/brw/brw_reg_allocate.cpp b/src/intel/compiler/brw/brw_reg_allocate.cpp index 1929fd10b73..fdb31af96d9 100644 --- a/src/intel/compiler/brw/brw_reg_allocate.cpp +++ b/src/intel/compiler/brw/brw_reg_allocate.cpp @@ -1429,6 +1429,12 @@ brw_reg_alloc::assign_regs(bool allow_spilling, bool spill_all) bool brw_assign_regs(brw_shader &s, bool allow_spilling, bool spill_all) { + /* Ensure that g0 is reserved for spilling since there is going to be + * spilling. + */ + if (spill_all) + allow_spilling = true; + brw_reg_alloc alloc(&s); bool success = alloc.assign_regs(allow_spilling, spill_all); if (!success && allow_spilling) {