mesa: Apply MSVC portability fixes from Alan Hourihane.
This commit is contained in:

committed by
Keith Whitwell

parent
9118b02fd0
commit
452a592ca4
@@ -131,7 +131,7 @@ _mesa_validate_DrawElements(GLcontext *ctx,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* make sure count doesn't go outside buffer bounds */
|
/* make sure count doesn't go outside buffer bounds */
|
||||||
if (indexBytes > ctx->Array.ElementArrayBufferObj->Size) {
|
if (indexBytes > (GLuint) ctx->Array.ElementArrayBufferObj->Size) {
|
||||||
_mesa_warning(ctx, "glDrawElements index out of buffer bounds");
|
_mesa_warning(ctx, "glDrawElements index out of buffer bounds");
|
||||||
return GL_FALSE;
|
return GL_FALSE;
|
||||||
}
|
}
|
||||||
|
@@ -5109,7 +5109,7 @@ save_Indexfv(const GLfloat * v)
|
|||||||
static void GLAPIENTRY
|
static void GLAPIENTRY
|
||||||
save_EdgeFlag(GLboolean x)
|
save_EdgeFlag(GLboolean x)
|
||||||
{
|
{
|
||||||
save_Attr1fNV(VERT_ATTRIB_EDGEFLAG, x ? 1.0 : 0.0);
|
save_Attr1fNV(VERT_ATTRIB_EDGEFLAG, x ? (GLfloat)1.0 : (GLfloat)0.0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void GLAPIENTRY
|
static void GLAPIENTRY
|
||||||
|
@@ -218,7 +218,7 @@ _mesa_Bitmap( GLsizei width, GLsizei height,
|
|||||||
|
|
||||||
if (ctx->RenderMode == GL_RENDER) {
|
if (ctx->RenderMode == GL_RENDER) {
|
||||||
/* Truncate, to satisfy conformance tests (matches SGI's OpenGL). */
|
/* Truncate, to satisfy conformance tests (matches SGI's OpenGL). */
|
||||||
const GLfloat epsilon = 0.0001;
|
const GLfloat epsilon = (const GLfloat)0.0001;
|
||||||
GLint x = IFLOOR(ctx->Current.RasterPos[0] + epsilon - xorig);
|
GLint x = IFLOOR(ctx->Current.RasterPos[0] + epsilon - xorig);
|
||||||
GLint y = IFLOOR(ctx->Current.RasterPos[1] + epsilon - yorig);
|
GLint y = IFLOOR(ctx->Current.RasterPos[1] + epsilon - yorig);
|
||||||
|
|
||||||
|
@@ -69,7 +69,7 @@ compute_depth_max(struct gl_framebuffer *fb)
|
|||||||
fb->_DepthMaxF = (GLfloat) fb->_DepthMax;
|
fb->_DepthMaxF = (GLfloat) fb->_DepthMax;
|
||||||
|
|
||||||
/* Minimum resolvable depth value, for polygon offset */
|
/* Minimum resolvable depth value, for polygon offset */
|
||||||
fb->_MRD = 1.0 / fb->_DepthMaxF;
|
fb->_MRD = (GLfloat)1.0 / fb->_DepthMaxF;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@@ -2137,7 +2137,7 @@ _mesa_GetFloatv( GLenum pname, GLfloat *params )
|
|||||||
params[0] = (GLfloat)(ctx->DrawBuffer->Visual.depthBits);
|
params[0] = (GLfloat)(ctx->DrawBuffer->Visual.depthBits);
|
||||||
break;
|
break;
|
||||||
case GL_DEPTH_CLEAR_VALUE:
|
case GL_DEPTH_CLEAR_VALUE:
|
||||||
params[0] = ctx->Depth.Clear;
|
params[0] = (GLfloat)ctx->Depth.Clear;
|
||||||
break;
|
break;
|
||||||
case GL_DEPTH_FUNC:
|
case GL_DEPTH_FUNC:
|
||||||
params[0] = ENUM_TO_FLOAT(ctx->Depth.Func);
|
params[0] = ENUM_TO_FLOAT(ctx->Depth.Func);
|
||||||
@@ -2940,7 +2940,7 @@ _mesa_GetFloatv( GLenum pname, GLfloat *params )
|
|||||||
GLuint i, n = _mesa_get_compressed_formats(ctx, formats, GL_FALSE);
|
GLuint i, n = _mesa_get_compressed_formats(ctx, formats, GL_FALSE);
|
||||||
ASSERT(n <= 100);
|
ASSERT(n <= 100);
|
||||||
for (i = 0; i < n; i++)
|
for (i = 0; i < n; i++)
|
||||||
params[i] = ENUM_TO_INT(formats[i]);
|
params[i] = (GLfloat)(ENUM_TO_INT(formats[i]));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case GL_ARRAY_ELEMENT_LOCK_FIRST_EXT:
|
case GL_ARRAY_ELEMENT_LOCK_FIRST_EXT:
|
||||||
|
@@ -1650,7 +1650,7 @@ _mesa_apply_stencil_transfer_ops(const GLcontext *ctx, GLuint n,
|
|||||||
GLuint mask = ctx->PixelMaps.StoS.Size - 1;
|
GLuint mask = ctx->PixelMaps.StoS.Size - 1;
|
||||||
GLuint i;
|
GLuint i;
|
||||||
for (i = 0; i < n; i++) {
|
for (i = 0; i < n; i++) {
|
||||||
stencil[i] = ctx->PixelMaps.StoS.Map[ stencil[i] & mask ];
|
stencil[i] = (GLstencil)ctx->PixelMaps.StoS.Map[ stencil[i] & mask ];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -4161,7 +4161,7 @@ _mesa_unpack_stencil_span( const GLcontext *ctx, GLuint n,
|
|||||||
const GLuint mask = ctx->PixelMaps.StoS.Size - 1;
|
const GLuint mask = ctx->PixelMaps.StoS.Size - 1;
|
||||||
GLuint i;
|
GLuint i;
|
||||||
for (i = 0; i < n; i++) {
|
for (i = 0; i < n; i++) {
|
||||||
indexes[i] = ctx->PixelMaps.StoS.Map[ indexes[i] & mask ];
|
indexes[i] = (GLuint)ctx->PixelMaps.StoS.Map[ indexes[i] & mask ];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -4513,7 +4513,7 @@ _mesa_unpack_depth_span( const GLcontext *ctx, GLuint n,
|
|||||||
if (needClamp) {
|
if (needClamp) {
|
||||||
GLuint i;
|
GLuint i;
|
||||||
for (i = 0; i < n; i++) {
|
for (i = 0; i < n; i++) {
|
||||||
depthValues[i] = CLAMP(depthValues[i], 0.0, 1.0);
|
depthValues[i] = (GLfloat)CLAMP(depthValues[i], 0.0, 1.0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1129,7 +1129,7 @@ compute_light_positions( GLcontext *ctx )
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
/* positional light w/ homogeneous coordinate, divide by W */
|
/* positional light w/ homogeneous coordinate, divide by W */
|
||||||
GLfloat wInv = 1.0 / light->_Position[3];
|
GLfloat wInv = (GLfloat)1.0 / light->_Position[3];
|
||||||
light->_Position[0] *= wInv;
|
light->_Position[0] *= wInv;
|
||||||
light->_Position[1] *= wInv;
|
light->_Position[1] *= wInv;
|
||||||
light->_Position[2] *= wInv;
|
light->_Position[2] *= wInv;
|
||||||
|
@@ -292,7 +292,7 @@ do_row(GLenum datatype, GLuint comps, GLint srcWidth,
|
|||||||
GLfloat *dst = (GLfloat *) dstRow;
|
GLfloat *dst = (GLfloat *) dstRow;
|
||||||
for (i = j = 0, k = k0; i < (GLuint) dstWidth;
|
for (i = j = 0, k = k0; i < (GLuint) dstWidth;
|
||||||
i++, j += colStride, k += colStride) {
|
i++, j += colStride, k += colStride) {
|
||||||
dst[i] = rowA[j] / 4 + rowA[k] / 4 + rowB[j] / 4 + rowB[k] / 4;
|
dst[i] = (GLfloat)(rowA[j] / 4 + rowA[k] / 4 + rowB[j] / 4 + rowB[k] / 4);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -114,7 +114,7 @@ store_pixelmap(GLcontext *ctx, GLenum map, GLsizei mapsize,
|
|||||||
/* special case */
|
/* special case */
|
||||||
ctx->PixelMaps.StoS.Size = mapsize;
|
ctx->PixelMaps.StoS.Size = mapsize;
|
||||||
for (i = 0; i < mapsize; i++) {
|
for (i = 0; i < mapsize; i++) {
|
||||||
ctx->PixelMaps.StoS.Map[i] = IROUND(values[i]);
|
ctx->PixelMaps.StoS.Map[i] = (GLfloat)IROUND(values[i]);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case GL_PIXEL_MAP_I_TO_I:
|
case GL_PIXEL_MAP_I_TO_I:
|
||||||
|
@@ -69,48 +69,6 @@ _mesa_PixelZoom( GLfloat xfactor, GLfloat yfactor );
|
|||||||
/*@}*/
|
/*@}*/
|
||||||
|
|
||||||
|
|
||||||
/** \name Pixel processing functions */
|
|
||||||
/*@{*/
|
|
||||||
|
|
||||||
extern void
|
|
||||||
_mesa_scale_and_bias_rgba(GLuint n, GLfloat rgba[][4],
|
|
||||||
GLfloat rScale, GLfloat gScale,
|
|
||||||
GLfloat bScale, GLfloat aScale,
|
|
||||||
GLfloat rBias, GLfloat gBias,
|
|
||||||
GLfloat bBias, GLfloat aBias);
|
|
||||||
|
|
||||||
extern void
|
|
||||||
_mesa_map_rgba(const GLcontext *ctx, GLuint n, GLfloat rgba[][4]);
|
|
||||||
|
|
||||||
|
|
||||||
extern void
|
|
||||||
_mesa_transform_rgba(const GLcontext *ctx, GLuint n, GLfloat rgba[][4]);
|
|
||||||
|
|
||||||
|
|
||||||
extern void
|
|
||||||
_mesa_lookup_rgba_float(const struct gl_color_table *table,
|
|
||||||
GLuint n, GLfloat rgba[][4]);
|
|
||||||
|
|
||||||
extern void
|
|
||||||
_mesa_lookup_rgba_ubyte(const struct gl_color_table *table,
|
|
||||||
GLuint n, GLubyte rgba[][4]);
|
|
||||||
|
|
||||||
|
|
||||||
extern void
|
|
||||||
_mesa_map_ci_to_rgba(const GLcontext *ctx,
|
|
||||||
GLuint n, const GLuint index[], GLfloat rgba[][4]);
|
|
||||||
|
|
||||||
|
|
||||||
extern void
|
|
||||||
_mesa_map_ci8_to_rgba8(const GLcontext *ctx, GLuint n, const GLubyte index[],
|
|
||||||
GLubyte rgba[][4]);
|
|
||||||
|
|
||||||
|
|
||||||
extern void
|
|
||||||
_mesa_scale_and_bias_depth(const GLcontext *ctx, GLuint n,
|
|
||||||
GLfloat depthValues[]);
|
|
||||||
|
|
||||||
|
|
||||||
extern void
|
extern void
|
||||||
_mesa_update_pixel( GLcontext *ctx, GLuint newstate );
|
_mesa_update_pixel( GLcontext *ctx, GLuint newstate );
|
||||||
|
|
||||||
|
@@ -916,14 +916,14 @@ emit_texenv(struct texenv_fragment_program *p, GLuint unit)
|
|||||||
*/
|
*/
|
||||||
if (alpha_shift || rgb_shift) {
|
if (alpha_shift || rgb_shift) {
|
||||||
if (rgb_shift == alpha_shift) {
|
if (rgb_shift == alpha_shift) {
|
||||||
shift = register_scalar_const(p, 1<<rgb_shift);
|
shift = register_scalar_const(p, (GLfloat)(1<<rgb_shift));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
shift = register_const4f(p,
|
shift = register_const4f(p,
|
||||||
1<<rgb_shift,
|
(GLfloat)(1<<rgb_shift),
|
||||||
1<<rgb_shift,
|
(GLfloat)(1<<rgb_shift),
|
||||||
1<<rgb_shift,
|
(GLfloat)(1<<rgb_shift),
|
||||||
1<<alpha_shift);
|
(GLfloat)(1<<alpha_shift));
|
||||||
}
|
}
|
||||||
return emit_arith( p, OPCODE_MUL, dest, WRITEMASK_XYZW,
|
return emit_arith( p, OPCODE_MUL, dest, WRITEMASK_XYZW,
|
||||||
saturate, out, shift, undef );
|
saturate, out, shift, undef );
|
||||||
|
@@ -93,7 +93,7 @@ get_register_pointer(const struct prog_src_register *source,
|
|||||||
source->File == PROGRAM_STATE_VAR ||
|
source->File == PROGRAM_STATE_VAR ||
|
||||||
source->File == PROGRAM_UNIFORM);
|
source->File == PROGRAM_UNIFORM);
|
||||||
params = machine->CurProgram->Parameters;
|
params = machine->CurProgram->Parameters;
|
||||||
if (reg < 0 || reg >= params->NumParameters)
|
if (reg < 0 || reg >= (GLint)params->NumParameters)
|
||||||
return ZeroVec;
|
return ZeroVec;
|
||||||
else
|
else
|
||||||
return params->ParameterValues[reg];
|
return params->ParameterValues[reg];
|
||||||
@@ -228,7 +228,7 @@ fetch_vector4_deriv(GLcontext * ctx,
|
|||||||
const struct gl_program_machine *machine,
|
const struct gl_program_machine *machine,
|
||||||
char xOrY, GLfloat result[4])
|
char xOrY, GLfloat result[4])
|
||||||
{
|
{
|
||||||
if (source->File == PROGRAM_INPUT && source->Index < machine->NumDeriv) {
|
if (source->File == PROGRAM_INPUT && source->Index < (GLint)machine->NumDeriv) {
|
||||||
const GLint col = machine->CurElement;
|
const GLint col = machine->CurElement;
|
||||||
const GLfloat w = machine->Attribs[FRAG_ATTRIB_WPOS][col][3];
|
const GLfloat w = machine->Attribs[FRAG_ATTRIB_WPOS][col][3];
|
||||||
const GLfloat invQ = 1.0f / w;
|
const GLfloat invQ = 1.0f / w;
|
||||||
@@ -507,7 +507,7 @@ _mesa_execute_program(GLcontext * ctx,
|
|||||||
{
|
{
|
||||||
const GLuint numInst = program->NumInstructions;
|
const GLuint numInst = program->NumInstructions;
|
||||||
const GLuint maxExec = 10000;
|
const GLuint maxExec = 10000;
|
||||||
GLint pc, numExec = 0;
|
GLuint pc, numExec = 0;
|
||||||
|
|
||||||
machine->CurProgram = program;
|
machine->CurProgram = program;
|
||||||
|
|
||||||
|
@@ -427,8 +427,8 @@ _mesa_fetch_state(GLcontext *ctx, const gl_state_index state[],
|
|||||||
value[0] = (ctx->Fog.End == ctx->Fog.Start)
|
value[0] = (ctx->Fog.End == ctx->Fog.Start)
|
||||||
? 1.0f : (GLfloat)(-1.0F / (ctx->Fog.End - ctx->Fog.Start));
|
? 1.0f : (GLfloat)(-1.0F / (ctx->Fog.End - ctx->Fog.Start));
|
||||||
value[1] = ctx->Fog.End * -value[0];
|
value[1] = ctx->Fog.End * -value[0];
|
||||||
value[2] = ctx->Fog.Density * ONE_DIV_LN2;
|
value[2] = (GLfloat)(ctx->Fog.Density * ONE_DIV_LN2);
|
||||||
value[3] = ctx->Fog.Density * ONE_DIV_SQRT_LN2;
|
value[3] = (GLfloat)(ctx->Fog.Density * ONE_DIV_SQRT_LN2);
|
||||||
return;
|
return;
|
||||||
|
|
||||||
case STATE_LIGHT_SPOT_DIR_NORMALIZED: {
|
case STATE_LIGHT_SPOT_DIR_NORMALIZED: {
|
||||||
|
@@ -135,7 +135,7 @@ _mesa_longest_uniform_name(const struct gl_uniform_list *list)
|
|||||||
GLuint i;
|
GLuint i;
|
||||||
for (i = 0; list && i < list->NumUniforms; i++) {
|
for (i = 0; list && i < list->NumUniforms; i++) {
|
||||||
GLuint len = _mesa_strlen(list->Uniforms[i].Name);
|
GLuint len = _mesa_strlen(list->Uniforms[i].Name);
|
||||||
if (len > max)
|
if (len > (GLuint)max)
|
||||||
max = len;
|
max = len;
|
||||||
}
|
}
|
||||||
return max;
|
return max;
|
||||||
|
@@ -40,7 +40,7 @@ static void get_minmax_index( GLuint count, GLuint type,
|
|||||||
GLuint *min_index,
|
GLuint *min_index,
|
||||||
GLuint *max_index)
|
GLuint *max_index)
|
||||||
{
|
{
|
||||||
GLint i;
|
GLuint i;
|
||||||
|
|
||||||
switch(type) {
|
switch(type) {
|
||||||
case GL_UNSIGNED_INT: {
|
case GL_UNSIGNED_INT: {
|
||||||
|
@@ -58,7 +58,7 @@ struct split_context {
|
|||||||
|
|
||||||
static void flush_vertex( struct split_context *split )
|
static void flush_vertex( struct split_context *split )
|
||||||
{
|
{
|
||||||
GLint min_index, max_index;
|
GLuint min_index, max_index;
|
||||||
|
|
||||||
if (!split->dstprim_nr)
|
if (!split->dstprim_nr)
|
||||||
return;
|
return;
|
||||||
|
Reference in New Issue
Block a user