In gl_texture_image replace IntFormat with InternalFormat and Format with
_BaseFormat to be consistant with gl_renderbuffer.
This commit is contained in:
@@ -106,7 +106,7 @@ static void i810SetTexImages( i810ContextPtr imesa,
|
||||
for ( height = i = 0 ; i < numLevels ; i++ ) {
|
||||
t->image[i].image = tObj->Image[0][t->base.firstLevel + i];
|
||||
t->image[i].offset = height * pitch;
|
||||
t->image[i].internalFormat = baseImage->Format;
|
||||
t->image[i].internalFormat = baseImage->_BaseFormat;
|
||||
height += t->image[i].image->Height;
|
||||
}
|
||||
|
||||
@@ -591,7 +591,7 @@ static void i810UpdateTexUnit( GLcontext *ctx, GLuint unit,
|
||||
* texture environment state has changed.
|
||||
*/
|
||||
|
||||
imesa->TexEnvImageFmt[unit] = tObj->Image[0][tObj->BaseLevel]->Format;
|
||||
imesa->TexEnvImageFmt[unit] = tObj->Image[0][tObj->BaseLevel]->_BaseFormat;
|
||||
}
|
||||
else {
|
||||
imesa->CurrentTexObj[unit] = 0;
|
||||
|
@@ -185,7 +185,7 @@ static void i830SetTexImages( i830ContextPtr imesa,
|
||||
}
|
||||
else
|
||||
total_height += t->image[0][i].image->Height;
|
||||
t->image[0][i].internalFormat = baseImage->Format;
|
||||
t->image[0][i].internalFormat = baseImage->_BaseFormat;
|
||||
}
|
||||
|
||||
t->Pitch = pitch;
|
||||
@@ -586,9 +586,9 @@ static GLboolean enable_tex_common( GLcontext *ctx, GLuint unit )
|
||||
* missed (need to update last stage flag?). Call
|
||||
* i830UpdateTexEnv always.
|
||||
*/
|
||||
if (tObj->Image[0][tObj->BaseLevel]->Format !=
|
||||
if (tObj->Image[0][tObj->BaseLevel]->_BaseFormat !=
|
||||
imesa->TexEnvImageFmt[unit]) {
|
||||
imesa->TexEnvImageFmt[unit] = tObj->Image[0][tObj->BaseLevel]->Format;
|
||||
imesa->TexEnvImageFmt[unit] = tObj->Image[0][tObj->BaseLevel]->_BaseFormat;
|
||||
}
|
||||
i830UpdateTexEnv( ctx, unit );
|
||||
imesa->TexEnabledMask |= I830_TEX_UNIT_ENABLED(unit);
|
||||
|
@@ -199,7 +199,7 @@ static GLboolean i830SetTexImages( i830ContextPtr i830,
|
||||
|
||||
t->intel.image[face][i].offset =
|
||||
y * pitch + x * t->intel.texelBytes;
|
||||
t->intel.image[face][i].internalFormat = baseImage->Format;
|
||||
t->intel.image[face][i].internalFormat = baseImage->_BaseFormat;
|
||||
|
||||
d >>= 1;
|
||||
x += step_offsets[face][0] * d;
|
||||
@@ -219,7 +219,7 @@ static GLboolean i830SetTexImages( i830ContextPtr i830,
|
||||
break;
|
||||
|
||||
t->intel.image[0][i].offset = total_height * pitch;
|
||||
t->intel.image[0][i].internalFormat = baseImage->Format;
|
||||
t->intel.image[0][i].internalFormat = baseImage->_BaseFormat;
|
||||
if (t->intel.image[0][i].image->IsCompressed)
|
||||
{
|
||||
if (t->intel.image[0][i].image->Height > 4)
|
||||
|
@@ -291,7 +291,7 @@ static GLuint emit_texenv( struct i915_fragment_program *p, int unit )
|
||||
struct gl_texture_unit *texUnit = &p->ctx->Texture.Unit[unit];
|
||||
GLenum envMode = texUnit->EnvMode;
|
||||
struct gl_texture_object *tObj = texUnit->_Current;
|
||||
GLenum format = tObj->Image[0][tObj->BaseLevel]->Format;
|
||||
GLenum format = tObj->Image[0][tObj->BaseLevel]->_BaseFormat;
|
||||
GLuint saturate = unit < p->last_tex_stage ? A0_DEST_SATURATE : 0;
|
||||
|
||||
switch(envMode) {
|
||||
|
@@ -115,7 +115,7 @@ static void i915LayoutTextureImages( i915ContextPtr i915,
|
||||
|
||||
t->intel.image[face][i].offset =
|
||||
y * pitch + x * t->intel.texelBytes;
|
||||
t->intel.image[face][i].internalFormat = baseImage->Format;
|
||||
t->intel.image[face][i].internalFormat = baseImage->_BaseFormat;
|
||||
|
||||
d >>= 1;
|
||||
x += step_offsets[face][0] * d;
|
||||
@@ -144,7 +144,7 @@ static void i915LayoutTextureImages( i915ContextPtr i915,
|
||||
t->intel.image[0][i].image = tObj->Image[0][firstLevel + i];
|
||||
if (t->intel.image[0][i].image) {
|
||||
t->intel.image[0][i].offset = total_height * pitch;
|
||||
t->intel.image[0][i].internalFormat = baseImage->Format;
|
||||
t->intel.image[0][i].internalFormat = baseImage->_BaseFormat;
|
||||
}
|
||||
|
||||
total_height += MAX2(2, virtual_height);
|
||||
@@ -171,7 +171,7 @@ static void i915LayoutTextureImages( i915ContextPtr i915,
|
||||
break;
|
||||
|
||||
t->intel.image[0][i].offset = total_height * pitch;
|
||||
t->intel.image[0][i].internalFormat = baseImage->Format;
|
||||
t->intel.image[0][i].internalFormat = baseImage->_BaseFormat;
|
||||
if (t->intel.image[0][i].image->IsCompressed)
|
||||
{
|
||||
if (t->intel.image[0][i].image->Height > 4)
|
||||
@@ -266,7 +266,7 @@ static void i945LayoutTextureImages( i915ContextPtr i915,
|
||||
|
||||
t->intel.image[face][i].offset =
|
||||
y * pitch + x * t->intel.texelBytes;
|
||||
t->intel.image[face][i].internalFormat = baseImage->Format;
|
||||
t->intel.image[face][i].internalFormat = baseImage->_BaseFormat;
|
||||
|
||||
d >>= 1;
|
||||
|
||||
@@ -326,7 +326,7 @@ static void i945LayoutTextureImages( i915ContextPtr i915,
|
||||
|
||||
|
||||
t->intel.image[0][i].offset = total_height * pitch;
|
||||
t->intel.image[0][i].internalFormat = baseImage->Format;
|
||||
t->intel.image[0][i].internalFormat = baseImage->_BaseFormat;
|
||||
|
||||
|
||||
|
||||
@@ -358,7 +358,7 @@ static void i945LayoutTextureImages( i915ContextPtr i915,
|
||||
break;
|
||||
|
||||
t->intel.image[0][i].offset = offset;
|
||||
t->intel.image[0][i].internalFormat = baseImage->Format;
|
||||
t->intel.image[0][i].internalFormat = baseImage->_BaseFormat;
|
||||
|
||||
if (t->intel.image[0][i].image->IsCompressed)
|
||||
sz = MAX2(1, t->intel.image[0][i].image->Height/4) * pitch;
|
||||
|
@@ -646,8 +646,7 @@ static void intelUploadTexImage( intelContextPtr intel,
|
||||
image->Width, image->Height, image->Depth, offset,
|
||||
row_len, t->Pitch, t->depth_pitch);
|
||||
|
||||
switch(image->IntFormat)
|
||||
{
|
||||
switch (image->InternalFormat) {
|
||||
case GL_COMPRESSED_RGB_FXT1_3DFX:
|
||||
case GL_COMPRESSED_RGBA_FXT1_3DFX:
|
||||
case GL_RGB_S3TC:
|
||||
@@ -669,9 +668,9 @@ static void intelUploadTexImage( intelContextPtr intel,
|
||||
}
|
||||
break;
|
||||
default:
|
||||
fprintf(stderr,"Internal Compressed format not supported %d\n", image->IntFormat);
|
||||
fprintf(stderr,"Internal Compressed format not supported %d\n", image->InternalFormat);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else {
|
||||
GLuint row_len = image->Width * image->TexFormat->TexelBytes;
|
||||
|
@@ -163,9 +163,9 @@ static void mach64SetTexImages( mach64ContextPtr mmesa,
|
||||
t->setup.tex_cntl &= ~R128_MIP_MAP_DISABLE;
|
||||
|
||||
#else
|
||||
if ( ( baseImage->Format == GL_RGBA ) ||
|
||||
( baseImage->Format == GL_ALPHA ) ||
|
||||
( baseImage->Format == GL_LUMINANCE_ALPHA ) ) {
|
||||
if ( ( baseImage->_BaseFormat == GL_RGBA ) ||
|
||||
( baseImage->_BaseFormat == GL_ALPHA ) ||
|
||||
( baseImage->_BaseFormat == GL_LUMINANCE_ALPHA ) ) {
|
||||
t->hasAlpha = 1;
|
||||
} else {
|
||||
t->hasAlpha = 0;
|
||||
@@ -188,7 +188,7 @@ static void mach64UpdateTextureEnv( GLcontext *ctx, int unit )
|
||||
GLint source = mmesa->tmu_source[unit];
|
||||
const struct gl_texture_unit *texUnit = &ctx->Texture.Unit[source];
|
||||
const struct gl_texture_object *tObj = texUnit->_Current;
|
||||
const GLenum format = tObj->Image[0][tObj->BaseLevel]->Format;
|
||||
const GLenum format = tObj->Image[0][tObj->BaseLevel]->_BaseFormat;
|
||||
GLuint s = mmesa->setup.scale_3d_cntl;
|
||||
|
||||
if ( MACH64_DEBUG & DEBUG_VERBOSE_API ) {
|
||||
|
@@ -205,7 +205,7 @@ static void mgaUpdateTextureEnvG200( GLcontext *ctx, GLuint unit )
|
||||
mgaContextPtr mmesa = MGA_CONTEXT(ctx);
|
||||
struct gl_texture_object *tObj = ctx->Texture.Unit[0]._Current;
|
||||
mgaTextureObjectPtr t = (mgaTextureObjectPtr) tObj->DriverData;
|
||||
GLenum format = tObj->Image[0][tObj->BaseLevel]->Format;
|
||||
GLenum format = tObj->Image[0][tObj->BaseLevel]->_BaseFormat;
|
||||
|
||||
if (tObj != ctx->Texture.Unit[0].Current2D &&
|
||||
tObj != ctx->Texture.Unit[0].CurrentRect)
|
||||
@@ -537,7 +537,7 @@ static GLboolean mgaUpdateTextureEnvBlend( GLcontext *ctx, int unit )
|
||||
const struct gl_texture_unit *texUnit = &ctx->Texture.Unit[source];
|
||||
const struct gl_texture_object *tObj = texUnit->_Current;
|
||||
GLuint *reg = ((GLuint *)&mmesa->setup.tdualstage0 + unit);
|
||||
GLenum format = tObj->Image[0][tObj->BaseLevel]->Format;
|
||||
GLenum format = tObj->Image[0][tObj->BaseLevel]->_BaseFormat;
|
||||
|
||||
*reg = 0;
|
||||
|
||||
@@ -634,7 +634,7 @@ static void mgaUpdateTextureEnvG400( GLcontext *ctx, GLuint unit )
|
||||
const struct gl_texture_object *tObj = texUnit->_Current;
|
||||
GLuint *reg = ((GLuint *)&mmesa->setup.tdualstage0 + unit);
|
||||
mgaTextureObjectPtr t = (mgaTextureObjectPtr) tObj->DriverData;
|
||||
GLenum format = tObj->Image[0][tObj->BaseLevel]->Format;
|
||||
GLenum format = tObj->Image[0][tObj->BaseLevel]->_BaseFormat;
|
||||
|
||||
if (tObj != ctx->Texture.Unit[source].Current2D &&
|
||||
tObj != ctx->Texture.Unit[source].CurrentRect)
|
||||
|
@@ -201,7 +201,7 @@ static GLboolean r128UpdateTextureEnv( GLcontext *ctx, int unit )
|
||||
GLint source = rmesa->tmu_source[unit];
|
||||
const struct gl_texture_unit *texUnit = &ctx->Texture.Unit[source];
|
||||
const struct gl_texture_object *tObj = texUnit->_Current;
|
||||
const GLenum format = tObj->Image[0][tObj->BaseLevel]->Format;
|
||||
const GLenum format = tObj->Image[0][tObj->BaseLevel]->_BaseFormat;
|
||||
GLuint combine;
|
||||
|
||||
if ( R128_DEBUG & DEBUG_VERBOSE_API ) {
|
||||
|
@@ -253,7 +253,7 @@ static void r300SetTexImages(r300ContextPtr rmesa,
|
||||
if(0)
|
||||
fprintf(stderr, "w=%d h=%d d=%d tb=%d intFormat=%d\n", texImage->Width, texImage->Height,
|
||||
texImage->Depth, texImage->TexFormat->TexelBytes,
|
||||
texImage->IntFormat);
|
||||
texImage->InternalFormat);
|
||||
|
||||
/* Align to 32-byte offset. It is faster to do this unconditionally
|
||||
* (no branch penalty).
|
||||
@@ -1325,7 +1325,7 @@ static GLboolean update_tex_common(GLcontext * ctx, int unit)
|
||||
}
|
||||
#endif
|
||||
|
||||
format = tObj->Image[0][tObj->BaseLevel]->Format;
|
||||
format = tObj->Image[0][tObj->BaseLevel]->_BaseFormat;
|
||||
if (rmesa->state.texture.unit[unit].format != format ||
|
||||
rmesa->state.texture.unit[unit].envMode != texUnit->EnvMode) {
|
||||
//rmesa->state.texture.unit[unit].format = format;
|
||||
|
@@ -1111,7 +1111,7 @@ static GLboolean update_tex_common( GLcontext *ctx, int unit )
|
||||
rmesa->NewGLState |= _NEW_TEXTURE_MATRIX;
|
||||
}
|
||||
|
||||
format = tObj->Image[0][tObj->BaseLevel]->Format;
|
||||
format = tObj->Image[0][tObj->BaseLevel]->_BaseFormat;
|
||||
if ( rmesa->state.texture.unit[unit].format != format ||
|
||||
rmesa->state.texture.unit[unit].envMode != texUnit->EnvMode ) {
|
||||
rmesa->state.texture.unit[unit].format = format;
|
||||
|
@@ -297,7 +297,7 @@ static void s3vUploadTexLevel( s3vContextPtr vmesa, s3vTextureObjectPtr t,
|
||||
|
||||
default:
|
||||
fprintf(stderr, "Not supported texture format %s\n",
|
||||
_mesa_lookup_enum_by_nr(image->Format));
|
||||
_mesa_lookup_enum_by_nr(image->_BaseFormat));
|
||||
}
|
||||
|
||||
DEBUG_TEX(("words = %i\n\n", words));
|
||||
|
@@ -73,7 +73,7 @@ static void s3vSetTexImages( s3vContextPtr vmesa,
|
||||
for ( height = i = 0 ; i < numLevels ; i++ ) {
|
||||
t->image[i].image = tObj->Image[0][firstLevel + i];
|
||||
t->image[i].offset = height * pitch;
|
||||
t->image[i].internalFormat = baseImage->Format;
|
||||
t->image[i].internalFormat = baseImage->_BaseFormat;
|
||||
height += t->image[i].image->Height;
|
||||
t->TextureBaseAddr[i] = (t->BufAddr + t->image[i].offset +
|
||||
_TEXALIGN) & (GLuint)(~_TEXALIGN);
|
||||
@@ -96,7 +96,7 @@ static void s3vUpdateTexEnv( GLcontext *ctx, GLuint unit )
|
||||
s3vContextPtr vmesa = S3V_CONTEXT(ctx);
|
||||
const struct gl_texture_unit *texUnit = &ctx->Texture.Unit[unit];
|
||||
const struct gl_texture_object *tObj = texUnit->_Current;
|
||||
const GLuint format = tObj->Image[0][tObj->BaseLevel]->Format;
|
||||
const GLuint format = tObj->Image[0][tObj->BaseLevel]->_BaseFormat;
|
||||
/*
|
||||
s3vTextureObjectPtr t = (s3vTextureObjectPtr)tObj->DriverData;
|
||||
GLuint tc;
|
||||
@@ -246,9 +246,9 @@ static void s3vUpdateTexUnit( GLcontext *ctx, GLuint unit )
|
||||
/* Update texture environment if texture object image format or
|
||||
* texture environment state has changed.
|
||||
*/
|
||||
if (tObj->Image[0][tObj->BaseLevel]->Format !=
|
||||
if (tObj->Image[0][tObj->BaseLevel]->_BaseFormat !=
|
||||
vmesa->TexEnvImageFmt[unit]) {
|
||||
vmesa->TexEnvImageFmt[unit] = tObj->Image[0][tObj->BaseLevel]->Format;
|
||||
vmesa->TexEnvImageFmt[unit] = tObj->Image[0][tObj->BaseLevel]->_BaseFormat;
|
||||
s3vUpdateTexEnv( ctx, unit );
|
||||
}
|
||||
#if 1
|
||||
|
@@ -561,6 +561,7 @@ static struct gl_texture_format _savage_texformat_a1114444 = {
|
||||
0, /* IntensityBits */
|
||||
0, /* IndexBits */
|
||||
0, /* DepthBits */
|
||||
0, /* StencilBits */
|
||||
2, /* TexelBytes */
|
||||
_savage_texstore_a1114444, /* StoreTexImageFunc */
|
||||
NULL, NULL, NULL, NULL, NULL, NULL /* FetchTexel* filled in by
|
||||
@@ -578,6 +579,7 @@ static struct gl_texture_format _savage_texformat_a1118888 = {
|
||||
0, /* IntensityBits */
|
||||
0, /* IndexBits */
|
||||
0, /* DepthBits */
|
||||
0, /* StencilBits */
|
||||
4, /* TexelBytes */
|
||||
_savage_texstore_a1118888, /* StoreTexImageFunc */
|
||||
NULL, NULL, NULL, NULL, NULL, NULL /* FetchTexel* filled in by
|
||||
@@ -1202,7 +1204,7 @@ static void savageUpdateTex0State_s4( GLcontext *ctx )
|
||||
|
||||
driUpdateTextureLRU( &t->base );
|
||||
|
||||
format = tObj->Image[0][tObj->BaseLevel]->Format;
|
||||
format = tObj->Image[0][tObj->BaseLevel]->_BaseFormat;
|
||||
|
||||
switch (ctx->Texture.Unit[0].EnvMode) {
|
||||
case GL_REPLACE:
|
||||
@@ -1455,7 +1457,7 @@ static void savageUpdateTex1State_s4( GLcontext *ctx )
|
||||
|
||||
driUpdateTextureLRU( &t->base );
|
||||
|
||||
format = tObj->Image[0][tObj->BaseLevel]->Format;
|
||||
format = tObj->Image[0][tObj->BaseLevel]->_BaseFormat;
|
||||
|
||||
switch (ctx->Texture.Unit[1].EnvMode) {
|
||||
case GL_REPLACE:
|
||||
@@ -1629,7 +1631,7 @@ static void savageUpdateTexState_s3d( GLcontext *ctx )
|
||||
|
||||
driUpdateTextureLRU( &t->base );
|
||||
|
||||
format = tObj->Image[0][tObj->BaseLevel]->Format;
|
||||
format = tObj->Image[0][tObj->BaseLevel]->_BaseFormat;
|
||||
|
||||
/* FIXME: copied from utah-glx, probably needs some tuning */
|
||||
switch (ctx->Texture.Unit[0].EnvMode) {
|
||||
|
@@ -63,7 +63,7 @@ sisAllocTexImage( sisContextPtr smesa, sisTexObjPtr t, int level,
|
||||
int size, texel_size;
|
||||
|
||||
if (t->format == 0) {
|
||||
t->format = image->Format;
|
||||
t->format = image->_BaseFormat;
|
||||
switch (t->format)
|
||||
{
|
||||
case GL_RGBA:
|
||||
@@ -88,7 +88,7 @@ sisAllocTexImage( sisContextPtr smesa, sisTexObjPtr t, int level,
|
||||
sis_fatal_error("Bad texture format.\n");
|
||||
}
|
||||
}
|
||||
assert(t->format == image->Format);
|
||||
assert(t->format == image->_BaseFormat);
|
||||
|
||||
texel_size = image->TexFormat->TexelBytes;
|
||||
size = image->Width * image->Height * texel_size + TEXTURE_HW_PLUS;
|
||||
|
@@ -98,7 +98,7 @@ _mesa_halve2x2_teximage2d ( GLcontext *ctx,
|
||||
srcRowStride, /* dstRowStride */
|
||||
0, /* dstImageStride */
|
||||
srcWidth, srcHeight, 1,
|
||||
texImage->Format, _t, srcImage, &ctx->DefaultPacking);
|
||||
texImage->_BaseFormat, _t, srcImage, &ctx->DefaultPacking);
|
||||
}
|
||||
|
||||
if (srcHeight == 1) {
|
||||
@@ -139,7 +139,7 @@ _mesa_halve2x2_teximage2d ( GLcontext *ctx,
|
||||
if (bpt) {
|
||||
src = _s;
|
||||
dst = _d;
|
||||
texImage->TexFormat->StoreImage(ctx, 2, texImage->Format,
|
||||
texImage->TexFormat->StoreImage(ctx, 2, texImage->_BaseFormat,
|
||||
texImage->TexFormat, dstImage,
|
||||
0, 0, 0, /* dstX/Y/Zoffset */
|
||||
dstWidth * bpt,
|
||||
@@ -1185,7 +1185,7 @@ adjust2DRatio (GLcontext *ctx,
|
||||
return GL_FALSE;
|
||||
}
|
||||
|
||||
texImage->TexFormat->StoreImage(ctx, 2, texImage->Format,
|
||||
texImage->TexFormat->StoreImage(ctx, 2, texImage->_BaseFormat,
|
||||
texImage->TexFormat, tempImage,
|
||||
0, 0, 0, /* dstX/Y/Zoffset */
|
||||
width * texelBytes, /* dstRowStride */
|
||||
@@ -1229,7 +1229,7 @@ adjust2DRatio (GLcontext *ctx,
|
||||
width, height, /* src */
|
||||
newWidth, newHeight, /* dst */
|
||||
rawImage /*src*/, tempImage /*dst*/ );
|
||||
texImage->TexFormat->StoreImage(ctx, 2, texImage->Format,
|
||||
texImage->TexFormat->StoreImage(ctx, 2, texImage->_BaseFormat,
|
||||
texImage->TexFormat, texImage->Data,
|
||||
xoffset * mml->wScale, yoffset * mml->hScale, 0, /* dstX/Y/Zoffset */
|
||||
dstRowStride,
|
||||
@@ -1321,7 +1321,7 @@ tdfxTexImage2D(GLcontext *ctx, GLenum target, GLint level,
|
||||
case GL_RGBA4_S3TC:
|
||||
internalFormat = GL_COMPRESSED_RGBA_FXT1_3DFX;
|
||||
}
|
||||
texImage->IntFormat = internalFormat;
|
||||
texImage->InternalFormat = internalFormat;
|
||||
}
|
||||
#endif
|
||||
#if FX_TC_NAPALM
|
||||
@@ -1333,7 +1333,7 @@ tdfxTexImage2D(GLcontext *ctx, GLenum target, GLint level,
|
||||
texNapalm = GL_COMPRESSED_RGBA_FXT1_3DFX;
|
||||
}
|
||||
if (texNapalm) {
|
||||
texImage->IntFormat = internalFormat = texNapalm;
|
||||
texImage->InternalFormat = internalFormat = texNapalm;
|
||||
texImage->IsCompressed = GL_TRUE;
|
||||
}
|
||||
}
|
||||
@@ -1386,7 +1386,7 @@ tdfxTexImage2D(GLcontext *ctx, GLenum target, GLint level,
|
||||
else {
|
||||
/* no rescaling needed */
|
||||
/* unpack image, apply transfer ops and store in texImage->Data */
|
||||
texImage->TexFormat->StoreImage(ctx, 2, texImage->Format,
|
||||
texImage->TexFormat->StoreImage(ctx, 2, texImage->_BaseFormat,
|
||||
texImage->TexFormat, texImage->Data,
|
||||
0, 0, 0, /* dstX/Y/Zoffset */
|
||||
dstRowStride,
|
||||
@@ -1469,11 +1469,11 @@ tdfxTexSubImage2D(GLcontext *ctx, GLenum target, GLint level,
|
||||
assert(mml);
|
||||
|
||||
assert(texImage->Data); /* must have an existing texture image! */
|
||||
assert(texImage->Format);
|
||||
assert(texImage->_BaseFormat);
|
||||
|
||||
texelBytes = texImage->TexFormat->TexelBytes;
|
||||
if (texImage->IsCompressed) {
|
||||
dstRowStride = _mesa_compressed_row_stride(texImage->IntFormat, mml->width);
|
||||
dstRowStride = _mesa_compressed_row_stride(texImage->InternalFormat, mml->width);
|
||||
} else {
|
||||
dstRowStride = mml->width * texelBytes;
|
||||
}
|
||||
@@ -1496,7 +1496,7 @@ tdfxTexSubImage2D(GLcontext *ctx, GLenum target, GLint level,
|
||||
}
|
||||
else {
|
||||
/* no rescaling needed */
|
||||
texImage->TexFormat->StoreImage(ctx, 2, texImage->Format,
|
||||
texImage->TexFormat->StoreImage(ctx, 2, texImage->_BaseFormat,
|
||||
texImage->TexFormat, texImage->Data,
|
||||
xoffset, yoffset, 0,
|
||||
dstRowStride,
|
||||
@@ -1736,12 +1736,12 @@ tdfxCompressedTexSubImage2D( GLcontext *ctx, GLenum target,
|
||||
mml = TDFX_TEXIMAGE_DATA(texImage);
|
||||
assert(mml);
|
||||
|
||||
srcRowStride = _mesa_compressed_row_stride(texImage->IntFormat, width);
|
||||
srcRowStride = _mesa_compressed_row_stride(texImage->InternalFormat, width);
|
||||
|
||||
destRowStride = _mesa_compressed_row_stride(texImage->IntFormat,
|
||||
destRowStride = _mesa_compressed_row_stride(texImage->InternalFormat,
|
||||
mml->width);
|
||||
dest = _mesa_compressed_image_address(xoffset, yoffset, 0,
|
||||
texImage->IntFormat,
|
||||
texImage->InternalFormat,
|
||||
mml->width,
|
||||
(GLubyte*) texImage->Data);
|
||||
|
||||
@@ -1757,9 +1757,9 @@ tdfxCompressedTexSubImage2D( GLcontext *ctx, GLenum target,
|
||||
* see fxDDCompressedTexImage2D for caveats
|
||||
*/
|
||||
if (mml->wScale != 1 || mml->hScale != 1) {
|
||||
srcRowStride = _mesa_compressed_row_stride(texImage->IntFormat, texImage->Width);
|
||||
srcRowStride = _mesa_compressed_row_stride(texImage->InternalFormat, texImage->Width);
|
||||
|
||||
destRowStride = _mesa_compressed_row_stride(texImage->IntFormat,
|
||||
destRowStride = _mesa_compressed_row_stride(texImage->InternalFormat,
|
||||
mml->width);
|
||||
_mesa_upscale_teximage2d(srcRowStride, texImage->Height / 4,
|
||||
destRowStride, mml->height / 4,
|
||||
@@ -1829,7 +1829,7 @@ tdfxTestProxyTexImage(GLcontext *ctx, GLenum target,
|
||||
tObj->Image[0][level]->Height = height;
|
||||
tObj->Image[0][level]->Border = border;
|
||||
#if 0
|
||||
tObj->Image[0][level]->IntFormat = internalFormat;
|
||||
tObj->Image[0][level]->InternalFormat = internalFormat;
|
||||
#endif
|
||||
if (level == 0) {
|
||||
/* don't use mipmap levels > 0 */
|
||||
|
@@ -1629,7 +1629,7 @@ static void setupTextureSingleTMU(GLcontext * ctx, GLuint unit)
|
||||
|
||||
/* Check if we really need to update the texenv state */
|
||||
envMode = ctx->Texture.Unit[unit].EnvMode;
|
||||
baseFormat = tObj->Image[0][tObj->BaseLevel]->Format;
|
||||
baseFormat = tObj->Image[0][tObj->BaseLevel]->_BaseFormat;
|
||||
|
||||
if (TDFX_IS_NAPALM(fxMesa)) {
|
||||
/* see if we really need to update the unit */
|
||||
@@ -1952,10 +1952,10 @@ static void setupTextureDoubleTMU(GLcontext * ctx)
|
||||
baseImage0->Format != fxMesa->TexState.TexFormat[1] ||
|
||||
(fxMesa->Fallback & TDFX_FALLBACK_TEXTURE_ENV)*/) {
|
||||
hw1 = SetupTexEnvNapalm(ctx, GL_TRUE, &ctx->Texture.Unit[0],
|
||||
baseImage0->Format, &fxMesa->TexCombineExt[1]);
|
||||
baseImage0->_BaseFormat, &fxMesa->TexCombineExt[1]);
|
||||
#if 0/*JJJ*/
|
||||
fxMesa->TexState.EnvMode[1] = envMode0;
|
||||
fxMesa->TexState.TexFormat[1] = baseImage0->Format;
|
||||
fxMesa->TexState.TexFormat[1] = baseImage0->_BaseFormat;
|
||||
fxMesa->TexState.Enabled[0] = ctx->Texture.Unit[0]._ReallyEnabled;
|
||||
#endif
|
||||
}
|
||||
@@ -1964,13 +1964,13 @@ static void setupTextureDoubleTMU(GLcontext * ctx)
|
||||
if (1/*fxMesa->TexState.Enabled[1] != ctx->Texture.Unit[1]._ReallyEnabled ||
|
||||
envMode1 != fxMesa->TexState.EnvMode[0] ||
|
||||
envMode1 == GL_COMBINE_EXT ||
|
||||
baseImage1->Format != fxMesa->TexState.TexFormat[0] ||
|
||||
baseImage1->_BaseFormat != fxMesa->TexState.TexFormat[0] ||
|
||||
(fxMesa->Fallback & TDFX_FALLBACK_TEXTURE_ENV)*/) {
|
||||
hw2 = SetupTexEnvNapalm(ctx, GL_FALSE, &ctx->Texture.Unit[1],
|
||||
baseImage1->Format, &fxMesa->TexCombineExt[0]);
|
||||
baseImage1->_BaseFormat, &fxMesa->TexCombineExt[0]);
|
||||
#if 0/*JJJ*/
|
||||
fxMesa->TexState.EnvMode[0] = envMode1;
|
||||
fxMesa->TexState.TexFormat[0] = baseImage1->Format;
|
||||
fxMesa->TexState.TexFormat[0] = baseImage1->_BaseFormat;
|
||||
fxMesa->TexState.Enabled[1] = ctx->Texture.Unit[1]._ReallyEnabled;
|
||||
#endif
|
||||
}
|
||||
@@ -1994,21 +1994,21 @@ static void setupTextureDoubleTMU(GLcontext * ctx)
|
||||
envMode0 == GL_COMBINE_EXT ||
|
||||
envMode1 != fxMesa->TexState.EnvMode[unit1] ||
|
||||
envMode1 == GL_COMBINE_EXT ||
|
||||
baseImage0->Format != fxMesa->TexState.TexFormat[unit0] ||
|
||||
baseImage1->Format != fxMesa->TexState.TexFormat[unit1] ||
|
||||
baseImage0->_BaseFormat != fxMesa->TexState.TexFormat[unit0] ||
|
||||
baseImage1->_BaseFormat != fxMesa->TexState.TexFormat[unit1] ||
|
||||
(fxMesa->Fallback & TDFX_FALLBACK_TEXTURE_ENV)*/) {
|
||||
|
||||
if (!SetupDoubleTexEnvVoodoo3(ctx, unit0,
|
||||
ctx->Texture.Unit[0].EnvMode, baseImage0->Format,
|
||||
ctx->Texture.Unit[1].EnvMode, baseImage1->Format)) {
|
||||
ctx->Texture.Unit[0].EnvMode, baseImage0->_BaseFormat,
|
||||
ctx->Texture.Unit[1].EnvMode, baseImage1->_BaseFormat)) {
|
||||
FALLBACK(fxMesa, TDFX_FALLBACK_TEXTURE_ENV, GL_TRUE);
|
||||
}
|
||||
|
||||
#if 0/*JJJ*/
|
||||
fxMesa->TexState.EnvMode[unit0] = envMode0;
|
||||
fxMesa->TexState.TexFormat[unit0] = baseImage0->Format;
|
||||
fxMesa->TexState.TexFormat[unit0] = baseImage0->_BaseFormat;
|
||||
fxMesa->TexState.EnvMode[unit1] = envMode1;
|
||||
fxMesa->TexState.TexFormat[unit1] = baseImage1->Format;
|
||||
fxMesa->TexState.TexFormat[unit1] = baseImage1->_BaseFormat;
|
||||
fxMesa->TexState.Enabled[0] = ctx->Texture.Unit[0]._ReallyEnabled;
|
||||
fxMesa->TexState.Enabled[1] = ctx->Texture.Unit[1]._ReallyEnabled;
|
||||
#endif
|
||||
|
@@ -782,13 +782,14 @@ static void viaTexImage(GLcontext *ctx,
|
||||
GLint dstRowStride, dstImageStride = 0;
|
||||
GLboolean success;
|
||||
if (texImage->IsCompressed) {
|
||||
dstRowStride = _mesa_compressed_row_stride(texImage->IntFormat,width);
|
||||
dstRowStride = _mesa_compressed_row_stride(texImage->InternalFormat,width);
|
||||
}
|
||||
else {
|
||||
dstRowStride = postConvWidth * texImage->TexFormat->TexelBytes;
|
||||
}
|
||||
ASSERT(texImage->TexFormat->StoreImage);
|
||||
success = texImage->TexFormat->StoreImage(ctx, dims, texImage->Format,
|
||||
success = texImage->TexFormat->StoreImage(ctx, dims,
|
||||
texImage->_BaseFormat,
|
||||
texImage->TexFormat,
|
||||
texImage->Data,
|
||||
0, 0, 0, /* dstX/Y/Zoffset */
|
||||
|
@@ -95,7 +95,8 @@ _mesa_halve2x2_teximage2d ( GLcontext *ctx,
|
||||
srcRowStride, /* dstRowStride */
|
||||
0, /* dstImageStride */
|
||||
srcWidth, srcHeight, 1,
|
||||
texImage->Format, _t, srcImage, &ctx->DefaultPacking);
|
||||
texImage->_BaseFormat, _t,
|
||||
srcImage, &ctx->DefaultPacking);
|
||||
}
|
||||
|
||||
if (srcHeight == 1) {
|
||||
@@ -136,7 +137,7 @@ _mesa_halve2x2_teximage2d ( GLcontext *ctx,
|
||||
if (bpt) {
|
||||
src = _s;
|
||||
dst = _d;
|
||||
texImage->TexFormat->StoreImage(ctx, 2, texImage->Format,
|
||||
texImage->TexFormat->StoreImage(ctx, 2, texImage->_BaseFormat,
|
||||
texImage->TexFormat, dstImage,
|
||||
0, 0, 0, /* dstX/Y/Zoffset */
|
||||
dstWidth * bpt,
|
||||
@@ -1238,7 +1239,7 @@ adjust2DRatio (GLcontext *ctx,
|
||||
return GL_FALSE;
|
||||
}
|
||||
|
||||
texImage->TexFormat->StoreImage(ctx, 2, texImage->Format,
|
||||
texImage->TexFormat->StoreImage(ctx, 2, texImage->_BaseFormat,
|
||||
texImage->TexFormat, tempImage,
|
||||
0, 0, 0, /* dstX/Y/Zoffset */
|
||||
width * texelBytes, /* dstRowStride */
|
||||
@@ -1282,7 +1283,7 @@ adjust2DRatio (GLcontext *ctx,
|
||||
width, height, /* src */
|
||||
newWidth, newHeight, /* dst */
|
||||
rawImage /*src*/, tempImage /*dst*/ );
|
||||
texImage->TexFormat->StoreImage(ctx, 2, texImage->Format,
|
||||
texImage->TexFormat->StoreImage(ctx, 2, texImage->_BaseFormat,
|
||||
texImage->TexFormat, texImage->Data,
|
||||
xoffset * mml->wScale, yoffset * mml->hScale, 0, /* dstX/Y/Zoffset */
|
||||
dstRowStride,
|
||||
@@ -1313,7 +1314,7 @@ fxDDTexImage2D(GLcontext * ctx, GLenum target, GLint level,
|
||||
|
||||
if (TDFX_DEBUG & VERBOSE_TEXTURE) {
|
||||
fprintf(stderr, "fxDDTexImage2D: id=%d int 0x%x format 0x%x type 0x%x %dx%d\n",
|
||||
texObj->Name, texImage->IntFormat, format, type,
|
||||
texObj->Name, texImage->InternalFormat, format, type,
|
||||
texImage->Width, texImage->Height);
|
||||
}
|
||||
|
||||
@@ -1362,7 +1363,7 @@ fxDDTexImage2D(GLcontext * ctx, GLenum target, GLint level,
|
||||
case GL_RGBA4_S3TC:
|
||||
internalFormat = GL_COMPRESSED_RGBA_FXT1_3DFX;
|
||||
}
|
||||
texImage->IntFormat = internalFormat;
|
||||
texImage->InternalFormat = internalFormat;
|
||||
}
|
||||
#endif
|
||||
#if FX_TC_NAPALM
|
||||
@@ -1374,7 +1375,7 @@ fxDDTexImage2D(GLcontext * ctx, GLenum target, GLint level,
|
||||
texNapalm = GL_COMPRESSED_RGBA_FXT1_3DFX;
|
||||
}
|
||||
if (texNapalm) {
|
||||
texImage->IntFormat = internalFormat = texNapalm;
|
||||
texImage->InternalFormat = internalFormat = texNapalm;
|
||||
texImage->IsCompressed = GL_TRUE;
|
||||
}
|
||||
}
|
||||
@@ -1429,7 +1430,7 @@ fxDDTexImage2D(GLcontext * ctx, GLenum target, GLint level,
|
||||
else {
|
||||
/* no rescaling needed */
|
||||
/* unpack image, apply transfer ops and store in texImage->Data */
|
||||
texImage->TexFormat->StoreImage(ctx, 2, texImage->Format,
|
||||
texImage->TexFormat->StoreImage(ctx, 2, texImage->_BaseFormat,
|
||||
texImage->TexFormat, texImage->Data,
|
||||
0, 0, 0, /* dstX/Y/Zoffset */
|
||||
dstRowStride,
|
||||
@@ -1515,11 +1516,11 @@ fxDDTexSubImage2D(GLcontext * ctx, GLenum target, GLint level,
|
||||
assert(mml);
|
||||
|
||||
assert(texImage->Data); /* must have an existing texture image! */
|
||||
assert(texImage->Format);
|
||||
assert(texImage->_BaseFormat);
|
||||
|
||||
texelBytes = texImage->TexFormat->TexelBytes;
|
||||
if (texImage->IsCompressed) {
|
||||
dstRowStride = _mesa_compressed_row_stride(texImage->IntFormat, mml->width);
|
||||
dstRowStride = _mesa_compressed_row_stride(texImage->InternalFormat, mml->width);
|
||||
} else {
|
||||
dstRowStride = mml->width * texelBytes;
|
||||
}
|
||||
@@ -1542,7 +1543,7 @@ fxDDTexSubImage2D(GLcontext * ctx, GLenum target, GLint level,
|
||||
}
|
||||
else {
|
||||
/* no rescaling needed */
|
||||
texImage->TexFormat->StoreImage(ctx, 2, texImage->Format,
|
||||
texImage->TexFormat->StoreImage(ctx, 2, texImage->_BaseFormat,
|
||||
texImage->TexFormat, (GLubyte *) texImage->Data,
|
||||
xoffset, yoffset, 0, /* dstX/Y/Zoffset */
|
||||
dstRowStride,
|
||||
@@ -1739,12 +1740,12 @@ fxDDCompressedTexSubImage2D( GLcontext *ctx, GLenum target,
|
||||
mml = FX_MIPMAP_DATA(texImage);
|
||||
assert(mml);
|
||||
|
||||
srcRowStride = _mesa_compressed_row_stride(texImage->IntFormat, width);
|
||||
srcRowStride = _mesa_compressed_row_stride(texImage->InternalFormat, width);
|
||||
|
||||
destRowStride = _mesa_compressed_row_stride(texImage->IntFormat,
|
||||
destRowStride = _mesa_compressed_row_stride(texImage->InternalFormat,
|
||||
mml->width);
|
||||
dest = _mesa_compressed_image_address(xoffset, yoffset, 0,
|
||||
texImage->IntFormat,
|
||||
texImage->InternalFormat,
|
||||
mml->width,
|
||||
(GLubyte*) texImage->Data);
|
||||
|
||||
@@ -1760,9 +1761,9 @@ fxDDCompressedTexSubImage2D( GLcontext *ctx, GLenum target,
|
||||
* see fxDDCompressedTexImage2D for caveats
|
||||
*/
|
||||
if (mml->wScale != 1 || mml->hScale != 1) {
|
||||
srcRowStride = _mesa_compressed_row_stride(texImage->IntFormat, texImage->Width);
|
||||
srcRowStride = _mesa_compressed_row_stride(texImage->InternalFormat, texImage->Width);
|
||||
|
||||
destRowStride = _mesa_compressed_row_stride(texImage->IntFormat,
|
||||
destRowStride = _mesa_compressed_row_stride(texImage->InternalFormat,
|
||||
mml->width);
|
||||
_mesa_upscale_teximage2d(srcRowStride, texImage->Height / 4,
|
||||
destRowStride, mml->height / 4,
|
||||
|
@@ -406,9 +406,11 @@ _mesa_test_framebuffer_completeness(GLcontext *ctx, struct gl_framebuffer *fb)
|
||||
}
|
||||
|
||||
if (att->Type == GL_TEXTURE) {
|
||||
w = att->Texture->Image[att->CubeMapFace][att->TextureLevel]->Width;
|
||||
h = att->Texture->Image[att->CubeMapFace][att->TextureLevel]->Height;
|
||||
f = att->Texture->Image[att->CubeMapFace][att->TextureLevel]->Format;
|
||||
const struct gl_texture_image *texImg
|
||||
= att->Texture->Image[att->CubeMapFace][att->TextureLevel];
|
||||
w = texImg->Width;
|
||||
h = texImg->Height;
|
||||
f = texImg->_BaseFormat;
|
||||
numImages++;
|
||||
if (f != GL_RGB && f != GL_RGBA && f != GL_DEPTH_COMPONENT) {
|
||||
/* XXX need GL_DEPTH_STENCIL_EXT test? */
|
||||
|
@@ -1206,13 +1206,13 @@ struct gl_texture_format
|
||||
*/
|
||||
struct gl_texture_image
|
||||
{
|
||||
GLenum Format; /**< Either GL_RGB, GL_RGBA, GL_ALPHA,
|
||||
GLenum _BaseFormat; /**< Either GL_RGB, GL_RGBA, GL_ALPHA,
|
||||
* GL_LUMINANCE, GL_LUMINANCE_ALPHA,
|
||||
* GL_INTENSITY, GL_COLOR_INDEX,
|
||||
* GL_DEPTH_COMPONENT or GL_DEPTH_STENCIL_EXT
|
||||
* only. Used for choosing TexEnv arithmetic.
|
||||
*/
|
||||
GLint IntFormat; /**< Internal format as given by the user */
|
||||
GLint InternalFormat; /**< Internal format as given by the user */
|
||||
GLuint Border; /**< 0 or 1 */
|
||||
GLuint Width; /**< = 2^WidthLog2 + 2*Border */
|
||||
GLuint Height; /**< = 2^HeightLog2 + 2*Border */
|
||||
|
@@ -1037,8 +1037,8 @@ static void
|
||||
clear_teximage_fields(struct gl_texture_image *img)
|
||||
{
|
||||
ASSERT(img);
|
||||
img->Format = 0;
|
||||
img->IntFormat = 0;
|
||||
img->_BaseFormat = 0;
|
||||
img->InternalFormat = 0;
|
||||
img->Border = 0;
|
||||
img->Width = 0;
|
||||
img->Height = 0;
|
||||
@@ -1081,9 +1081,9 @@ _mesa_init_teximage_fields(GLcontext *ctx, GLenum target,
|
||||
GLint border, GLenum internalFormat)
|
||||
{
|
||||
ASSERT(img);
|
||||
img->Format = _mesa_base_tex_format( ctx, internalFormat );
|
||||
ASSERT(img->Format > 0);
|
||||
img->IntFormat = internalFormat;
|
||||
img->_BaseFormat = _mesa_base_tex_format( ctx, internalFormat );
|
||||
ASSERT(img->_BaseFormat > 0);
|
||||
img->InternalFormat = internalFormat;
|
||||
img->Border = border;
|
||||
img->Width = width;
|
||||
img->Height = height;
|
||||
@@ -1969,12 +1969,12 @@ copytexsubimage_error_check( GLcontext *ctx, GLuint dimensions,
|
||||
}
|
||||
}
|
||||
|
||||
if (teximage->IntFormat == GL_YCBCR_MESA) {
|
||||
if (teximage->InternalFormat == GL_YCBCR_MESA) {
|
||||
_mesa_error(ctx, GL_INVALID_OPERATION, "glCopyTexSubImage2D");
|
||||
return GL_TRUE;
|
||||
}
|
||||
|
||||
if (teximage->Format == GL_DEPTH_COMPONENT) {
|
||||
if (teximage->_BaseFormat == GL_DEPTH_COMPONENT) {
|
||||
if (!ctx->ReadBuffer->Attachment[BUFFER_DEPTH].Renderbuffer) {
|
||||
_mesa_error(ctx, GL_INVALID_OPERATION,
|
||||
"glCopyTexSubImage%D(no depth buffer)",
|
||||
@@ -1982,7 +1982,7 @@ copytexsubimage_error_check( GLcontext *ctx, GLuint dimensions,
|
||||
return GL_TRUE;
|
||||
}
|
||||
}
|
||||
else if (teximage->Format == GL_DEPTH_STENCIL_EXT) {
|
||||
else if (teximage->_BaseFormat == GL_DEPTH_STENCIL_EXT) {
|
||||
if (!ctx->ReadBuffer->Attachment[BUFFER_DEPTH].Renderbuffer ||
|
||||
!ctx->ReadBuffer->Attachment[BUFFER_STENCIL].Renderbuffer) {
|
||||
_mesa_error(ctx, GL_INVALID_OPERATION,
|
||||
@@ -3191,7 +3191,7 @@ _mesa_CompressedTexSubImage1DARB(GLenum target, GLint level, GLint xoffset,
|
||||
texImage = _mesa_select_tex_image(ctx, texUnit, target, level);
|
||||
assert(texImage);
|
||||
|
||||
if ((GLint) format != texImage->IntFormat) {
|
||||
if ((GLint) format != texImage->InternalFormat) {
|
||||
_mesa_error(ctx, GL_INVALID_OPERATION,
|
||||
"glCompressedTexSubImage1D(format)");
|
||||
return;
|
||||
@@ -3241,7 +3241,7 @@ _mesa_CompressedTexSubImage2DARB(GLenum target, GLint level, GLint xoffset,
|
||||
texImage = _mesa_select_tex_image(ctx, texUnit, target, level);
|
||||
assert(texImage);
|
||||
|
||||
if ((GLint) format != texImage->IntFormat) {
|
||||
if ((GLint) format != texImage->InternalFormat) {
|
||||
_mesa_error(ctx, GL_INVALID_OPERATION,
|
||||
"glCompressedTexSubImage2D(format)");
|
||||
return;
|
||||
@@ -3291,7 +3291,7 @@ _mesa_CompressedTexSubImage3DARB(GLenum target, GLint level, GLint xoffset,
|
||||
texImage = _mesa_select_tex_image(ctx, texUnit, target, level);
|
||||
assert(texImage);
|
||||
|
||||
if ((GLint) format != texImage->IntFormat) {
|
||||
if ((GLint) format != texImage->InternalFormat) {
|
||||
_mesa_error(ctx, GL_INVALID_OPERATION,
|
||||
"glCompressedTexSubImage3D(format)");
|
||||
return;
|
||||
|
@@ -435,7 +435,7 @@ _mesa_test_texobj_completeness( const GLcontext *ctx,
|
||||
t->Complete = GL_FALSE;
|
||||
return;
|
||||
}
|
||||
if (t->Image[0][i]->Format == GL_DEPTH_COMPONENT) {
|
||||
if (t->Image[0][i]->_BaseFormat == GL_DEPTH_COMPONENT) {
|
||||
t->Complete = GL_FALSE;
|
||||
incomplete(t, "GL_DEPTH_COMPONENT only works with 1/2D tex");
|
||||
return;
|
||||
@@ -482,7 +482,7 @@ _mesa_test_texobj_completeness( const GLcontext *ctx,
|
||||
return;
|
||||
}
|
||||
/* Don't support GL_DEPTH_COMPONENT for cube maps */
|
||||
if (t->Image[face][i]->Format == GL_DEPTH_COMPONENT) {
|
||||
if (t->Image[face][i]->_BaseFormat == GL_DEPTH_COMPONENT) {
|
||||
t->Complete = GL_FALSE;
|
||||
incomplete(t, "GL_DEPTH_COMPONENT only works with 1/2D tex");
|
||||
return;
|
||||
|
@@ -164,7 +164,7 @@ wrap_texture(GLcontext *ctx, struct gl_renderbuffer_attachment *att)
|
||||
|
||||
trb->Base.Width = trb->TexImage->Width;
|
||||
trb->Base.Height = trb->TexImage->Height;
|
||||
trb->Base.InternalFormat = trb->TexImage->IntFormat; /* XXX fix? */
|
||||
trb->Base.InternalFormat = trb->TexImage->InternalFormat; /* XXX fix? */
|
||||
trb->Base._BaseFormat = trb->TexImage->TexFormat->BaseFormat;
|
||||
#if 0
|
||||
/* fix/avoid this assertion someday */
|
||||
|
@@ -1717,38 +1717,39 @@ _mesa_GetTexLevelParameteriv( GLenum target, GLint level,
|
||||
*params = img->Depth;
|
||||
return;
|
||||
case GL_TEXTURE_INTERNAL_FORMAT:
|
||||
*params = img->IntFormat;
|
||||
*params = img->InternalFormat;
|
||||
return;
|
||||
case GL_TEXTURE_BORDER:
|
||||
*params = img->Border;
|
||||
return;
|
||||
case GL_TEXTURE_RED_SIZE:
|
||||
if (img->Format == GL_RGB || img->Format == GL_RGBA)
|
||||
if (img->_BaseFormat == GL_RGB || img->_BaseFormat == GL_RGBA)
|
||||
*params = img->TexFormat->RedBits;
|
||||
else
|
||||
*params = 0;
|
||||
return;
|
||||
case GL_TEXTURE_GREEN_SIZE:
|
||||
if (img->Format == GL_RGB || img->Format == GL_RGBA)
|
||||
if (img->_BaseFormat == GL_RGB || img->_BaseFormat == GL_RGBA)
|
||||
*params = img->TexFormat->GreenBits;
|
||||
else
|
||||
*params = 0;
|
||||
return;
|
||||
case GL_TEXTURE_BLUE_SIZE:
|
||||
if (img->Format == GL_RGB || img->Format == GL_RGBA)
|
||||
if (img->_BaseFormat == GL_RGB || img->_BaseFormat == GL_RGBA)
|
||||
*params = img->TexFormat->BlueBits;
|
||||
else
|
||||
*params = 0;
|
||||
return;
|
||||
case GL_TEXTURE_ALPHA_SIZE:
|
||||
if (img->Format == GL_ALPHA || img->Format == GL_LUMINANCE_ALPHA ||
|
||||
img->Format == GL_RGBA)
|
||||
if (img->_BaseFormat == GL_ALPHA ||
|
||||
img->_BaseFormat == GL_LUMINANCE_ALPHA ||
|
||||
img->_BaseFormat == GL_RGBA)
|
||||
*params = img->TexFormat->AlphaBits;
|
||||
else
|
||||
*params = 0;
|
||||
return;
|
||||
case GL_TEXTURE_INTENSITY_SIZE:
|
||||
if (img->Format != GL_INTENSITY)
|
||||
if (img->_BaseFormat != GL_INTENSITY)
|
||||
*params = 0;
|
||||
else if (img->TexFormat->IntensityBits > 0)
|
||||
*params = img->TexFormat->IntensityBits;
|
||||
@@ -1756,8 +1757,8 @@ _mesa_GetTexLevelParameteriv( GLenum target, GLint level,
|
||||
*params = MIN2(img->TexFormat->RedBits, img->TexFormat->GreenBits);
|
||||
return;
|
||||
case GL_TEXTURE_LUMINANCE_SIZE:
|
||||
if (img->Format != GL_LUMINANCE &&
|
||||
img->Format != GL_LUMINANCE_ALPHA)
|
||||
if (img->_BaseFormat != GL_LUMINANCE &&
|
||||
img->_BaseFormat != GL_LUMINANCE_ALPHA)
|
||||
*params = 0;
|
||||
else if (img->TexFormat->LuminanceBits > 0)
|
||||
*params = img->TexFormat->LuminanceBits;
|
||||
@@ -1765,7 +1766,7 @@ _mesa_GetTexLevelParameteriv( GLenum target, GLint level,
|
||||
*params = MIN2(img->TexFormat->RedBits, img->TexFormat->GreenBits);
|
||||
return;
|
||||
case GL_TEXTURE_INDEX_SIZE_EXT:
|
||||
if (img->Format == GL_COLOR_INDEX)
|
||||
if (img->_BaseFormat == GL_COLOR_INDEX)
|
||||
*params = img->TexFormat->IndexBits;
|
||||
else
|
||||
*params = 0;
|
||||
@@ -3033,7 +3034,7 @@ update_texture_state( GLcontext *ctx )
|
||||
texUnit->_CurrentCombine = & texUnit->Combine;
|
||||
}
|
||||
else {
|
||||
GLenum format = texUnit->_Current->Image[0][0]->Format;
|
||||
GLenum format = texUnit->_Current->Image[0][0]->_BaseFormat;
|
||||
if (format == GL_COLOR_INDEX) {
|
||||
format = GL_RGBA; /* a bit of a hack */
|
||||
}
|
||||
|
@@ -2338,7 +2338,7 @@ _mesa_store_teximage1d(GLcontext *ctx, GLenum target, GLint level,
|
||||
const GLint dstRowStride = 0, dstImageStride = 0;
|
||||
GLboolean success;
|
||||
ASSERT(texImage->TexFormat->StoreImage);
|
||||
success = texImage->TexFormat->StoreImage(ctx, 1, texImage->Format,
|
||||
success = texImage->TexFormat->StoreImage(ctx, 1, texImage->_BaseFormat,
|
||||
texImage->TexFormat,
|
||||
texImage->Data,
|
||||
0, 0, 0, /* dstX/Y/Zoffset */
|
||||
@@ -2425,13 +2425,14 @@ _mesa_store_teximage2d(GLcontext *ctx, GLenum target, GLint level,
|
||||
GLint dstRowStride, dstImageStride = 0;
|
||||
GLboolean success;
|
||||
if (texImage->IsCompressed) {
|
||||
dstRowStride = _mesa_compressed_row_stride(texImage->IntFormat,width);
|
||||
dstRowStride
|
||||
= _mesa_compressed_row_stride(texImage->InternalFormat,width);
|
||||
}
|
||||
else {
|
||||
dstRowStride = postConvWidth * texImage->TexFormat->TexelBytes;
|
||||
}
|
||||
ASSERT(texImage->TexFormat->StoreImage);
|
||||
success = texImage->TexFormat->StoreImage(ctx, 2, texImage->Format,
|
||||
success = texImage->TexFormat->StoreImage(ctx, 2, texImage->_BaseFormat,
|
||||
texImage->TexFormat,
|
||||
texImage->Data,
|
||||
0, 0, 0, /* dstX/Y/Zoffset */
|
||||
@@ -2504,7 +2505,8 @@ _mesa_store_teximage3d(GLcontext *ctx, GLenum target, GLint level,
|
||||
GLint dstRowStride, dstImageStride;
|
||||
GLboolean success;
|
||||
if (texImage->IsCompressed) {
|
||||
dstRowStride = _mesa_compressed_row_stride(texImage->IntFormat,width);
|
||||
dstRowStride
|
||||
= _mesa_compressed_row_stride(texImage->InternalFormat,width);
|
||||
dstImageStride = 0;
|
||||
}
|
||||
else {
|
||||
@@ -2512,7 +2514,7 @@ _mesa_store_teximage3d(GLcontext *ctx, GLenum target, GLint level,
|
||||
dstImageStride = dstRowStride * height;
|
||||
}
|
||||
ASSERT(texImage->TexFormat->StoreImage);
|
||||
success = texImage->TexFormat->StoreImage(ctx, 3, texImage->Format,
|
||||
success = texImage->TexFormat->StoreImage(ctx, 3, texImage->_BaseFormat,
|
||||
texImage->TexFormat,
|
||||
texImage->Data,
|
||||
0, 0, 0, /* dstX/Y/Zoffset */
|
||||
@@ -2558,7 +2560,7 @@ _mesa_store_texsubimage1d(GLcontext *ctx, GLenum target, GLint level,
|
||||
const GLint dstRowStride = 0, dstImageStride = 0;
|
||||
GLboolean success;
|
||||
ASSERT(texImage->TexFormat->StoreImage);
|
||||
success = texImage->TexFormat->StoreImage(ctx, 1, texImage->Format,
|
||||
success = texImage->TexFormat->StoreImage(ctx, 1, texImage->_BaseFormat,
|
||||
texImage->TexFormat,
|
||||
texImage->Data,
|
||||
xoffset, 0, 0, /* offsets */
|
||||
@@ -2604,14 +2606,14 @@ _mesa_store_texsubimage2d(GLcontext *ctx, GLenum target, GLint level,
|
||||
GLint dstRowStride = 0, dstImageStride = 0;
|
||||
GLboolean success;
|
||||
if (texImage->IsCompressed) {
|
||||
dstRowStride = _mesa_compressed_row_stride(texImage->IntFormat,
|
||||
dstRowStride = _mesa_compressed_row_stride(texImage->InternalFormat,
|
||||
texImage->Width);
|
||||
}
|
||||
else {
|
||||
dstRowStride = texImage->Width * texImage->TexFormat->TexelBytes;
|
||||
}
|
||||
ASSERT(texImage->TexFormat->StoreImage);
|
||||
success = texImage->TexFormat->StoreImage(ctx, 2, texImage->Format,
|
||||
success = texImage->TexFormat->StoreImage(ctx, 2, texImage->_BaseFormat,
|
||||
texImage->TexFormat,
|
||||
texImage->Data,
|
||||
xoffset, yoffset, 0,
|
||||
@@ -2657,7 +2659,7 @@ _mesa_store_texsubimage3d(GLcontext *ctx, GLenum target, GLint level,
|
||||
GLint dstRowStride, dstImageStride;
|
||||
GLboolean success;
|
||||
if (texImage->IsCompressed) {
|
||||
dstRowStride = _mesa_compressed_row_stride(texImage->IntFormat,
|
||||
dstRowStride = _mesa_compressed_row_stride(texImage->InternalFormat,
|
||||
texImage->Width);
|
||||
dstImageStride = 0; /* XXX fix */
|
||||
}
|
||||
@@ -2666,7 +2668,7 @@ _mesa_store_texsubimage3d(GLcontext *ctx, GLenum target, GLint level,
|
||||
dstImageStride = dstRowStride * texImage->Height;
|
||||
}
|
||||
ASSERT(texImage->TexFormat->StoreImage);
|
||||
success = texImage->TexFormat->StoreImage(ctx, 3, texImage->Format,
|
||||
success = texImage->TexFormat->StoreImage(ctx, 3, texImage->_BaseFormat,
|
||||
texImage->TexFormat,
|
||||
texImage->Data,
|
||||
xoffset, yoffset, zoffset,
|
||||
@@ -2850,13 +2852,13 @@ _mesa_store_compressed_texsubimage2d(GLcontext *ctx, GLenum target,
|
||||
if (!data)
|
||||
return;
|
||||
|
||||
srcRowStride = _mesa_compressed_row_stride(texImage->IntFormat, width);
|
||||
srcRowStride = _mesa_compressed_row_stride(texImage->InternalFormat, width);
|
||||
src = (const GLubyte *) data;
|
||||
|
||||
destRowStride = _mesa_compressed_row_stride(texImage->IntFormat,
|
||||
destRowStride = _mesa_compressed_row_stride(texImage->InternalFormat,
|
||||
texImage->Width);
|
||||
dest = _mesa_compressed_image_address(xoffset, yoffset, 0,
|
||||
texImage->IntFormat,
|
||||
texImage->InternalFormat,
|
||||
texImage->Width,
|
||||
(GLubyte*) texImage->Data);
|
||||
|
||||
@@ -3683,21 +3685,21 @@ _mesa_generate_mipmap(GLcontext *ctx, GLenum target,
|
||||
|
||||
assert(texObj->Target == GL_TEXTURE_2D);
|
||||
|
||||
if (srcImage->Format == GL_RGB) {
|
||||
if (srcImage->_BaseFormat == GL_RGB) {
|
||||
convertFormat = &_mesa_texformat_rgb;
|
||||
components = 3;
|
||||
}
|
||||
else if (srcImage->Format == GL_RGBA) {
|
||||
else if (srcImage->_BaseFormat == GL_RGBA) {
|
||||
convertFormat = &_mesa_texformat_rgba;
|
||||
components = 4;
|
||||
}
|
||||
else {
|
||||
_mesa_problem(ctx, "bad srcImage->Format in _mesa_generate_mipmaps");
|
||||
_mesa_problem(ctx, "bad srcImage->_BaseFormat in _mesa_generate_mipmaps");
|
||||
return;
|
||||
}
|
||||
|
||||
/* allocate storage for uncompressed GL_RGB or GL_RGBA images */
|
||||
size = _mesa_bytes_per_pixel(srcImage->Format, CHAN_TYPE)
|
||||
size = _mesa_bytes_per_pixel(srcImage->_BaseFormat, CHAN_TYPE)
|
||||
* srcImage->Width * srcImage->Height * srcImage->Depth + 20;
|
||||
/* 20 extra bytes, just be safe when calling last FetchTexel */
|
||||
srcData = (GLubyte *) _mesa_malloc(size);
|
||||
@@ -3788,7 +3790,7 @@ _mesa_generate_mipmap(GLcontext *ctx, GLenum target,
|
||||
|
||||
/* initialize new image */
|
||||
_mesa_init_teximage_fields(ctx, target, dstImage, dstWidth, dstHeight,
|
||||
dstDepth, border, srcImage->IntFormat);
|
||||
dstDepth, border, srcImage->InternalFormat);
|
||||
dstImage->DriverData = NULL;
|
||||
dstImage->TexFormat = srcImage->TexFormat;
|
||||
dstImage->FetchTexelc = srcImage->FetchTexelc;
|
||||
@@ -3861,10 +3863,10 @@ _mesa_generate_mipmap(GLcontext *ctx, GLenum target,
|
||||
GLubyte *temp;
|
||||
/* compress image from dstData into dstImage->Data */
|
||||
const GLenum srcFormat = convertFormat->BaseFormat;
|
||||
GLint dstRowStride = _mesa_compressed_row_stride(srcImage->IntFormat,
|
||||
dstWidth);
|
||||
GLint dstRowStride
|
||||
= _mesa_compressed_row_stride(srcImage->InternalFormat, dstWidth);
|
||||
ASSERT(srcFormat == GL_RGB || srcFormat == GL_RGBA);
|
||||
dstImage->TexFormat->StoreImage(ctx, 2, dstImage->Format,
|
||||
dstImage->TexFormat->StoreImage(ctx, 2, dstImage->_BaseFormat,
|
||||
dstImage->TexFormat,
|
||||
dstImage->Data,
|
||||
0, 0, 0, /* dstX/Y/Zoffset */
|
||||
|
@@ -743,7 +743,7 @@ texture_apply( const GLcontext *ctx,
|
||||
baseLevel = texUnit->_Current->BaseLevel;
|
||||
ASSERT(texUnit->_Current->Image[0][baseLevel]);
|
||||
|
||||
format = texUnit->_Current->Image[0][baseLevel]->Format;
|
||||
format = texUnit->_Current->Image[0][baseLevel]->_BaseFormat;
|
||||
|
||||
if (format == GL_COLOR_INDEX || format == GL_YCBCR_MESA) {
|
||||
format = GL_RGBA; /* a bit of a hack */
|
||||
|
@@ -1041,7 +1041,7 @@ sample_2d_linear_repeat(GLcontext *ctx,
|
||||
ASSERT(tObj->WrapS == GL_REPEAT);
|
||||
ASSERT(tObj->WrapT == GL_REPEAT);
|
||||
ASSERT(img->Border == 0);
|
||||
ASSERT(img->Format != GL_COLOR_INDEX);
|
||||
ASSERT(img->_BaseFormat != GL_COLOR_INDEX);
|
||||
ASSERT(img->_IsPowerOfTwo);
|
||||
|
||||
COMPUTE_LINEAR_REPEAT_TEXEL_LOCATION(texcoord[0], u, width, i0, i1);
|
||||
@@ -1234,7 +1234,7 @@ opt_sample_rgb_2d( GLcontext *ctx,
|
||||
ASSERT(tObj->WrapS==GL_REPEAT);
|
||||
ASSERT(tObj->WrapT==GL_REPEAT);
|
||||
ASSERT(img->Border==0);
|
||||
ASSERT(img->Format==GL_RGB);
|
||||
ASSERT(img->_BaseFormat==GL_RGB);
|
||||
ASSERT(img->_IsPowerOfTwo);
|
||||
|
||||
for (k=0; k<n; k++) {
|
||||
@@ -1275,7 +1275,7 @@ opt_sample_rgba_2d( GLcontext *ctx,
|
||||
ASSERT(tObj->WrapS==GL_REPEAT);
|
||||
ASSERT(tObj->WrapT==GL_REPEAT);
|
||||
ASSERT(img->Border==0);
|
||||
ASSERT(img->Format==GL_RGBA);
|
||||
ASSERT(img->_BaseFormat==GL_RGBA);
|
||||
ASSERT(img->_IsPowerOfTwo);
|
||||
|
||||
for (i = 0; i < n; i++) {
|
||||
@@ -1305,7 +1305,7 @@ sample_lambda_2d( GLcontext *ctx,
|
||||
const GLboolean repeatNoBorderPOT = (tObj->WrapS == GL_REPEAT)
|
||||
&& (tObj->WrapT == GL_REPEAT)
|
||||
&& (tImg->Border == 0 && (tImg->Width == tImg->RowStride))
|
||||
&& (tImg->Format != GL_COLOR_INDEX)
|
||||
&& (tImg->_BaseFormat != GL_COLOR_INDEX)
|
||||
&& tImg->_IsPowerOfTwo;
|
||||
|
||||
ASSERT(lambda != NULL);
|
||||
@@ -2045,7 +2045,7 @@ sample_nearest_rect(GLcontext *ctx,
|
||||
ASSERT(tObj->WrapT == GL_CLAMP ||
|
||||
tObj->WrapT == GL_CLAMP_TO_EDGE ||
|
||||
tObj->WrapT == GL_CLAMP_TO_BORDER);
|
||||
ASSERT(img->Format != GL_COLOR_INDEX);
|
||||
ASSERT(img->_BaseFormat != GL_COLOR_INDEX);
|
||||
|
||||
/* XXX move Wrap mode tests outside of loops for common cases */
|
||||
for (i = 0; i < n; i++) {
|
||||
@@ -2100,7 +2100,7 @@ sample_linear_rect(GLcontext *ctx,
|
||||
ASSERT(tObj->WrapT == GL_CLAMP ||
|
||||
tObj->WrapT == GL_CLAMP_TO_EDGE ||
|
||||
tObj->WrapT == GL_CLAMP_TO_BORDER);
|
||||
ASSERT(img->Format != GL_COLOR_INDEX);
|
||||
ASSERT(img->_BaseFormat != GL_COLOR_INDEX);
|
||||
|
||||
/* XXX lots of opportunity for optimization in this loop */
|
||||
for (i = 0; i < n; i++) {
|
||||
@@ -2248,8 +2248,8 @@ sample_depth_texture( GLcontext *ctx,
|
||||
|
||||
(void) lambda;
|
||||
|
||||
ASSERT(tObj->Image[0][tObj->BaseLevel]->Format == GL_DEPTH_COMPONENT ||
|
||||
tObj->Image[0][tObj->BaseLevel]->Format == GL_DEPTH_STENCIL_EXT);
|
||||
ASSERT(tObj->Image[0][tObj->BaseLevel]->_BaseFormat == GL_DEPTH_COMPONENT ||
|
||||
tObj->Image[0][tObj->BaseLevel]->_BaseFormat == GL_DEPTH_STENCIL_EXT);
|
||||
|
||||
ASSERT(tObj->Target == GL_TEXTURE_1D ||
|
||||
tObj->Target == GL_TEXTURE_2D ||
|
||||
@@ -2544,7 +2544,7 @@ sample_depth_texture2(const GLcontext *ctx,
|
||||
* GL_TEXTURE_COMPARE_SGIX == GL_TRUE but the current texture object
|
||||
* isn't a depth texture.
|
||||
*/
|
||||
if (texImage->Format != GL_DEPTH_COMPONENT) {
|
||||
if (texImage->_BaseFormat != GL_DEPTH_COMPONENT) {
|
||||
_mesa_problem(ctx,"GL_TEXTURE_COMPARE_SGIX enabled with non-depth texture");
|
||||
return;
|
||||
}
|
||||
@@ -2647,7 +2647,7 @@ _swrast_choose_texture_sample_func( GLcontext *ctx,
|
||||
}
|
||||
else {
|
||||
const GLboolean needLambda = (GLboolean) (t->MinFilter != t->MagFilter);
|
||||
const GLenum format = t->Image[0][t->BaseLevel]->Format;
|
||||
const GLenum format = t->Image[0][t->BaseLevel]->_BaseFormat;
|
||||
|
||||
switch (t->Target) {
|
||||
case GL_TEXTURE_1D:
|
||||
|
@@ -394,7 +394,7 @@ _swrast_copy_texsubimage1d( GLcontext *ctx, GLenum target, GLint level,
|
||||
|
||||
ASSERT(ctx->Driver.TexImage1D);
|
||||
|
||||
if (texImage->Format == GL_DEPTH_COMPONENT) {
|
||||
if (texImage->_BaseFormat == GL_DEPTH_COMPONENT) {
|
||||
/* read depth image from framebuffer */
|
||||
GLfloat *image = read_depth_image(ctx, x, y, width, 1);
|
||||
if (!image) {
|
||||
@@ -408,7 +408,7 @@ _swrast_copy_texsubimage1d( GLcontext *ctx, GLenum target, GLint level,
|
||||
&ctx->DefaultPacking, texObj, texImage);
|
||||
_mesa_free(image);
|
||||
}
|
||||
else if (texImage->Format == GL_DEPTH_STENCIL_EXT) {
|
||||
else if (texImage->_BaseFormat == GL_DEPTH_STENCIL_EXT) {
|
||||
/* read depth/stencil image from framebuffer */
|
||||
GLuint *image = read_depth_stencil_image(ctx, x, y, width, 1);
|
||||
if (!image) {
|
||||
@@ -463,7 +463,7 @@ _swrast_copy_texsubimage2d( GLcontext *ctx,
|
||||
|
||||
ASSERT(ctx->Driver.TexImage2D);
|
||||
|
||||
if (texImage->Format == GL_DEPTH_COMPONENT) {
|
||||
if (texImage->_BaseFormat == GL_DEPTH_COMPONENT) {
|
||||
/* read depth image from framebuffer */
|
||||
GLfloat *image = read_depth_image(ctx, x, y, width, height);
|
||||
if (!image) {
|
||||
@@ -477,7 +477,7 @@ _swrast_copy_texsubimage2d( GLcontext *ctx,
|
||||
&ctx->DefaultPacking, texObj, texImage);
|
||||
_mesa_free(image);
|
||||
}
|
||||
else if (texImage->Format == GL_DEPTH_STENCIL_EXT) {
|
||||
else if (texImage->_BaseFormat == GL_DEPTH_STENCIL_EXT) {
|
||||
/* read depth/stencil image from framebuffer */
|
||||
GLuint *image = read_depth_stencil_image(ctx, x, y, width, height);
|
||||
if (!image) {
|
||||
@@ -534,7 +534,7 @@ _swrast_copy_texsubimage3d( GLcontext *ctx,
|
||||
|
||||
ASSERT(ctx->Driver.TexImage3D);
|
||||
|
||||
if (texImage->Format == GL_DEPTH_COMPONENT) {
|
||||
if (texImage->_BaseFormat == GL_DEPTH_COMPONENT) {
|
||||
/* read depth image from framebuffer */
|
||||
GLfloat *image = read_depth_image(ctx, x, y, width, height);
|
||||
if (!image) {
|
||||
@@ -548,7 +548,7 @@ _swrast_copy_texsubimage3d( GLcontext *ctx,
|
||||
&ctx->DefaultPacking, texObj, texImage);
|
||||
_mesa_free(image);
|
||||
}
|
||||
else if (texImage->Format == GL_DEPTH_STENCIL_EXT) {
|
||||
else if (texImage->_BaseFormat == GL_DEPTH_STENCIL_EXT) {
|
||||
/* read depth/stencil image from framebuffer */
|
||||
GLuint *image = read_depth_stencil_image(ctx, x, y, width, height);
|
||||
if (!image) {
|
||||
|
@@ -544,7 +544,7 @@ affine_span(GLcontext *ctx, struct sw_span *span,
|
||||
info.twidth_log2 = obj->Image[0][b]->WidthLog2; \
|
||||
info.smask = obj->Image[0][b]->Width - 1; \
|
||||
info.tmask = obj->Image[0][b]->Height - 1; \
|
||||
info.format = obj->Image[0][b]->Format; \
|
||||
info.format = obj->Image[0][b]->_BaseFormat; \
|
||||
info.filter = obj->MinFilter; \
|
||||
info.envmode = unit->EnvMode; \
|
||||
span.arrayMask |= SPAN_RGBA; \
|
||||
@@ -814,7 +814,7 @@ fast_persp_span(GLcontext *ctx, struct sw_span *span,
|
||||
info.twidth_log2 = obj->Image[0][b]->WidthLog2; \
|
||||
info.smask = obj->Image[0][b]->Width - 1; \
|
||||
info.tmask = obj->Image[0][b]->Height - 1; \
|
||||
info.format = obj->Image[0][b]->Format; \
|
||||
info.format = obj->Image[0][b]->_BaseFormat; \
|
||||
info.filter = obj->MinFilter; \
|
||||
info.envmode = unit->EnvMode; \
|
||||
\
|
||||
|
Reference in New Issue
Block a user