On 3 June 2016 at 07:09, Kenneth Graunke <kenn...@whitecape.org> wrote: > We've had some trouble in the past with copying integers around via > float pointers, as the C compiler sometimes uses x87 floating point > registers to load values on 32-bit systems. Passing the > gl_constant_value union should be safer. > > To avoid churn, this patch creates a "GLfloat *value" variable so > existing uses can stay the same. > > Not observed to fix anything, but I was in the area adding more integer > state vars, and thought it'd be wise. > > Signed-off-by: Kenneth Graunke <kenn...@whitecape.org> > Cc: mesa-sta...@lists.freedesktop.org
Reviewed-by: Dave Airlie <airl...@redhat.com> > --- > src/mesa/program/prog_statevars.c | 8 +++++--- > 1 file changed, 5 insertions(+), 3 deletions(-) > > diff --git a/src/mesa/program/prog_statevars.c > b/src/mesa/program/prog_statevars.c > index 03ece67..27ff333 100644 > --- a/src/mesa/program/prog_statevars.c > +++ b/src/mesa/program/prog_statevars.c > @@ -55,8 +55,10 @@ > */ > static void > _mesa_fetch_state(struct gl_context *ctx, const gl_state_index state[], > - GLfloat *value) > + gl_constant_value *val) > { > + GLfloat *value = &val->f; > + > switch (state[0]) { > case STATE_MATERIAL: > { > @@ -353,7 +355,7 @@ _mesa_fetch_state(struct gl_context *ctx, const > gl_state_index state[], > } > return; > case STATE_NUM_SAMPLES: > - ((int *)value)[0] = MAX2(1, _mesa_geometric_samples(ctx->DrawBuffer)); > + val[0].i = MAX2(1, _mesa_geometric_samples(ctx->DrawBuffer)); > return; > case STATE_DEPTH_RANGE: > value[0] = ctx->ViewportArray[0].Near; /* near */ > @@ -1071,7 +1073,7 @@ _mesa_load_state_parameters(struct gl_context *ctx, > if (paramList->Parameters[i].Type == PROGRAM_STATE_VAR) { > _mesa_fetch_state(ctx, > paramList->Parameters[i].StateIndexes, > - ¶mList->ParameterValues[i][0].f); > + ¶mList->ParameterValues[i][0]); > } > } > } > -- > 2.8.3 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev