[Mesa-dev] [PATCH 2/2] i965: use a cast to silence a signed/unsigned comparison warning

Eric Anholt eric at anholt.net
Thu Oct 20 08:43:13 PDT 2011


On Wed, 19 Oct 2011 13:24:33 -0700, Paul Berry <stereotype441 at gmail.com> wrote:
Non-text part: multipart/alternative
> On 19 October 2011 12:58, Brian Paul <brianp at vmware.com> wrote:
> 
> > On 10/19/2011 01:53 PM, Paul Berry wrote:
> >
> >> On 18 October 2011 18:07, Brian Paul <brian.e.paul at gmail.com
> >> <mailto:brian.e.paul at gmail.com**>> wrote:
> >>
> >>    From: Brian Paul <brianp at vmware.com <mailto:brianp at vmware.com>>
> >>
> >>
> >>    ---
> >>      .../drivers/dri/i965/brw_vec4_**reg_allocate.cpp     |    2 +-
> >>      1 files changed, 1 insertions(+), 1 deletions(-)
> >>
> >>    diff --git a/src/mesa/drivers/dri/i965/**brw_vec4_reg_allocate.cpp
> >>    b/src/mesa/drivers/dri/i965/**brw_vec4_reg_allocate.cpp
> >>    index 1ace91f..6de7682 100644
> >>    --- a/src/mesa/drivers/dri/i965/**brw_vec4_reg_allocate.cpp
> >>    +++ b/src/mesa/drivers/dri/i965/**brw_vec4_reg_allocate.cpp
> >>    @@ -217,7 +217,7 @@ vec4_visitor::reg_allocate()
> >>           int reg = ra_get_node_reg(g, i);
> >>
> >>           hw_reg_mapping[i] = first_assigned_grf +
> >>    brw->vs.ra_reg_to_grf[reg];
> >>    -      prog_data->total_grf = MAX2(prog_data->total_grf,
> >>    +      prog_data->total_grf = MAX2((int) prog_data->total_grf,
> >>                                      hw_reg_mapping[i] +
> >>    virtual_grf_sizes[i]);
> >>
> >> Since we're storing the result into an unsigned value, I'd prefer to
> >> fix the warning by converting the second argument of MAX2 to GLuint
> >> rather than converting the first argument of MAX2 to int.
> >>
> >
> > I was wondering which way that should go.  The types in that expression
> > are:
> >
> > GLuint total_grf;
> > int hw_reg_mapping[];
> >
> > can hw_reg_mapping[] values be negative?
> >
> > -Brian
> >
> >
> No, every element of hw_reg_mapping is a register number, and those go from
> zero up.  It's possible that a better fix would be to make hw_reg_mapping[]
> and and virtual_grf_sizes[] unsigned, but that might have more cascading
> effects than you want to deal with.  Eric, do you have an opinion?

I despise the signed/unsigned comparison warning because it makes
dealing with small positive integers pointlessly painful, at such a low
rate of catching real bugs.

Both of those things should be unsigned-able, though.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20111020/55828d58/attachment.pgp>


More information about the mesa-dev mailing list