Port glXCopyContext bug from 4.0 branch.
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
/* $Id: attrib.c,v 1.68 2002/06/15 03:03:06 brianp Exp $ */
|
/* $Id: attrib.c,v 1.69 2002/06/17 23:36:31 brianp Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Mesa 3-D graphics library
|
* Mesa 3-D graphics library
|
||||||
@@ -72,42 +72,6 @@ new_attrib_node( GLbitfield kind )
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Copy texture object state from one texture object to another.
|
|
||||||
*/
|
|
||||||
static void
|
|
||||||
copy_texobj_state( struct gl_texture_object *dest,
|
|
||||||
const struct gl_texture_object *src )
|
|
||||||
{
|
|
||||||
dest->Name = src->Name;
|
|
||||||
/*dest->Target = src->Target*/
|
|
||||||
dest->Priority = src->Priority;
|
|
||||||
dest->BorderColor[0] = src->BorderColor[0];
|
|
||||||
dest->BorderColor[1] = src->BorderColor[1];
|
|
||||||
dest->BorderColor[2] = src->BorderColor[2];
|
|
||||||
dest->BorderColor[3] = src->BorderColor[3];
|
|
||||||
dest->WrapS = src->WrapS;
|
|
||||||
dest->WrapT = src->WrapT;
|
|
||||||
dest->WrapR = src->WrapR;
|
|
||||||
dest->MinFilter = src->MinFilter;
|
|
||||||
dest->MagFilter = src->MagFilter;
|
|
||||||
dest->MinLod = src->MinLod;
|
|
||||||
dest->MaxLod = src->MaxLod;
|
|
||||||
dest->BaseLevel = src->BaseLevel;
|
|
||||||
dest->MaxLevel = src->MaxLevel;
|
|
||||||
dest->MaxAnisotropy = src->MaxAnisotropy;
|
|
||||||
dest->CompareFlag = src->CompareFlag;
|
|
||||||
dest->CompareOperator = src->CompareOperator;
|
|
||||||
dest->ShadowAmbient = src->ShadowAmbient;
|
|
||||||
dest->_MaxLevel = src->_MaxLevel;
|
|
||||||
dest->_MaxLambda = src->_MaxLambda;
|
|
||||||
dest->Palette = src->Palette;
|
|
||||||
dest->Complete = src->Complete;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
_mesa_PushAttrib(GLbitfield mask)
|
_mesa_PushAttrib(GLbitfield mask)
|
||||||
{
|
{
|
||||||
@@ -387,11 +351,16 @@ _mesa_PushAttrib(GLbitfield mask)
|
|||||||
MEMCPY( attr, &ctx->Texture, sizeof(struct gl_texture_attrib) );
|
MEMCPY( attr, &ctx->Texture, sizeof(struct gl_texture_attrib) );
|
||||||
/* copy state of the currently bound texture objects */
|
/* copy state of the currently bound texture objects */
|
||||||
for (u = 0; u < ctx->Const.MaxTextureUnits; u++) {
|
for (u = 0; u < ctx->Const.MaxTextureUnits; u++) {
|
||||||
copy_texobj_state(&attr->Unit[u].Saved1D, attr->Unit[u].Current1D);
|
_mesa_copy_texture_object(&attr->Unit[u].Saved1D,
|
||||||
copy_texobj_state(&attr->Unit[u].Saved2D, attr->Unit[u].Current2D);
|
attr->Unit[u].Current1D);
|
||||||
copy_texobj_state(&attr->Unit[u].Saved3D, attr->Unit[u].Current3D);
|
_mesa_copy_texture_object(&attr->Unit[u].Saved2D,
|
||||||
copy_texobj_state(&attr->Unit[u].SavedCubeMap, attr->Unit[u].CurrentCubeMap);
|
attr->Unit[u].Current2D);
|
||||||
copy_texobj_state(&attr->Unit[u].SavedRect, attr->Unit[u].CurrentRect);
|
_mesa_copy_texture_object(&attr->Unit[u].Saved3D,
|
||||||
|
attr->Unit[u].Current3D);
|
||||||
|
_mesa_copy_texture_object(&attr->Unit[u].SavedCubeMap,
|
||||||
|
attr->Unit[u].CurrentCubeMap);
|
||||||
|
_mesa_copy_texture_object(&attr->Unit[u].SavedRect,
|
||||||
|
attr->Unit[u].CurrentRect);
|
||||||
}
|
}
|
||||||
newnode = new_attrib_node( GL_TEXTURE_BIT );
|
newnode = new_attrib_node( GL_TEXTURE_BIT );
|
||||||
newnode->data = attr;
|
newnode->data = attr;
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
/* $Id: context.c,v 1.169 2002/06/16 01:10:41 brianp Exp $ */
|
/* $Id: context.c,v 1.170 2002/06/17 23:36:31 brianp Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Mesa 3-D graphics library
|
* Mesa 3-D graphics library
|
||||||
@@ -49,6 +49,7 @@
|
|||||||
#include "state.h"
|
#include "state.h"
|
||||||
#include "teximage.h"
|
#include "teximage.h"
|
||||||
#include "texobj.h"
|
#include "texobj.h"
|
||||||
|
#include "texstate.h"
|
||||||
#include "mtypes.h"
|
#include "mtypes.h"
|
||||||
#include "varray.h"
|
#include "varray.h"
|
||||||
#include "vpstate.h"
|
#include "vpstate.h"
|
||||||
@@ -461,6 +462,8 @@ _mesa_initialize_framebuffer( GLframebuffer *buffer,
|
|||||||
assert(buffer);
|
assert(buffer);
|
||||||
assert(visual);
|
assert(visual);
|
||||||
|
|
||||||
|
BZERO(buffer, sizeof(GLframebuffer));
|
||||||
|
|
||||||
/* sanity checks */
|
/* sanity checks */
|
||||||
if (softwareDepth ) {
|
if (softwareDepth ) {
|
||||||
assert(visual->depthBits > 0);
|
assert(visual->depthBits > 0);
|
||||||
@@ -1978,72 +1981,104 @@ void
|
|||||||
_mesa_copy_context( const GLcontext *src, GLcontext *dst, GLuint mask )
|
_mesa_copy_context( const GLcontext *src, GLcontext *dst, GLuint mask )
|
||||||
{
|
{
|
||||||
if (mask & GL_ACCUM_BUFFER_BIT) {
|
if (mask & GL_ACCUM_BUFFER_BIT) {
|
||||||
MEMCPY( &dst->Accum, &src->Accum, sizeof(struct gl_accum_attrib) );
|
/* OK to memcpy */
|
||||||
|
dst->Accum = src->Accum;
|
||||||
}
|
}
|
||||||
if (mask & GL_COLOR_BUFFER_BIT) {
|
if (mask & GL_COLOR_BUFFER_BIT) {
|
||||||
MEMCPY( &dst->Color, &src->Color, sizeof(struct gl_colorbuffer_attrib) );
|
/* OK to memcpy */
|
||||||
|
dst->Color = src->Color;
|
||||||
}
|
}
|
||||||
if (mask & GL_CURRENT_BIT) {
|
if (mask & GL_CURRENT_BIT) {
|
||||||
MEMCPY( &dst->Current, &src->Current, sizeof(struct gl_current_attrib) );
|
/* OK to memcpy */
|
||||||
|
dst->Current = src->Current;
|
||||||
}
|
}
|
||||||
if (mask & GL_DEPTH_BUFFER_BIT) {
|
if (mask & GL_DEPTH_BUFFER_BIT) {
|
||||||
MEMCPY( &dst->Depth, &src->Depth, sizeof(struct gl_depthbuffer_attrib) );
|
/* OK to memcpy */
|
||||||
|
dst->Depth = src->Depth;
|
||||||
}
|
}
|
||||||
if (mask & GL_ENABLE_BIT) {
|
if (mask & GL_ENABLE_BIT) {
|
||||||
/* no op */
|
/* no op */
|
||||||
}
|
}
|
||||||
if (mask & GL_EVAL_BIT) {
|
if (mask & GL_EVAL_BIT) {
|
||||||
MEMCPY( &dst->Eval, &src->Eval, sizeof(struct gl_eval_attrib) );
|
/* OK to memcpy */
|
||||||
|
dst->Eval = src->Eval;
|
||||||
}
|
}
|
||||||
if (mask & GL_FOG_BIT) {
|
if (mask & GL_FOG_BIT) {
|
||||||
MEMCPY( &dst->Fog, &src->Fog, sizeof(struct gl_fog_attrib) );
|
/* OK to memcpy */
|
||||||
|
dst->Fog = src->Fog;
|
||||||
}
|
}
|
||||||
if (mask & GL_HINT_BIT) {
|
if (mask & GL_HINT_BIT) {
|
||||||
MEMCPY( &dst->Hint, &src->Hint, sizeof(struct gl_hint_attrib) );
|
/* OK to memcpy */
|
||||||
|
dst->Hint = src->Hint;
|
||||||
}
|
}
|
||||||
if (mask & GL_LIGHTING_BIT) {
|
if (mask & GL_LIGHTING_BIT) {
|
||||||
MEMCPY( &dst->Light, &src->Light, sizeof(struct gl_light_attrib) );
|
GLuint i;
|
||||||
/* gl_reinit_light_attrib( &dst->Light ); */
|
/* begin with memcpy */
|
||||||
|
MEMCPY( &dst->Light, &src->Light, sizeof(struct gl_light) );
|
||||||
|
/* fixup linked lists to prevent pointer insanity */
|
||||||
|
make_empty_list( &(dst->Light.EnabledList) );
|
||||||
|
for (i = 0; i < MAX_LIGHTS; i++) {
|
||||||
|
if (dst->Light.Light[i].Enabled) {
|
||||||
|
insert_at_tail(&(dst->Light.EnabledList), &(dst->Light.Light[i]));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (mask & GL_LINE_BIT) {
|
if (mask & GL_LINE_BIT) {
|
||||||
MEMCPY( &dst->Line, &src->Line, sizeof(struct gl_line_attrib) );
|
/* OK to memcpy */
|
||||||
|
dst->Line = src->Line;
|
||||||
}
|
}
|
||||||
if (mask & GL_LIST_BIT) {
|
if (mask & GL_LIST_BIT) {
|
||||||
MEMCPY( &dst->List, &src->List, sizeof(struct gl_list_attrib) );
|
/* OK to memcpy */
|
||||||
|
dst->List = src->List;
|
||||||
}
|
}
|
||||||
if (mask & GL_PIXEL_MODE_BIT) {
|
if (mask & GL_PIXEL_MODE_BIT) {
|
||||||
MEMCPY( &dst->Pixel, &src->Pixel, sizeof(struct gl_pixel_attrib) );
|
/* OK to memcpy */
|
||||||
|
dst->Pixel = src->Pixel;
|
||||||
}
|
}
|
||||||
if (mask & GL_POINT_BIT) {
|
if (mask & GL_POINT_BIT) {
|
||||||
MEMCPY( &dst->Point, &src->Point, sizeof(struct gl_point_attrib) );
|
/* OK to memcpy */
|
||||||
|
dst->Point = src->Point;
|
||||||
}
|
}
|
||||||
if (mask & GL_POLYGON_BIT) {
|
if (mask & GL_POLYGON_BIT) {
|
||||||
MEMCPY( &dst->Polygon, &src->Polygon, sizeof(struct gl_polygon_attrib) );
|
/* OK to memcpy */
|
||||||
|
dst->Polygon = src->Polygon;
|
||||||
}
|
}
|
||||||
if (mask & GL_POLYGON_STIPPLE_BIT) {
|
if (mask & GL_POLYGON_STIPPLE_BIT) {
|
||||||
/* Use loop instead of MEMCPY due to problem with Portland Group's
|
/* Use loop instead of MEMCPY due to problem with Portland Group's
|
||||||
* C compiler. Reported by John Stone.
|
* C compiler. Reported by John Stone.
|
||||||
*/
|
*/
|
||||||
int i;
|
GLuint i;
|
||||||
for (i=0;i<32;i++) {
|
for (i = 0; i < 32; i++) {
|
||||||
dst->PolygonStipple[i] = src->PolygonStipple[i];
|
dst->PolygonStipple[i] = src->PolygonStipple[i];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (mask & GL_SCISSOR_BIT) {
|
if (mask & GL_SCISSOR_BIT) {
|
||||||
MEMCPY( &dst->Scissor, &src->Scissor, sizeof(struct gl_scissor_attrib) );
|
/* OK to memcpy */
|
||||||
|
dst->Scissor = src->Scissor;
|
||||||
}
|
}
|
||||||
if (mask & GL_STENCIL_BUFFER_BIT) {
|
if (mask & GL_STENCIL_BUFFER_BIT) {
|
||||||
MEMCPY( &dst->Stencil, &src->Stencil, sizeof(struct gl_stencil_attrib) );
|
/* OK to memcpy */
|
||||||
|
dst->Stencil = src->Stencil;
|
||||||
}
|
}
|
||||||
if (mask & GL_TEXTURE_BIT) {
|
if (mask & GL_TEXTURE_BIT) {
|
||||||
MEMCPY( &dst->Texture, &src->Texture, sizeof(struct gl_texture_attrib) );
|
/* Cannot memcpy because of pointers */
|
||||||
|
_mesa_copy_texture_state(src, dst);
|
||||||
}
|
}
|
||||||
if (mask & GL_TRANSFORM_BIT) {
|
if (mask & GL_TRANSFORM_BIT) {
|
||||||
MEMCPY( &dst->Transform, &src->Transform, sizeof(struct gl_transform_attrib) );
|
/* OK to memcpy */
|
||||||
|
dst->Transform = src->Transform;
|
||||||
}
|
}
|
||||||
if (mask & GL_VIEWPORT_BIT) {
|
if (mask & GL_VIEWPORT_BIT) {
|
||||||
MEMCPY( &dst->Viewport, &src->Viewport, sizeof(struct gl_viewport_attrib) );
|
/* Cannot use memcpy, because of pointers in GLmatrix _WindowMap */
|
||||||
|
dst->Viewport.X = src->Viewport.X;
|
||||||
|
dst->Viewport.Y = src->Viewport.Y;
|
||||||
|
dst->Viewport.Width = src->Viewport.Width;
|
||||||
|
dst->Viewport.Height = src->Viewport.Height;
|
||||||
|
dst->Viewport.Near = src->Viewport.Near;
|
||||||
|
dst->Viewport.Far = src->Viewport.Far;
|
||||||
|
_math_matrix_copy(&dst->Viewport._WindowMap, &src->Viewport._WindowMap);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* XXX FIXME: Call callbacks?
|
/* XXX FIXME: Call callbacks?
|
||||||
*/
|
*/
|
||||||
dst->NewState = _NEW_ALL;
|
dst->NewState = _NEW_ALL;
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
/* $Id: texobj.c,v 1.55 2002/06/15 03:03:09 brianp Exp $ */
|
/* $Id: texobj.c,v 1.56 2002/06/17 23:36:31 brianp Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Mesa 3-D graphics library
|
* Mesa 3-D graphics library
|
||||||
@@ -175,6 +175,43 @@ void _mesa_free_texture_object( struct gl_shared_state *shared,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Copy texture object state from one texture object to another.
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
_mesa_copy_texture_object( struct gl_texture_object *dest,
|
||||||
|
const struct gl_texture_object *src )
|
||||||
|
{
|
||||||
|
dest->Name = src->Name;
|
||||||
|
dest->Priority = src->Priority;
|
||||||
|
dest->BorderColor[0] = src->BorderColor[0];
|
||||||
|
dest->BorderColor[1] = src->BorderColor[1];
|
||||||
|
dest->BorderColor[2] = src->BorderColor[2];
|
||||||
|
dest->BorderColor[3] = src->BorderColor[3];
|
||||||
|
dest->WrapS = src->WrapS;
|
||||||
|
dest->WrapT = src->WrapT;
|
||||||
|
dest->WrapR = src->WrapR;
|
||||||
|
dest->MinFilter = src->MinFilter;
|
||||||
|
dest->MagFilter = src->MagFilter;
|
||||||
|
dest->MinLod = src->MinLod;
|
||||||
|
dest->MaxLod = src->MaxLod;
|
||||||
|
dest->BaseLevel = src->BaseLevel;
|
||||||
|
dest->MaxLevel = src->MaxLevel;
|
||||||
|
dest->MaxAnisotropy = src->MaxAnisotropy;
|
||||||
|
dest->CompareFlag = src->CompareFlag;
|
||||||
|
dest->CompareOperator = src->CompareOperator;
|
||||||
|
dest->ShadowAmbient = src->ShadowAmbient;
|
||||||
|
dest->CompareMode = src->CompareMode;
|
||||||
|
dest->CompareFunc = src->CompareFunc;
|
||||||
|
dest->DepthMode = src->DepthMode;
|
||||||
|
dest->_MaxLevel = src->_MaxLevel;
|
||||||
|
dest->_MaxLambda = src->_MaxLambda;
|
||||||
|
dest->GenerateMipmap = src->GenerateMipmap;
|
||||||
|
dest->Palette = src->Palette;
|
||||||
|
dest->Complete = src->Complete;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Report why a texture object is incomplete. (for debug only)
|
* Report why a texture object is incomplete. (for debug only)
|
||||||
*/
|
*/
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
/* $Id: texobj.h,v 1.7 2002/06/15 03:03:09 brianp Exp $ */
|
/* $Id: texobj.h,v 1.8 2002/06/17 23:36:31 brianp Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Mesa 3-D graphics library
|
* Mesa 3-D graphics library
|
||||||
@@ -47,6 +47,11 @@ _mesa_free_texture_object( struct gl_shared_state *shared,
|
|||||||
struct gl_texture_object *t );
|
struct gl_texture_object *t );
|
||||||
|
|
||||||
|
|
||||||
|
extern void
|
||||||
|
_mesa_copy_texture_object( struct gl_texture_object *dest,
|
||||||
|
const struct gl_texture_object *src );
|
||||||
|
|
||||||
|
|
||||||
extern void
|
extern void
|
||||||
_mesa_test_texobj_completeness( const GLcontext *ctx,
|
_mesa_test_texobj_completeness( const GLcontext *ctx,
|
||||||
struct gl_texture_object *t );
|
struct gl_texture_object *t );
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
/* $Id: texstate.c,v 1.75 2002/06/15 03:03:09 brianp Exp $ */
|
/* $Id: texstate.c,v 1.76 2002/06/17 23:36:31 brianp Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Mesa 3-D graphics library
|
* Mesa 3-D graphics library
|
||||||
@@ -56,6 +56,68 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
_mesa_copy_texture_state( const GLcontext *src, GLcontext *dst )
|
||||||
|
{
|
||||||
|
GLuint i;
|
||||||
|
|
||||||
|
ASSERT(src);
|
||||||
|
ASSERT(dst);
|
||||||
|
|
||||||
|
dst->Texture.CurrentUnit = src->Texture.CurrentUnit;
|
||||||
|
dst->Texture._GenFlags = src->Texture._GenFlags;
|
||||||
|
dst->Texture._TexGenEnabled = src->Texture._TexGenEnabled;
|
||||||
|
dst->Texture._TexMatEnabled = src->Texture._TexMatEnabled;
|
||||||
|
dst->Texture.SharedPalette = src->Texture.SharedPalette;
|
||||||
|
|
||||||
|
/* per-unit state */
|
||||||
|
for (i = 0; i < src->Const.MaxTextureUnits; i++) {
|
||||||
|
dst->Texture.Unit[i].Enabled = src->Texture.Unit[i].Enabled;
|
||||||
|
dst->Texture.Unit[i].EnvMode = src->Texture.Unit[i].EnvMode;
|
||||||
|
COPY_4V(dst->Texture.Unit[i].EnvColor, src->Texture.Unit[i].EnvColor);
|
||||||
|
dst->Texture.Unit[i].TexGenEnabled = src->Texture.Unit[i].TexGenEnabled;
|
||||||
|
dst->Texture.Unit[i].GenModeS = src->Texture.Unit[i].GenModeS;
|
||||||
|
dst->Texture.Unit[i].GenModeT = src->Texture.Unit[i].GenModeT;
|
||||||
|
dst->Texture.Unit[i].GenModeR = src->Texture.Unit[i].GenModeR;
|
||||||
|
dst->Texture.Unit[i].GenModeQ = src->Texture.Unit[i].GenModeQ;
|
||||||
|
dst->Texture.Unit[i]._GenBitS = src->Texture.Unit[i]._GenBitS;
|
||||||
|
dst->Texture.Unit[i]._GenBitT = src->Texture.Unit[i]._GenBitT;
|
||||||
|
dst->Texture.Unit[i]._GenBitR = src->Texture.Unit[i]._GenBitR;
|
||||||
|
dst->Texture.Unit[i]._GenBitQ = src->Texture.Unit[i]._GenBitQ;
|
||||||
|
dst->Texture.Unit[i]._GenFlags = src->Texture.Unit[i]._GenFlags;
|
||||||
|
COPY_4V(dst->Texture.Unit[i].ObjectPlaneS, src->Texture.Unit[i].ObjectPlaneS);
|
||||||
|
COPY_4V(dst->Texture.Unit[i].ObjectPlaneT, src->Texture.Unit[i].ObjectPlaneT);
|
||||||
|
COPY_4V(dst->Texture.Unit[i].ObjectPlaneR, src->Texture.Unit[i].ObjectPlaneR);
|
||||||
|
COPY_4V(dst->Texture.Unit[i].ObjectPlaneQ, src->Texture.Unit[i].ObjectPlaneQ);
|
||||||
|
COPY_4V(dst->Texture.Unit[i].EyePlaneS, src->Texture.Unit[i].EyePlaneS);
|
||||||
|
COPY_4V(dst->Texture.Unit[i].EyePlaneT, src->Texture.Unit[i].EyePlaneT);
|
||||||
|
COPY_4V(dst->Texture.Unit[i].EyePlaneR, src->Texture.Unit[i].EyePlaneR);
|
||||||
|
COPY_4V(dst->Texture.Unit[i].EyePlaneQ, src->Texture.Unit[i].EyePlaneQ);
|
||||||
|
dst->Texture.Unit[i].LodBias = src->Texture.Unit[i].LodBias;
|
||||||
|
|
||||||
|
/* GL_EXT_texture_env_combine */
|
||||||
|
dst->Texture.Unit[i].CombineModeRGB = src->Texture.Unit[i].CombineModeRGB;
|
||||||
|
dst->Texture.Unit[i].CombineModeA = src->Texture.Unit[i].CombineModeA;
|
||||||
|
COPY_3V(dst->Texture.Unit[i].CombineSourceRGB, src->Texture.Unit[i].CombineSourceRGB);
|
||||||
|
COPY_3V(dst->Texture.Unit[i].CombineSourceA, src->Texture.Unit[i].CombineSourceA);
|
||||||
|
COPY_3V(dst->Texture.Unit[i].CombineOperandRGB, src->Texture.Unit[i].CombineOperandRGB);
|
||||||
|
COPY_3V(dst->Texture.Unit[i].CombineOperandA, src->Texture.Unit[i].CombineOperandA);
|
||||||
|
dst->Texture.Unit[i].CombineScaleShiftRGB = src->Texture.Unit[i].CombineScaleShiftRGB;
|
||||||
|
dst->Texture.Unit[i].CombineScaleShiftA = src->Texture.Unit[i].CombineScaleShiftA;
|
||||||
|
|
||||||
|
/* texture object state */
|
||||||
|
_mesa_copy_texture_object(dst->Texture.Unit[i].Current1D,
|
||||||
|
src->Texture.Unit[i].Current1D);
|
||||||
|
_mesa_copy_texture_object(dst->Texture.Unit[i].Current2D,
|
||||||
|
src->Texture.Unit[i].Current2D);
|
||||||
|
_mesa_copy_texture_object(dst->Texture.Unit[i].Current3D,
|
||||||
|
src->Texture.Unit[i].Current3D);
|
||||||
|
_mesa_copy_texture_object(dst->Texture.Unit[i].CurrentCubeMap,
|
||||||
|
src->Texture.Unit[i].CurrentCubeMap);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**********************************************************************/
|
/**********************************************************************/
|
||||||
/* Texture Environment */
|
/* Texture Environment */
|
||||||
/**********************************************************************/
|
/**********************************************************************/
|
||||||
|
@@ -1,10 +1,10 @@
|
|||||||
/* $Id: texstate.h,v 1.8 2001/06/18 17:26:08 brianp Exp $ */
|
/* $Id: texstate.h,v 1.9 2002/06/17 23:36:31 brianp Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Mesa 3-D graphics library
|
* Mesa 3-D graphics library
|
||||||
* Version: 3.5
|
* Version: 4.1
|
||||||
*
|
*
|
||||||
* Copyright (C) 1999-2001 Brian Paul All Rights Reserved.
|
* Copyright (C) 1999-2002 Brian Paul All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
* copy of this software and associated documentation files (the "Software"),
|
* copy of this software and associated documentation files (the "Software"),
|
||||||
@@ -32,6 +32,10 @@
|
|||||||
#include "mtypes.h"
|
#include "mtypes.h"
|
||||||
|
|
||||||
|
|
||||||
|
extern void
|
||||||
|
_mesa_copy_texture_state( const GLcontext *src, GLcontext *dst );
|
||||||
|
|
||||||
|
|
||||||
/*** Called from API ***/
|
/*** Called from API ***/
|
||||||
|
|
||||||
extern void
|
extern void
|
||||||
|
Reference in New Issue
Block a user