On Sat, Sep 20, 2014 at 10:22 AM, Jason Ekstrand <ja...@jlekstrand.net> wrote: > --- > src/mesa/drivers/dri/i965/brw_fs.cpp | 27 > ++++++++++++++++++---- > .../drivers/dri/i965/brw_schedule_instructions.cpp | 4 ++-- > 2 files changed, 24 insertions(+), 7 deletions(-) > > diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp > b/src/mesa/drivers/dri/i965/brw_fs.cpp > index 588e5f0..33214fd 100644 > --- a/src/mesa/drivers/dri/i965/brw_fs.cpp > +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp > @@ -802,12 +802,29 @@ int > fs_inst::regs_read(fs_visitor *v, int arg) const > { > if (is_tex() && arg == 0 && src[0].file == GRF) { > - if (v->dispatch_width == 16) > - return (mlen + 1) / 2; > - else > - return mlen; > + return ALIGN(mlen, v->dispatch_width / 8); > + } > + > + switch (src[arg].file) { > + case BAD_FILE: > + case UNIFORM: > + case IMM: > + return 1; > + case GRF: > + case HW_REG: > + if (src[arg].stride == 0) { > + return 1; > + } else { > + int size = src[arg].width * src[arg].stride * > type_sz(src[arg].type); > + return (size + 31) / 32; > + } > + case MRF: > + unreachable("MRF registers are not allowed as sources"); > + break;
No need for break after unreachable(). > + default: > + unreachable("Invalid register file"); > + break; and here. _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev