Changeset 78375 in vbox for trunk/src/VBox/Additions/common
- Timestamp:
- May 3, 2019 9:51:02 PM (6 years ago)
- Location:
- trunk/src/VBox/Additions/common/crOpenGL
- Files:
-
- 18 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/common/crOpenGL/feedback/feedback.py
r63942 r78375 94 94 } 95 95 96 return crStateRenderMode( mode );96 return crStateRenderMode(&feedback_spu.StateTracker, mode ); 97 97 } 98 98 … … 100 100 { 101 101 if (feedback_spu.render_mode == GL_FEEDBACK) 102 crStateFeedbackBegin( mode );103 else if (feedback_spu.render_mode == GL_SELECT) 104 crStateSelectBegin( mode );102 crStateFeedbackBegin(&feedback_spu.StateTracker, mode ); 103 else if (feedback_spu.render_mode == GL_SELECT) 104 crStateSelectBegin(&feedback_spu.StateTracker, mode ); 105 105 else 106 106 { 107 crStateBegin( mode );107 crStateBegin(&feedback_spu.StateTracker, mode ); 108 108 feedback_spu.super.Begin( mode ); 109 109 } … … 113 113 { 114 114 if (feedback_spu.render_mode == GL_FEEDBACK) 115 crStateFeedbackEnd( 116 else if (feedback_spu.render_mode == GL_SELECT) 117 crStateSelectEnd( 115 crStateFeedbackEnd(&feedback_spu.StateTracker); 116 else if (feedback_spu.render_mode == GL_SELECT) 117 crStateSelectEnd(&feedback_spu.StateTracker); 118 118 else 119 119 { 120 crStateEnd( 120 crStateEnd(&feedback_spu.StateTracker); 121 121 feedback_spu.super.End( ); 122 122 } … … 125 125 static void FEEDBACKSPU_APIENTRY feedbackspu_Bitmap ( GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap ) 126 126 { 127 crStateBitmap( width, height, xorig, yorig, xmove, ymove, bitmap );128 129 if (feedback_spu.render_mode == GL_FEEDBACK) 130 crStateFeedbackBitmap( width, height, xorig, yorig, xmove, ymove, bitmap );131 else if (feedback_spu.render_mode == GL_SELECT) 132 crStateSelectBitmap( width, height, xorig, yorig, xmove, ymove, bitmap );127 crStateBitmap(&feedback_spu.StateTracker, width, height, xorig, yorig, xmove, ymove, bitmap ); 128 129 if (feedback_spu.render_mode == GL_FEEDBACK) 130 crStateFeedbackBitmap(&feedback_spu.StateTracker, width, height, xorig, yorig, xmove, ymove, bitmap ); 131 else if (feedback_spu.render_mode == GL_SELECT) 132 crStateSelectBitmap(&feedback_spu.StateTracker, width, height, xorig, yorig, xmove, ymove, bitmap ); 133 133 else 134 134 feedback_spu.super.Bitmap( width, height, xorig, yorig, xmove, ymove, bitmap ); … … 138 138 { 139 139 if (feedback_spu.render_mode == GL_FEEDBACK) 140 crStateFeedbackCopyPixels( x, y, width, height, type );141 else if (feedback_spu.render_mode == GL_SELECT) 142 crStateSelectCopyPixels( x, y, width, height, type );140 crStateFeedbackCopyPixels(&feedback_spu.StateTracker, x, y, width, height, type ); 141 else if (feedback_spu.render_mode == GL_SELECT) 142 crStateSelectCopyPixels(&feedback_spu.StateTracker, x, y, width, height, type ); 143 143 else 144 144 feedback_spu.super.CopyPixels( x, y, width, height, type ); … … 148 148 { 149 149 if (feedback_spu.render_mode == GL_FEEDBACK) 150 crStateFeedbackDrawPixels( width, height, format, type, pixels );151 else if (feedback_spu.render_mode == GL_SELECT) 152 crStateSelectDrawPixels( width, height, format, type, pixels );150 crStateFeedbackDrawPixels(&feedback_spu.StateTracker, width, height, format, type, pixels ); 151 else if (feedback_spu.render_mode == GL_SELECT) 152 crStateSelectDrawPixels(&feedback_spu.StateTracker, width, height, format, type, pixels ); 153 153 else 154 154 feedback_spu.super.DrawPixels( width, height, format, type, pixels ); … … 161 161 pname == GL_FEEDBACK_BUFFER_TYPE || 162 162 pname == GL_SELECTION_BUFFER_SIZE) 163 crStateFeedbackGetBooleanv( pname, params );164 else 165 if (pname == GL_VIEWPORT && feedback_spu.default_viewport) 166 crStateGetBooleanv( pname, params );163 crStateFeedbackGetBooleanv(&feedback_spu.StateTracker, pname, params ); 164 else 165 if (pname == GL_VIEWPORT && feedback_spu.default_viewport) 166 crStateGetBooleanv(&feedback_spu.StateTracker, pname, params ); 167 167 else 168 168 feedback_spu.super.GetBooleanv( pname, params ); … … 175 175 pname == GL_FEEDBACK_BUFFER_TYPE || 176 176 pname == GL_SELECTION_BUFFER_SIZE) 177 crStateFeedbackGetDoublev( pname, params );178 else 179 if (pname == GL_VIEWPORT && feedback_spu.default_viewport) 180 crStateGetDoublev( pname, params );177 crStateFeedbackGetDoublev(&feedback_spu.StateTracker, pname, params ); 178 else 179 if (pname == GL_VIEWPORT && feedback_spu.default_viewport) 180 crStateGetDoublev(&feedback_spu.StateTracker, pname, params ); 181 181 else 182 182 feedback_spu.super.GetDoublev( pname, params ); … … 189 189 pname == GL_FEEDBACK_BUFFER_TYPE || 190 190 pname == GL_SELECTION_BUFFER_SIZE) 191 crStateFeedbackGetFloatv( pname, params );192 else 193 if (pname == GL_VIEWPORT && feedback_spu.default_viewport) 194 crStateGetFloatv( pname, params );191 crStateFeedbackGetFloatv(&feedback_spu.StateTracker, pname, params ); 192 else 193 if (pname == GL_VIEWPORT && feedback_spu.default_viewport) 194 crStateGetFloatv(&feedback_spu.StateTracker, pname, params ); 195 195 else 196 196 feedback_spu.super.GetFloatv( pname, params ); … … 203 203 pname == GL_FEEDBACK_BUFFER_TYPE || 204 204 pname == GL_SELECTION_BUFFER_SIZE) 205 crStateFeedbackGetIntegerv( pname, params );206 else 207 if (pname == GL_VIEWPORT && feedback_spu.default_viewport) 208 crStateGetIntegerv( pname, params );205 crStateFeedbackGetIntegerv(&feedback_spu.StateTracker, pname, params ); 206 else 207 if (pname == GL_VIEWPORT && feedback_spu.default_viewport) 208 crStateGetIntegerv(&feedback_spu.StateTracker, pname, params ); 209 209 else 210 210 feedback_spu.super.GetIntegerv( pname, params ); -
trunk/src/VBox/Additions/common/crOpenGL/feedback/feedback_context.c
r78341 r78375 50 50 } 51 51 52 feedback_spu.context[slot].clientState = crStateCreateContext( NULL, visual, NULL);52 feedback_spu.context[slot].clientState = crStateCreateContext(&feedback_spu.StateTracker, NULL, visual, NULL); 53 53 feedback_spu.context[slot].clientCtx = ctx; 54 54 … … 77 77 CRASSERT(slot < feedback_spu.numContexts); 78 78 79 crStateMakeCurrent( feedback_spu.context[slot].clientState);79 crStateMakeCurrent(&feedback_spu.StateTracker, feedback_spu.context[slot].clientState); 80 80 81 crStateGetIntegerv( GL_RENDER_MODE, &oldmode);81 crStateGetIntegerv(&feedback_spu.StateTracker, GL_RENDER_MODE, &oldmode); 82 82 83 83 if (oldmode!=feedback_spu.render_mode) … … 88 88 else 89 89 { 90 crStateMakeCurrent( NULL);90 crStateMakeCurrent(&feedback_spu.StateTracker, NULL); 91 91 } 92 92 … … 107 107 CRASSERT(slot < feedback_spu.numContexts); 108 108 109 crStateDestroyContext( feedback_spu.context[slot].clientState);109 crStateDestroyContext(&feedback_spu.StateTracker, feedback_spu.context[slot].clientState); 110 110 111 111 feedback_spu.context[slot].clientState = NULL; -
trunk/src/VBox/Additions/common/crOpenGL/feedback/feedback_state.py
r63942 r78375 29 29 print('%s FEEDBACKSPU_APIENTRY feedbackspu_%s(%s)' % (return_type, func_name, apiutil.MakeDeclarationString(params))) 30 30 print('{') 31 print('\tcrState%s(%s);' % (func_name, apiutil.MakeCallString(params))) 31 if len(params) == 0: 32 print('\tcrState%s(&feedback_spu.StateTracker);' % (func_name,)) 33 else: 34 print('\tcrState%s(&feedback_spu.StateTracker, %s);' % (func_name, apiutil.MakeCallString(params))) 32 35 print('') 33 36 print('\tfeedback_spu.super.%s(%s);' % (func_name, apiutil.MakeCallString(params))) -
trunk/src/VBox/Additions/common/crOpenGL/feedback/feedbackspu.h
r78341 r78375 43 43 44 44 CRmutex mutex; 45 46 /** The state tracker state. */ 47 CRStateTracker StateTracker; 45 48 } feedbackSPU; 46 49 -
trunk/src/VBox/Additions/common/crOpenGL/feedback/feedbackspu_init.c
r78341 r78375 45 45 46 46 /* create/init default state tracker */ 47 crStateInit( );47 crStateInit(&feedback_spu.StateTracker); 48 48 49 feedback_spu.defaultctx = crStateCreateContext( NULL, 0, NULL);50 crStateSetCurrent( feedback_spu.defaultctx);49 feedback_spu.defaultctx = crStateCreateContext(&feedback_spu.StateTracker, NULL, 0, NULL); 50 crStateSetCurrent(&feedback_spu.StateTracker, feedback_spu.defaultctx); 51 51 52 52 feedback_spu.numContexts = 0; -
trunk/src/VBox/Additions/common/crOpenGL/pack/packspu.h
r78341 r78375 109 109 int numContexts; 110 110 ContextInfo context[CR_MAX_CONTEXTS]; 111 112 /** State tracker state. */ 113 CRStateTracker StateTracker; 111 114 } PackSPU; 112 115 -
trunk/src/VBox/Additions/common/crOpenGL/pack/packspu_beginend.py
r78190 r78375 36 36 GLboolean serverArrays = GL_FALSE; 37 37 if (ctx->clientState->extensions.ARB_vertex_buffer_object) 38 serverArrays = crStateUseServerArrays( );38 serverArrays = crStateUseServerArrays(&pack_spu.StateTracker); 39 39 if (serverArrays) { 40 40 CRClientState *clientState = &(ctx->clientState->client); -
trunk/src/VBox/Additions/common/crOpenGL/pack/packspu_bufferobject.c
r78190 r78375 31 31 32 32 CRASSERT(GL_TRUE == ctx->clientState->bufferobject.retainBufferData); 33 buffer = crStateMapBufferARB( target, access);33 buffer = crStateMapBufferARB(&pack_spu.StateTracker, target, access); 34 34 35 35 #ifdef CR_ARB_pixel_buffer_object … … 67 67 #endif 68 68 69 crStateGetBufferSubDataARB( target, offset, size, data);69 crStateGetBufferSubDataARB(&pack_spu.StateTracker, target, offset, size, data); 70 70 } 71 71 … … 86 86 87 87 CRASSERT(GL_TRUE == ctx->clientState->bufferobject.retainBufferData); 88 crStateUnmapBufferARB( target );88 crStateUnmapBufferARB(&pack_spu.StateTracker, target ); 89 89 90 90 return GL_TRUE; … … 96 96 { 97 97 /*crDebug("packspu_BufferDataARB size:%d", size);*/ 98 crStateBufferDataARB( target, size, data, usage);98 crStateBufferDataARB(&pack_spu.StateTracker,target, size, data, usage); 99 99 crPackBufferDataARB(target, size, data, usage); 100 100 } … … 104 104 { 105 105 /*crDebug("packspu_BufferSubDataARB size:%d", size);*/ 106 crStateBufferSubDataARB( target, offset, size, data);106 crStateBufferSubDataARB(&pack_spu.StateTracker,target, offset, size, data); 107 107 crPackBufferSubDataARB(target, offset, size, data); 108 108 } … … 112 112 packspu_GetBufferPointervARB(GLenum target, GLenum pname, GLvoid **params) 113 113 { 114 crStateGetBufferPointervARB( target, pname, params );114 crStateGetBufferPointervARB(&pack_spu.StateTracker, target, pname, params ); 115 115 } 116 116 … … 119 119 packspu_GetBufferParameterivARB( GLenum target, GLenum pname, GLint * params ) 120 120 { 121 crStateGetBufferParameterivARB( target, pname, params );121 crStateGetBufferParameterivARB(&pack_spu.StateTracker, target, pname, params ); 122 122 } 123 123 … … 128 128 packspu_BindBufferARB( GLenum target, GLuint buffer ) 129 129 { 130 crStateBindBufferARB( target, buffer);130 crStateBindBufferARB(&pack_spu.StateTracker, target, buffer); 131 131 crPackBindBufferARB(target, buffer); 132 132 } … … 145 145 CRPACKSPU_WRITEBACK_WAIT(thread, writeback); 146 146 147 crStateRegBuffers( n, buffer);147 crStateRegBuffers(&pack_spu.StateTracker,n, buffer); 148 148 } 149 149 150 150 void PACKSPU_APIENTRY packspu_DeleteBuffersARB( GLsizei n, const GLuint * buffer ) 151 151 { 152 crStateDeleteBuffersARB( n, buffer );152 crStateDeleteBuffersARB(&pack_spu.StateTracker, n, buffer ); 153 153 crPackDeleteBuffersARB(n, buffer); 154 154 } -
trunk/src/VBox/Additions/common/crOpenGL/pack/packspu_client.c
r78190 r78375 19 19 } 20 20 #endif 21 crStateFogCoordPointerEXT( type, stride, pointer );21 crStateFogCoordPointerEXT(&pack_spu.StateTracker, type, stride, pointer ); 22 22 } 23 23 … … 30 30 } 31 31 #endif 32 crStateColorPointer( size, type, stride, pointer );32 crStateColorPointer(&pack_spu.StateTracker, size, type, stride, pointer ); 33 33 } 34 34 … … 41 41 } 42 42 #endif 43 crStateSecondaryColorPointerEXT( size, type, stride, pointer );43 crStateSecondaryColorPointerEXT(&pack_spu.StateTracker, size, type, stride, pointer ); 44 44 } 45 45 … … 53 53 } 54 54 #endif 55 crStateVertexPointer( size, type, stride, pointer );55 crStateVertexPointer(&pack_spu.StateTracker, size, type, stride, pointer ); 56 56 } 57 57 … … 64 64 } 65 65 #endif 66 crStateTexCoordPointer( size, type, stride, pointer );66 crStateTexCoordPointer(&pack_spu.StateTracker, size, type, stride, pointer ); 67 67 } 68 68 … … 75 75 } 76 76 #endif 77 crStateNormalPointer( type, stride, pointer );77 crStateNormalPointer(&pack_spu.StateTracker, type, stride, pointer ); 78 78 } 79 79 … … 86 86 } 87 87 #endif 88 crStateEdgeFlagPointer( stride, pointer );88 crStateEdgeFlagPointer(&pack_spu.StateTracker, stride, pointer ); 89 89 } 90 90 … … 97 97 } 98 98 #endif 99 crStateVertexAttribPointerARB( index, size, type, normalized, stride, pointer );99 crStateVertexAttribPointerARB(&pack_spu.StateTracker, index, size, type, normalized, stride, pointer ); 100 100 } 101 101 … … 108 108 } 109 109 #endif 110 crStateVertexAttribPointerNV( index, size, type, stride, pointer );110 crStateVertexAttribPointerNV(&pack_spu.StateTracker, index, size, type, stride, pointer ); 111 111 } 112 112 … … 119 119 } 120 120 #endif 121 crStateIndexPointer( type, stride, pointer);121 crStateIndexPointer(&pack_spu.StateTracker, type, stride, pointer); 122 122 } 123 123 124 124 void PACKSPU_APIENTRY packspu_GetPointerv( GLenum pname, GLvoid **params ) 125 125 { 126 crStateGetPointerv( pname, params );126 crStateGetPointerv(&pack_spu.StateTracker, pname, params ); 127 127 } 128 128 … … 138 138 /*crDebug("packspu_InterleavedArrays");*/ 139 139 140 crStateInterleavedArrays( format, stride, pointer );140 crStateInterleavedArrays(&pack_spu.StateTracker, format, stride, pointer ); 141 141 } 142 142 … … 219 219 #ifdef DEBUG 220 220 { 221 CRContext *pCurState = crStateGetCurrent( );221 CRContext *pCurState = crStateGetCurrent(&pack_spu.StateTracker); 222 222 223 223 Assert(g == pCurState); … … 282 282 { 283 283 CRContext *g = pRestoreCtx->pCtx->clientState; 284 CRContext *pCurState = crStateGetCurrent( );284 CRContext *pCurState = crStateGetCurrent(&pack_spu.StateTracker); 285 285 286 286 Assert(g == pCurState); … … 319 319 if (ctx->clientState->extensions.ARB_vertex_buffer_object) 320 320 { 321 serverArrays = crStateUseServerArrays( );321 serverArrays = crStateUseServerArrays(&pack_spu.StateTracker); 322 322 if (ctx->fCheckZerroVertAttr) 323 323 cZvaValues = crStateNeedDummyZeroVertexArray(thread->currentContext->clientState, &thread->packer->current, aAttrib); … … 395 395 { 396 396 GET_CONTEXT(ctx); 397 elementsBuffer = crStateGetCurrent( )->bufferobject.elementsBuffer;397 elementsBuffer = crStateGetCurrent(&pack_spu.StateTracker)->bufferobject.elementsBuffer; 398 398 /*crDebug("DrawElements count=%d, indices=%p", count, indices);*/ 399 399 if (ctx->clientState->extensions.ARB_vertex_buffer_object) 400 400 { 401 serverArrays = crStateUseServerArrays( );401 serverArrays = crStateUseServerArrays(&pack_spu.StateTracker); 402 402 if (ctx->fCheckZerroVertAttr) 403 403 cZvaValues = crStateNeedDummyZeroVertexArray(thread->currentContext->clientState, &thread->packer->current, aAttrib); … … 452 452 if ((max-min)<(GLuint)(2*count)) 453 453 { 454 crStateLockArraysEXT( min, max-min+1);454 crStateLockArraysEXT(&pack_spu.StateTracker, min, max-min+1); 455 455 456 456 serverArrays = crStateUseServerArrays(); … … 461 461 else 462 462 { 463 crStateUnlockArraysEXT( );463 crStateUnlockArraysEXT(&pack_spu.StateTracker); 464 464 } 465 465 } … … 539 539 if (ctx->clientState->extensions.ARB_vertex_buffer_object) 540 540 { 541 serverArrays = crStateUseServerArrays( );541 serverArrays = crStateUseServerArrays(&pack_spu.StateTracker); 542 542 if (ctx->fCheckZerroVertAttr) 543 543 cZvaValues = crStateNeedDummyZeroVertexArray(thread->currentContext->clientState, &thread->packer->current, aAttrib); … … 608 608 if (ctx->clientState->extensions.ARB_vertex_buffer_object) 609 609 { 610 serverArrays = crStateUseServerArrays( );610 serverArrays = crStateUseServerArrays(&pack_spu.StateTracker); 611 611 if (ctx->fCheckZerroVertAttr) 612 612 cZvaValues = crStateNeedDummyZeroVertexArray(thread->currentContext->clientState, &thread->packer->current, aAttrib); … … 617 617 if (!serverArrays && !ctx->clientState->client.array.locked && (count>3)) 618 618 { 619 crStateLockArraysEXT( first, count);620 serverArrays = crStateUseServerArrays( );619 crStateLockArraysEXT(&pack_spu.StateTracker, first, count); 620 serverArrays = crStateUseServerArrays(&pack_spu.StateTracker); 621 621 if (serverArrays) 622 622 { … … 625 625 else 626 626 { 627 crStateUnlockArraysEXT( );627 crStateUnlockArraysEXT(&pack_spu.StateTracker); 628 628 } 629 629 } … … 714 714 void PACKSPU_APIENTRY packspu_EnableClientState( GLenum array ) 715 715 { 716 crStateEnableClientState( array);716 crStateEnableClientState(&pack_spu.StateTracker, array); 717 717 crPackEnableClientState(array); 718 718 } … … 720 720 void PACKSPU_APIENTRY packspu_DisableClientState( GLenum array ) 721 721 { 722 crStateDisableClientState( array);722 crStateDisableClientState(&pack_spu.StateTracker, array); 723 723 crPackDisableClientState(array); 724 724 } … … 726 726 void PACKSPU_APIENTRY packspu_ClientActiveTextureARB( GLenum texUnit ) 727 727 { 728 crStateClientActiveTextureARB( texUnit);728 crStateClientActiveTextureARB(&pack_spu.StateTracker, texUnit); 729 729 crPackClientActiveTextureARB(texUnit); 730 730 } … … 732 732 void PACKSPU_APIENTRY packspu_EnableVertexAttribArrayARB(GLuint index) 733 733 { 734 crStateEnableVertexAttribArrayARB( index);734 crStateEnableVertexAttribArrayARB(&pack_spu.StateTracker, index); 735 735 crPackEnableVertexAttribArrayARB(index); 736 736 } … … 739 739 void PACKSPU_APIENTRY packspu_DisableVertexAttribArrayARB(GLuint index) 740 740 { 741 crStateDisableVertexAttribArrayARB( index);741 crStateDisableVertexAttribArrayARB(&pack_spu.StateTracker, index); 742 742 crPackDisableVertexAttribArrayARB(index); 743 743 } … … 747 747 if (cap!=GL_LIGHT_MODEL_TWO_SIDE) 748 748 { 749 crStateEnable( cap);749 crStateEnable(&pack_spu.StateTracker, cap); 750 750 crPackEnable(cap); 751 751 } … … 758 758 g_glmts1_warn=1; 759 759 } 760 crStateLightModeli( GL_LIGHT_MODEL_TWO_SIDE, 1);760 crStateLightModeli(&pack_spu.StateTracker, GL_LIGHT_MODEL_TWO_SIDE, 1); 761 761 crPackLightModeli(GL_LIGHT_MODEL_TWO_SIDE, 1); 762 762 } … … 768 768 if (cap!=GL_LIGHT_MODEL_TWO_SIDE) 769 769 { 770 crStateDisable( cap);770 crStateDisable(&pack_spu.StateTracker, cap); 771 771 crPackDisable(cap); 772 772 } … … 779 779 g_glmts0_warn=1; 780 780 } 781 crStateLightModeli( GL_LIGHT_MODEL_TWO_SIDE, 0);781 crStateLightModeli(&pack_spu.StateTracker, GL_LIGHT_MODEL_TWO_SIDE, 0); 782 782 crPackLightModeli(GL_LIGHT_MODEL_TWO_SIDE, 0); 783 783 } … … 786 786 GLboolean PACKSPU_APIENTRY packspu_IsEnabled(GLenum cap) 787 787 { 788 GLboolean res = crStateIsEnabled( cap);788 GLboolean res = crStateIsEnabled(&pack_spu.StateTracker, cap); 789 789 #ifdef DEBUG 790 790 { … … 804 804 void PACKSPU_APIENTRY packspu_PushClientAttrib( GLbitfield mask ) 805 805 { 806 crStatePushClientAttrib( mask);806 crStatePushClientAttrib(&pack_spu.StateTracker, mask); 807 807 crPackPushClientAttrib(mask); 808 808 } … … 810 810 void PACKSPU_APIENTRY packspu_PopClientAttrib( void ) 811 811 { 812 crStatePopClientAttrib( );812 crStatePopClientAttrib(&pack_spu.StateTracker); 813 813 crPackPopClientAttrib(); 814 814 } … … 818 818 if (first>=0 && count>0) 819 819 { 820 crStateLockArraysEXT( first, count);820 crStateLockArraysEXT(&pack_spu.StateTracker, first, count); 821 821 /*Note: this is a workaround for quake3 based apps. 822 822 It's modifying vertex data between glLockArraysEXT and glDrawElements calls, … … 838 838 } 839 839 840 crStateUnlockArraysEXT( );841 } 840 crStateUnlockArraysEXT(&pack_spu.StateTracker); 841 } -
trunk/src/VBox/Additions/common/crOpenGL/pack/packspu_context.c
r78341 r78375 394 394 /* Fill in the new context info */ 395 395 /* XXX fix-up sharedCtx param here */ 396 pack_spu.context[slot].clientState = crStateCreateContext( NULL, visual, NULL);396 pack_spu.context[slot].clientState = crStateCreateContext(&pack_spu.StateTracker, NULL, visual, NULL); 397 397 pack_spu.context[slot].clientState->bufferobject.retainBufferData = GL_TRUE; 398 398 pack_spu.context[slot].serverCtx = serverCtx; … … 442 442 443 443 crPackDestroyContext( context->serverCtx ); 444 crStateDestroyContext( context->clientState );444 crStateDestroyContext(&pack_spu.StateTracker, context->clientState ); 445 445 446 446 context->clientState = NULL; … … 463 463 crPackSetContext(NULL); 464 464 } 465 crStateMakeCurrent( NULL);465 crStateMakeCurrent(&pack_spu.StateTracker, NULL); 466 466 } 467 467 else … … 540 540 } 541 541 542 crStateMakeCurrent( newCtx->clientState );542 crStateMakeCurrent(&pack_spu.StateTracker, newCtx->clientState ); 543 543 //crStateSetCurrentPointers(newCtx->clientState, &thread->packer->current); 544 544 serverCtx = pack_spu.context[slot].serverCtx; 545 545 } 546 546 else { 547 crStateMakeCurrent( NULL );547 crStateMakeCurrent(&pack_spu.StateTracker, NULL ); 548 548 if (CRPACKSPU_IS_WDDM_CRHGSMI()) 549 549 { -
trunk/src/VBox/Additions/common/crOpenGL/pack/packspu_framebuffer.c
r78190 r78375 25 25 packspu_FramebufferTexture1DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) 26 26 { 27 crStateFramebufferTexture1DEXT( target, attachment, textarget, texture, level);27 crStateFramebufferTexture1DEXT(&pack_spu.StateTracker, target, attachment, textarget, texture, level); 28 28 crPackFramebufferTexture1DEXT(target, attachment, textarget, texture, level); 29 29 } … … 32 32 packspu_FramebufferTexture2DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) 33 33 { 34 crStateFramebufferTexture2DEXT( target, attachment, textarget, texture, level);34 crStateFramebufferTexture2DEXT(&pack_spu.StateTracker, target, attachment, textarget, texture, level); 35 35 crPackFramebufferTexture2DEXT(target, attachment, textarget, texture, level); 36 36 } … … 39 39 packspu_FramebufferTexture3DEXT(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset) 40 40 { 41 crStateFramebufferTexture3DEXT( target, attachment, textarget, texture, level, zoffset);41 crStateFramebufferTexture3DEXT(&pack_spu.StateTracker, target, attachment, textarget, texture, level, zoffset); 42 42 crPackFramebufferTexture3DEXT(target, attachment, textarget, texture, level, zoffset); 43 43 } … … 46 46 packspu_BindFramebufferEXT(GLenum target, GLuint framebuffer) 47 47 { 48 crStateBindFramebufferEXT(target, framebuffer);48 crStateBindFramebufferEXT(&pack_spu.StateTracker, target, framebuffer); 49 49 crPackBindFramebufferEXT(target, framebuffer); 50 50 } … … 53 53 packspu_DeleteFramebuffersEXT(GLsizei n, const GLuint * framebuffers) 54 54 { 55 crStateDeleteFramebuffersEXT(n, framebuffers);55 crStateDeleteFramebuffersEXT(&pack_spu.StateTracker, n, framebuffers); 56 56 crPackDeleteFramebuffersEXT(n, framebuffers); 57 57 } … … 60 60 packspu_DeleteRenderbuffersEXT(GLsizei n, const GLuint * renderbuffers) 61 61 { 62 crStateDeleteRenderbuffersEXT(n, renderbuffers);62 crStateDeleteRenderbuffersEXT(&pack_spu.StateTracker, n, renderbuffers); 63 63 crPackDeleteRenderbuffersEXT(n, renderbuffers); 64 64 } … … 67 67 packspu_FramebufferRenderbufferEXT(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer) 68 68 { 69 crStateFramebufferRenderbufferEXT(target, attachment, renderbuffertarget, renderbuffer);69 crStateFramebufferRenderbufferEXT(&pack_spu.StateTracker, target, attachment, renderbuffertarget, renderbuffer); 70 70 crPackFramebufferRenderbufferEXT(target, attachment, renderbuffertarget, renderbuffer); 71 71 } … … 74 74 packspu_BindRenderbufferEXT(GLenum target, GLuint renderbuffer) 75 75 { 76 crStateBindRenderbufferEXT( target, renderbuffer);76 crStateBindRenderbufferEXT(&pack_spu.StateTracker, target, renderbuffer); 77 77 crPackBindRenderbufferEXT(target, renderbuffer); 78 78 } … … 81 81 packspu_CheckFramebufferStatusEXT(GLenum target) 82 82 { 83 84 85 GLenum status = crStateCheckFramebufferStatusEXT( target);83 GET_THREAD(thread); 84 int writeback = 1; 85 GLenum status = crStateCheckFramebufferStatusEXT(&pack_spu.StateTracker, target); 86 86 87 87 if (status!=GL_FRAMEBUFFER_UNDEFINED) … … 92 92 crPackCheckFramebufferStatusEXT(target, &status, &writeback); 93 93 94 94 packspuFlush((void *) thread); 95 95 CRPACKSPU_WRITEBACK_WAIT(thread, writeback); 96 96 97 crStateSetFramebufferStatus( target, status);97 crStateSetFramebufferStatus(&pack_spu.StateTracker, target, status); 98 98 return status; 99 99 } … … 112 112 CRPACKSPU_WRITEBACK_WAIT(thread, writeback); 113 113 114 crStateRegFramebuffers( n, framebuffers);114 crStateRegFramebuffers(&pack_spu.StateTracker, n, framebuffers); 115 115 } 116 116 … … 128 128 CRPACKSPU_WRITEBACK_WAIT(thread, writeback); 129 129 130 crStateRegRenderbuffers( n, renderbuffers);130 crStateRegRenderbuffers(&pack_spu.StateTracker, n, renderbuffers); 131 131 } -
trunk/src/VBox/Additions/common/crOpenGL/pack/packspu_get.py
r78190 r78375 118 118 %s localparams; 119 119 localparams = (%s) crAlloc(__numValues(pname) * sizeof(*localparams)); 120 crState%s( pname, localparams);120 crState%s(&pack_spu.StateTracker, pname, localparams); 121 121 crPack%s(%s, &writeback); 122 122 packspuFlush( (void *) thread ); … … 136 136 #endif 137 137 { 138 crState%s( pname, params);138 crState%s(&pack_spu.StateTracker, pname, params); 139 139 return; 140 140 } … … 150 150 %s localparams; 151 151 localparams = (%s) crAlloc(__numValues(pname) * sizeof(*localparams)); 152 crState%s( index, pname, localparams);152 crState%s(&pack_spu.StateTracker, index, pname, localparams); 153 153 crPack%s(index, %s, &writeback); 154 154 packspuFlush( (void *) thread ); … … 164 164 crFree(localparams); 165 165 #else 166 crState%s( pname, params);166 crState%s(&pack_spu.StateTracker, pname, params); 167 167 #endif 168 168 return; -
trunk/src/VBox/Additions/common/crOpenGL/pack/packspu_getstring.c
r78190 r78375 149 149 #endif 150 150 { 151 return crStateGetString( name);151 return crStateGetString(&pack_spu.StateTracker, name); 152 152 } 153 153 case GL_RENDERER: … … 161 161 #endif 162 162 { 163 return crStateGetString( name);163 return crStateGetString(&pack_spu.StateTracker, name); 164 164 } 165 165 … … 188 188 #endif 189 189 default: 190 return crStateGetString( name);190 return crStateGetString(&pack_spu.StateTracker, name); 191 191 } 192 192 } -
trunk/src/VBox/Additions/common/crOpenGL/pack/packspu_glsl.c
r78190 r78375 36 36 packspuFlush((void *) thread); 37 37 CRPACKSPU_WRITEBACK_WAIT(thread, writeback); 38 crStateCreateProgram( return_val);38 crStateCreateProgram(&pack_spu.StateTracker, return_val); 39 39 40 40 return return_val; … … 59 59 GLint PACKSPU_APIENTRY packspu_GetUniformLocation(GLuint program, const char * name) 60 60 { 61 if (!crStateIsProgramUniformsCached( program))61 if (!crStateIsProgramUniformsCached(&pack_spu.StateTracker, program)) 62 62 { 63 63 GET_THREAD(thread); … … 82 82 CRPACKSPU_WRITEBACK_WAIT(thread, writeback); 83 83 84 crStateGLSLProgramCacheUniforms( program, pData[0], &pData[1]);85 86 CRASSERT(crStateIsProgramUniformsCached( program));84 crStateGLSLProgramCacheUniforms(&pack_spu.StateTracker, program, pData[0], &pData[1]); 85 86 CRASSERT(crStateIsProgramUniformsCached(&pack_spu.StateTracker, program)); 87 87 88 88 crFree(pData); … … 90 90 91 91 /*crDebug("packspu_GetUniformLocation(%d, %s)=%i", program, name, crStateGetUniformLocation(program, name));*/ 92 return crStateGetUniformLocation( program, name);92 return crStateGetUniformLocation(&pack_spu.StateTracker, program, name); 93 93 } 94 94 … … 114 114 return packspu_GetAttribLocationUnchached(program, name); 115 115 116 if (!crStateIsProgramAttribsCached( program))116 if (!crStateIsProgramAttribsCached(&pack_spu.StateTracker, program)) 117 117 { 118 118 GET_THREAD(thread); … … 137 137 CRPACKSPU_WRITEBACK_WAIT(thread, writeback); 138 138 139 crStateGLSLProgramCacheAttribs( program, pData[0], &pData[1]);140 141 CRASSERT(crStateIsProgramAttribsCached( program));139 crStateGLSLProgramCacheAttribs(&pack_spu.StateTracker, program, pData[0], &pData[1]); 140 141 CRASSERT(crStateIsProgramAttribsCached(&pack_spu.StateTracker, program)); 142 142 143 143 crFree(pData); … … 145 145 146 146 /*crDebug("packspu_GetAttribLocation(%d, %s)=%i", program, name, crStateGetAttribLocation(program, name));*/ 147 return crStateGetAttribLocation( program, name);147 return crStateGetAttribLocation(&pack_spu.StateTracker, program, name); 148 148 } 149 149 … … 168 168 void PACKSPU_APIENTRY packspu_DeleteProgram(GLuint program) 169 169 { 170 crStateDeleteProgram( program);170 crStateDeleteProgram(&pack_spu.StateTracker, program); 171 171 crPackDeleteProgram(program); 172 172 } … … 174 174 void PACK_APIENTRY packspu_DeleteObjectARB(VBoxGLhandleARB obj) 175 175 { 176 GLuint hwid = crStateGetProgramHWID( obj);176 GLuint hwid = crStateGetProgramHWID(&pack_spu.StateTracker, obj); 177 177 178 178 CRASSERT(obj); … … 182 182 if (hwid) 183 183 { 184 crStateDeleteProgram( obj);184 crStateDeleteProgram(&pack_spu.StateTracker, obj); 185 185 } 186 186 … … 206 206 #endif 207 207 208 crStateLinkProgram( program);208 crStateLinkProgram(&pack_spu.StateTracker, program); 209 209 crPackLinkProgram(program); 210 210 … … 214 214 if (!linkStatus) 215 215 { 216 CRContext *ctx = crStateGetCurrent( );216 CRContext *ctx = crStateGetCurrent(&pack_spu.StateTracker); 217 217 packspu_RecCheckInitRec(); 218 218 crRecDumpProgram(&pack_spu.Recorder, ctx, program, program); … … 235 235 if (!compileStatus) 236 236 { 237 CRContext *ctx = crStateGetCurrent( );237 CRContext *ctx = crStateGetCurrent(&pack_spu.StateTracker); 238 238 packspu_RecCheckInitRec(); 239 239 crRecDumpShader(&pack_spu.Recorder, ctx, shader, shader); -
trunk/src/VBox/Additions/common/crOpenGL/pack/packspu_init.c
r78341 r78375 7 7 #include "cr_mem.h" 8 8 #include "cr_spu.h" 9 #include "cr_glstate.h"10 9 #include "packspu.h" 11 10 #include "cr_packfunctions.h" … … 21 20 22 21 PackSPU pack_spu; 22 DECLHIDDEN(PCRStateTracker) g_pStateTracker; 23 23 24 24 CRtsd _PackTSD; … … 93 93 94 94 packspuCreateFunctions(); 95 crStateInit(); 95 crStateInit(&pack_spu.StateTracker); 96 g_pStateTracker = &pack_spu.StateTracker; 96 97 97 98 return &pack_functions; -
trunk/src/VBox/Additions/common/crOpenGL/pack/packspu_misc.c
r78341 r78375 98 98 GLint buffer; 99 99 100 crStateGetIntegerv( GL_DRAW_BUFFER, &buffer);100 crStateGetIntegerv(&pack_spu.StateTracker, GL_DRAW_BUFFER, &buffer); 101 101 /*Usually buffer==GL_BACK, so put this extra check to simplify boolean eval on runtime*/ 102 102 return (buffer != GL_BACK) … … 116 116 hadtoflush = packspuSyncOnFlushes(); 117 117 118 crStateDrawBuffer( mode);118 crStateDrawBuffer(&pack_spu.StateTracker, mode); 119 119 crPackDrawBuffer(mode); 120 120 … … 197 197 void PACKSPU_APIENTRY packspu_NewList(GLuint list, GLenum mode) 198 198 { 199 crStateNewList( list, mode);199 crStateNewList(&pack_spu.StateTracker, list, mode); 200 200 crPackNewList(list, mode); 201 201 } … … 203 203 void PACKSPU_APIENTRY packspu_EndList() 204 204 { 205 crStateEndList( );205 crStateEndList(&pack_spu.StateTracker); 206 206 crPackEndList(); 207 207 } … … 366 366 crPackGetPolygonStipple( mask, &writeback ); 367 367 #ifdef CR_ARB_pixel_buffer_object 368 if (!crStateIsBufferBound( GL_PIXEL_PACK_BUFFER_ARB))368 if (!crStateIsBufferBound(&pack_spu.StateTracker, GL_PIXEL_PACK_BUFFER_ARB)) 369 369 #endif 370 370 { … … 381 381 crPackGetPixelMapfv( map, values, &writeback ); 382 382 #ifdef CR_ARB_pixel_buffer_object 383 if (!crStateIsBufferBound( GL_PIXEL_PACK_BUFFER_ARB))383 if (!crStateIsBufferBound(&pack_spu.StateTracker, GL_PIXEL_PACK_BUFFER_ARB)) 384 384 #endif 385 385 { … … 397 397 398 398 #ifdef CR_ARB_pixel_buffer_object 399 if (!crStateIsBufferBound( GL_PIXEL_PACK_BUFFER_ARB))399 if (!crStateIsBufferBound(&pack_spu.StateTracker, GL_PIXEL_PACK_BUFFER_ARB)) 400 400 #endif 401 401 { … … 412 412 crPackGetPixelMapusv( map, values, &writeback ); 413 413 #ifdef CR_ARB_pixel_buffer_object 414 if (!crStateIsBufferBound( GL_PIXEL_PACK_BUFFER_ARB))414 if (!crStateIsBufferBound(&pack_spu.StateTracker, GL_PIXEL_PACK_BUFFER_ARB)) 415 415 #endif 416 416 { … … 449 449 return; 450 450 case GL_SHARE_CONTEXT_RESOURCES_CR: 451 crStateShareContext( value);451 crStateShareContext(&pack_spu.StateTracker, value); 452 452 break; 453 453 case GL_RCUSAGE_TEXTURE_SET_CR: 454 454 { 455 455 Assert(value); 456 crStateSetTextureUsed( value, GL_TRUE);456 crStateSetTextureUsed(&pack_spu.StateTracker, value, GL_TRUE); 457 457 break; 458 458 } … … 462 462 #ifdef DEBUG 463 463 { 464 CRContext *pCurState = crStateGetCurrent( );464 CRContext *pCurState = crStateGetCurrent(&pack_spu.StateTracker); 465 465 CRTextureObj *tobj = (CRTextureObj*)crHashtableSearch(pCurState->shared->textureTable, value); 466 466 Assert(tobj); 467 467 } 468 468 #endif 469 crStateSetTextureUsed( value, GL_FALSE);469 crStateSetTextureUsed(&pack_spu.StateTracker, value, GL_FALSE); 470 470 break; 471 471 } … … 481 481 int writeback = 1; 482 482 GLenum return_val = (GLenum) 0; 483 CRContext *pCurState = crStateGetCurrent( );483 CRContext *pCurState = crStateGetCurrent(&pack_spu.StateTracker); 484 484 NOREF(pCurState); /* it's unused, but I don't know about side effects.. */ 485 485 … … 620 620 crSetTSD(&_PackTSD, NULL); 621 621 622 crStateVBoxAttachThread( );622 crStateVBoxAttachThread(&pack_spu.StateTracker); 623 623 } 624 624 … … 701 701 } 702 702 703 crStateVBoxDetachThread( );703 crStateVBoxDetachThread(&pack_spu.StateTracker); 704 704 } 705 705 -
trunk/src/VBox/Additions/common/crOpenGL/pack/packspu_pixel.c
r78190 r78375 269 269 * image in a canonical layout (see util/pixel.c). 270 270 */ 271 crStatePixelStoref( pname, param );271 crStatePixelStoref(&pack_spu.StateTracker, pname, param ); 272 272 } 273 273 274 274 void PACKSPU_APIENTRY packspu_PixelStorei( GLenum pname, GLint param ) 275 275 { 276 crStatePixelStorei( pname, param );276 crStatePixelStorei(&pack_spu.StateTracker, pname, param ); 277 277 } 278 278 … … 283 283 CRClientState *clientState = &(ctx->clientState->client); 284 284 285 if (crStateIsBufferBound( GL_PIXEL_UNPACK_BUFFER_ARB))285 if (crStateIsBufferBound(&pack_spu.StateTracker, GL_PIXEL_UNPACK_BUFFER_ARB)) 286 286 { 287 287 packspu_ApplyUnpackState(); … … 290 290 crPackDrawPixels( width, height, format, type, pixels, &(clientState->unpack) ); 291 291 292 if (crStateIsBufferBound( GL_PIXEL_UNPACK_BUFFER_ARB))292 if (crStateIsBufferBound(&pack_spu.StateTracker, GL_PIXEL_UNPACK_BUFFER_ARB)) 293 293 { 294 294 packspu_RestoreUnpackState(); … … 303 303 int writeback; 304 304 305 if (crStateIsBufferBound( GL_PIXEL_PACK_BUFFER_ARB))305 if (crStateIsBufferBound(&pack_spu.StateTracker, GL_PIXEL_PACK_BUFFER_ARB)) 306 306 { 307 307 packspu_ApplyPackState(); … … 310 310 crPackReadPixels(x, y, width, height, format, type, pixels, &(clientState->pack), &writeback); 311 311 312 if (crStateIsBufferBound( GL_PIXEL_PACK_BUFFER_ARB))312 if (crStateIsBufferBound(&pack_spu.StateTracker, GL_PIXEL_PACK_BUFFER_ARB)) 313 313 { 314 314 packspu_RestorePackState(); … … 316 316 317 317 #ifdef CR_ARB_pixel_buffer_object 318 if (!crStateIsBufferBound( GL_PIXEL_PACK_BUFFER_ARB))318 if (!crStateIsBufferBound(&pack_spu.StateTracker, GL_PIXEL_PACK_BUFFER_ARB)) 319 319 #endif 320 320 { … … 340 340 CRClientState *clientState = &(ctx->clientState->client); 341 341 342 if (crStateIsBufferBound( GL_PIXEL_UNPACK_BUFFER_ARB))342 if (crStateIsBufferBound(&pack_spu.StateTracker, GL_PIXEL_UNPACK_BUFFER_ARB)) 343 343 { 344 344 packspu_ApplyUnpackState(); … … 347 347 crPackBitmap(width, height, xorig, yorig, xmove, ymove, bitmap, &(clientState->unpack)); 348 348 349 if (crStateIsBufferBound( GL_PIXEL_UNPACK_BUFFER_ARB))349 if (crStateIsBufferBound(&pack_spu.StateTracker, GL_PIXEL_UNPACK_BUFFER_ARB)) 350 350 { 351 351 packspu_RestoreUnpackState(); … … 360 360 if (!packspu_CheckTexImageParams(internalformat, format, type)) 361 361 { 362 if (pixels || crStateIsBufferBound( GL_PIXEL_UNPACK_BUFFER_ARB))362 if (pixels || crStateIsBufferBound(&pack_spu.StateTracker, GL_PIXEL_UNPACK_BUFFER_ARB)) 363 363 { 364 364 crWarning("packspu_TexImage1D invalid internalFormat(%x)/format(%x)/type(%x)", internalformat, format, type); … … 370 370 } 371 371 372 if (crStateIsBufferBound( GL_PIXEL_UNPACK_BUFFER_ARB))372 if (crStateIsBufferBound(&pack_spu.StateTracker, GL_PIXEL_UNPACK_BUFFER_ARB)) 373 373 { 374 374 packspu_ApplyUnpackState(); … … 376 376 377 377 crPackTexImage1D( target, level, internalformat, width, border, format, type, pixels, &(clientState->unpack) ); 378 if (crStateIsBufferBound( GL_PIXEL_UNPACK_BUFFER_ARB))378 if (crStateIsBufferBound(&pack_spu.StateTracker, GL_PIXEL_UNPACK_BUFFER_ARB)) 379 379 { 380 380 packspu_RestoreUnpackState(); … … 389 389 if (!packspu_CheckTexImageParams(internalformat, format, type)) 390 390 { 391 if (pixels || crStateIsBufferBound( GL_PIXEL_UNPACK_BUFFER_ARB))391 if (pixels || crStateIsBufferBound(&pack_spu.StateTracker, GL_PIXEL_UNPACK_BUFFER_ARB)) 392 392 { 393 393 crWarning("packspu_TexImage2D invalid internalFormat(%x)/format(%x)/type(%x)", internalformat, format, type); … … 399 399 } 400 400 401 if (crStateIsBufferBound( GL_PIXEL_UNPACK_BUFFER_ARB))401 if (crStateIsBufferBound(&pack_spu.StateTracker, GL_PIXEL_UNPACK_BUFFER_ARB)) 402 402 { 403 403 packspu_ApplyUnpackState(); … … 405 405 406 406 crPackTexImage2D( target, level, internalformat, width, height, border, format, type, pixels, &(clientState->unpack) ); 407 if (crStateIsBufferBound( GL_PIXEL_UNPACK_BUFFER_ARB))407 if (crStateIsBufferBound(&pack_spu.StateTracker, GL_PIXEL_UNPACK_BUFFER_ARB)) 408 408 { 409 409 packspu_RestoreUnpackState(); … … 417 417 CRClientState *clientState = &(ctx->clientState->client); 418 418 419 if (crStateIsBufferBound( GL_PIXEL_UNPACK_BUFFER_ARB))419 if (crStateIsBufferBound(&pack_spu.StateTracker, GL_PIXEL_UNPACK_BUFFER_ARB)) 420 420 { 421 421 packspu_ApplyUnpackState(); … … 423 423 424 424 crPackTexImage3DEXT( target, level, internalformat, width, height, depth, border, format, type, pixels, &(clientState->unpack) ); 425 if (crStateIsBufferBound( GL_PIXEL_UNPACK_BUFFER_ARB))425 if (crStateIsBufferBound(&pack_spu.StateTracker, GL_PIXEL_UNPACK_BUFFER_ARB)) 426 426 { 427 427 packspu_RestoreUnpackState(); … … 436 436 CRClientState *clientState = &(ctx->clientState->client); 437 437 438 if (crStateIsBufferBound( GL_PIXEL_UNPACK_BUFFER_ARB))438 if (crStateIsBufferBound(&pack_spu.StateTracker, GL_PIXEL_UNPACK_BUFFER_ARB)) 439 439 { 440 440 packspu_ApplyUnpackState(); … … 442 442 443 443 crPackTexImage3D( target, level, internalformat, width, height, depth, border, format, type, pixels, &(clientState->unpack) ); 444 if (crStateIsBufferBound( GL_PIXEL_UNPACK_BUFFER_ARB))444 if (crStateIsBufferBound(&pack_spu.StateTracker, GL_PIXEL_UNPACK_BUFFER_ARB)) 445 445 { 446 446 packspu_RestoreUnpackState(); … … 460 460 } 461 461 462 if (crStateIsBufferBound( GL_PIXEL_UNPACK_BUFFER_ARB))462 if (crStateIsBufferBound(&pack_spu.StateTracker, GL_PIXEL_UNPACK_BUFFER_ARB)) 463 463 { 464 464 packspu_ApplyUnpackState(); … … 466 466 467 467 crPackTexSubImage1D( target, level, xoffset, width, format, type, pixels, &(clientState->unpack) ); 468 if (crStateIsBufferBound( GL_PIXEL_UNPACK_BUFFER_ARB))468 if (crStateIsBufferBound(&pack_spu.StateTracker, GL_PIXEL_UNPACK_BUFFER_ARB)) 469 469 { 470 470 packspu_RestoreUnpackState(); … … 483 483 } 484 484 485 if (crStateIsBufferBound( GL_PIXEL_UNPACK_BUFFER_ARB))485 if (crStateIsBufferBound(&pack_spu.StateTracker, GL_PIXEL_UNPACK_BUFFER_ARB)) 486 486 { 487 487 packspu_ApplyUnpackState(); … … 489 489 490 490 crPackTexSubImage2D( target, level, xoffset, yoffset, width, height, format, type, pixels, &(clientState->unpack) ); 491 if (crStateIsBufferBound( GL_PIXEL_UNPACK_BUFFER_ARB))491 if (crStateIsBufferBound(&pack_spu.StateTracker, GL_PIXEL_UNPACK_BUFFER_ARB)) 492 492 { 493 493 packspu_RestoreUnpackState(); … … 501 501 CRClientState *clientState = &(ctx->clientState->client); 502 502 503 if (crStateIsBufferBound( GL_PIXEL_UNPACK_BUFFER_ARB))503 if (crStateIsBufferBound(&pack_spu.StateTracker, GL_PIXEL_UNPACK_BUFFER_ARB)) 504 504 { 505 505 packspu_ApplyUnpackState(); … … 507 507 508 508 crPackTexSubImage3D( target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels, &(clientState->unpack) ); 509 if (crStateIsBufferBound( GL_PIXEL_UNPACK_BUFFER_ARB))509 if (crStateIsBufferBound(&pack_spu.StateTracker, GL_PIXEL_UNPACK_BUFFER_ARB)) 510 510 { 511 511 packspu_RestoreUnpackState(); … … 533 533 */ 534 534 535 if (crStateIsBufferBound( GL_PIXEL_PACK_BUFFER_ARB))535 if (crStateIsBufferBound(&pack_spu.StateTracker, GL_PIXEL_PACK_BUFFER_ARB)) 536 536 { 537 537 packspu_ApplyPackState(); … … 539 539 540 540 crPackGetTexImage( target, level, format, type, pixels, &(clientState->pack), &writeback ); 541 if (crStateIsBufferBound( GL_PIXEL_PACK_BUFFER_ARB))541 if (crStateIsBufferBound(&pack_spu.StateTracker, GL_PIXEL_PACK_BUFFER_ARB)) 542 542 { 543 543 packspu_RestorePackState(); … … 545 545 546 546 #ifdef CR_ARB_pixel_buffer_object 547 if (!crStateIsBufferBound( GL_PIXEL_PACK_BUFFER_ARB))547 if (!crStateIsBufferBound(&pack_spu.StateTracker, GL_PIXEL_PACK_BUFFER_ARB)) 548 548 #endif 549 549 { … … 558 558 int writeback = 1; 559 559 560 if (crStateIsBufferBound( GL_PIXEL_PACK_BUFFER_ARB))560 if (crStateIsBufferBound(&pack_spu.StateTracker, GL_PIXEL_PACK_BUFFER_ARB)) 561 561 { 562 562 packspu_ApplyPackState(); … … 564 564 565 565 crPackGetCompressedTexImageARB( target, level, img, &writeback ); 566 if (crStateIsBufferBound( GL_PIXEL_PACK_BUFFER_ARB))566 if (crStateIsBufferBound(&pack_spu.StateTracker, GL_PIXEL_PACK_BUFFER_ARB)) 567 567 { 568 568 packspu_RestorePackState(); … … 570 570 571 571 #ifdef CR_ARB_pixel_buffer_object 572 if (!crStateIsBufferBound( GL_PIXEL_PACK_BUFFER_ARB))572 if (!crStateIsBufferBound(&pack_spu.StateTracker, GL_PIXEL_PACK_BUFFER_ARB)) 573 573 #endif 574 574 { … … 582 582 GLint border, GLsizei imagesize, const GLvoid *data) 583 583 { 584 if (crStateIsBufferBound( GL_PIXEL_UNPACK_BUFFER_ARB))584 if (crStateIsBufferBound(&pack_spu.StateTracker, GL_PIXEL_UNPACK_BUFFER_ARB)) 585 585 { 586 586 packspu_ApplyUnpackState(); … … 589 589 crPackCompressedTexImage1DARB(target, level, internalformat, width, border, imagesize, data); 590 590 591 if (crStateIsBufferBound( GL_PIXEL_UNPACK_BUFFER_ARB))591 if (crStateIsBufferBound(&pack_spu.StateTracker, GL_PIXEL_UNPACK_BUFFER_ARB)) 592 592 { 593 593 packspu_RestoreUnpackState(); … … 599 599 GLsizei height, GLint border, GLsizei imagesize, const GLvoid *data) 600 600 { 601 if (crStateIsBufferBound( GL_PIXEL_UNPACK_BUFFER_ARB))601 if (crStateIsBufferBound(&pack_spu.StateTracker, GL_PIXEL_UNPACK_BUFFER_ARB)) 602 602 { 603 603 packspu_ApplyUnpackState(); … … 606 606 crPackCompressedTexImage2DARB(target, level, internalformat, width, height, border, imagesize, data); 607 607 608 if (crStateIsBufferBound( GL_PIXEL_UNPACK_BUFFER_ARB))608 if (crStateIsBufferBound(&pack_spu.StateTracker, GL_PIXEL_UNPACK_BUFFER_ARB)) 609 609 { 610 610 packspu_RestoreUnpackState(); … … 616 616 GLsizei height, GLsizei depth, GLint border, GLsizei imagesize, const GLvoid *data) 617 617 { 618 if (crStateIsBufferBound( GL_PIXEL_UNPACK_BUFFER_ARB))618 if (crStateIsBufferBound(&pack_spu.StateTracker, GL_PIXEL_UNPACK_BUFFER_ARB)) 619 619 { 620 620 packspu_ApplyUnpackState(); … … 623 623 crPackCompressedTexImage3DARB(target, level, internalformat, width, height, depth, border, imagesize, data); 624 624 625 if (crStateIsBufferBound( GL_PIXEL_UNPACK_BUFFER_ARB))625 if (crStateIsBufferBound(&pack_spu.StateTracker, GL_PIXEL_UNPACK_BUFFER_ARB)) 626 626 { 627 627 packspu_RestoreUnpackState(); … … 633 633 GLenum format, GLsizei imagesize, const GLvoid *data) 634 634 { 635 if (crStateIsBufferBound( GL_PIXEL_UNPACK_BUFFER_ARB))635 if (crStateIsBufferBound(&pack_spu.StateTracker, GL_PIXEL_UNPACK_BUFFER_ARB)) 636 636 { 637 637 packspu_ApplyUnpackState(); … … 640 640 crPackCompressedTexSubImage1DARB(target, level, xoffset, width, format, imagesize, data); 641 641 642 if (crStateIsBufferBound( GL_PIXEL_UNPACK_BUFFER_ARB))642 if (crStateIsBufferBound(&pack_spu.StateTracker, GL_PIXEL_UNPACK_BUFFER_ARB)) 643 643 { 644 644 packspu_RestoreUnpackState(); … … 650 650 GLsizei width, GLsizei height, GLenum format, GLsizei imagesize, const GLvoid *data) 651 651 { 652 if (crStateIsBufferBound( GL_PIXEL_UNPACK_BUFFER_ARB))652 if (crStateIsBufferBound(&pack_spu.StateTracker, GL_PIXEL_UNPACK_BUFFER_ARB)) 653 653 { 654 654 packspu_ApplyUnpackState(); … … 657 657 crPackCompressedTexSubImage2DARB(target, level, xoffset, yoffset, width, height, format, imagesize, data); 658 658 659 if (crStateIsBufferBound( GL_PIXEL_UNPACK_BUFFER_ARB))659 if (crStateIsBufferBound(&pack_spu.StateTracker, GL_PIXEL_UNPACK_BUFFER_ARB)) 660 660 { 661 661 packspu_RestoreUnpackState(); … … 668 668 GLsizei imagesize, const GLvoid *data) 669 669 { 670 if (crStateIsBufferBound( GL_PIXEL_UNPACK_BUFFER_ARB))670 if (crStateIsBufferBound(&pack_spu.StateTracker, GL_PIXEL_UNPACK_BUFFER_ARB)) 671 671 { 672 672 packspu_ApplyUnpackState(); … … 675 675 crPackCompressedTexSubImage3DARB(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imagesize, data); 676 676 677 if (crStateIsBufferBound( GL_PIXEL_UNPACK_BUFFER_ARB))678 { 679 packspu_RestoreUnpackState(); 680 } 681 } 677 if (crStateIsBufferBound(&pack_spu.StateTracker, GL_PIXEL_UNPACK_BUFFER_ARB)) 678 { 679 packspu_RestoreUnpackState(); 680 } 681 } -
trunk/src/VBox/Additions/common/crOpenGL/pack/packspu_texture.c
r78190 r78375 24 24 void PACKSPU_APIENTRY packspu_ActiveTextureARB(GLenum texture) 25 25 { 26 crStateActiveTextureARB( texture);26 crStateActiveTextureARB(&pack_spu.StateTracker, texture); 27 27 crPackActiveTextureARB(texture); 28 28 } … … 30 30 void PACKSPU_APIENTRY packspu_BindTexture(GLenum target, GLuint texture) 31 31 { 32 crStateBindTexture( target, texture);32 crStateBindTexture(&pack_spu.StateTracker, target, texture); 33 33 crPackBindTexture(target, texture); 34 34 } … … 36 36 void PACKSPU_APIENTRY packspu_DeleteTextures(GLsizei n, const GLuint * textures) 37 37 { 38 crStateDeleteTextures( n, textures);38 crStateDeleteTextures(&pack_spu.StateTracker, n, textures); 39 39 crPackDeleteTextures(n, textures); 40 40 } … … 52 52 packspuFlush( (void *) thread ); 53 53 CRPACKSPU_WRITEBACK_WAIT(thread, writeback); 54 crStateRegTextures( n, textures);54 crStateRegTextures(&pack_spu.StateTracker, n, textures); 55 55 }
Note:
See TracChangeset
for help on using the changeset viewer.