Changeset 51559 in vbox for trunk/src/VBox/GuestHost/OpenGL
- Timestamp:
- Jun 5, 2014 9:18:41 PM (11 years ago)
- svn:sync-xref-src-repo-rev:
- 94217
- Location:
- trunk/src/VBox/GuestHost/OpenGL
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/GuestHost/OpenGL/glapi_parser/APIspec.txt
r51200 r51559 8571 8571 chromium nopack 8572 8572 8573 name VBoxConChromiumParametervCR 8574 return void 8575 param con GLint 8576 param target GLenum 8577 paramprop target GL_CURSOR_POSITION_CR GL_DEFAULT_BBOX_CR GL_SCREEN_BBOX_CR GL_OBJECT_BBOX_CR GL_PRINT_STRING_CR GL_MURAL_SIZE_CR GL_NUM_SERVERS_CR GL_NUM_TILES_CR GL_TILE_BOUNDS_CR GL_VERTEX_COUNTS_CR GL_RESET_VERTEX_COUNTERS_CR GL_SET_MAX_VIEWPORT_CR GL_HEAD_SPU_NAME_CR GL_PERF_GET_FRAME_DATA_CR GL_PERF_GET_TIMER_DATA_CR GL_PERF_DUMP_COUNTERS_CR GL_PERF_SET_TOKEN_CR GL_PERF_SET_DUMP_ON_SWAP_CR GL_PERF_SET_DUMP_ON_FINISH_CR GL_PERF_SET_DUMP_ON_FLUSH_CR GL_PERF_START_TIMER_CR GL_PERF_STOP_TIMER_CR GL_WINDOW_SIZE_CR GL_TILE_INFO_CR GL_GATHER_DRAWPIXELS_CR GL_GATHER_PACK_CR GL_GATHER_CONNECT_CR GL_GATHER_POST_SWAPBUFFERS_CR GL_SAVEFRAME_ENABLED_CR GL_SAVEFRAME_FRAMENUM_CR GL_SAVEFRAME_STRIDE_CR GL_SAVEFRAME_SINGLE_CR GL_SAVEFRAME_FILESPEC_CR GL_READBACK_BARRIER_SIZE_CR 8578 param type GLenum 8579 paramprop type GL_BYTE GL_UNSIGNED_BYTE GL_SHORT GL_UNSIGNED_SHORT GL_INT GL_UNSIGNED_INT GL_FLOAT GL_DOUBLE 8580 param count GLsizei 8581 param values const GLvoid * 8582 category VBox 8583 props nolist 8584 chromium nopack 8585 8586 8573 8587 name VBoxWindowCreate 8574 8588 return GLint -
trunk/src/VBox/GuestHost/OpenGL/include/chromium.h
r51313 r51559 734 734 #define GL_CHECK_ZERO_VERT_ARRT 0x8B30 735 735 736 /* share lists */ 737 #define GL_SHARE_LISTS_CR 0x8B31 738 736 739 /**********************************************************************/ 737 740 /***** Chromium-specific API *****/ -
trunk/src/VBox/GuestHost/OpenGL/include/cr_glstate.h
r51005 r51559 116 116 CRHashTable *rbTable; /* render buffers */ 117 117 118 GLint refCount;118 volatile int32_t refCount; 119 119 GLint id; /*unique shared state id, it's not always matching some existing context id!*/ 120 120 GLint saveCount; … … 308 308 309 309 DECLEXPORT(void) STATE_APIENTRY crStateShareContext(GLboolean value); 310 DECLEXPORT(void) STATE_APIENTRY crStateShareLists(CRContext *pContext1, CRContext *pContext2); 310 311 DECLEXPORT(void) STATE_APIENTRY crStateSetSharedContext(CRContext *pCtx); 311 312 DECLEXPORT(GLboolean) STATE_APIENTRY crStateContextIsShared(CRContext *pCtx); -
trunk/src/VBox/GuestHost/OpenGL/state_tracker/state_init.c
r51005 r51559 9 9 #include "cr_error.h" 10 10 #include "cr_spu.h" 11 12 #include <iprt/asm.h> 11 13 12 14 #ifdef CHROMIUM_THREADSAFE … … 110 112 crStateFreeShared(CRContext *pContext, CRSharedState *s) 111 113 { 112 s->refCount--; 113 Assert(s->refCount >= 0); 114 if (s->refCount <= 0) { 114 int32_t refCount = ASMAtomicDecS32(&s->refCount); 115 116 Assert(refCount >= 0); 117 if (refCount <= 0) { 115 118 if (s==gSharedState) 116 119 { … … 144 147 return NULL; 145 148 } 146 gSharedState->refCount++;149 ASMAtomicIncS32(&gSharedState->refCount); 147 150 return gSharedState; 148 151 } … … 176 179 crStateFreeShared(pCtx, pCtx->shared); 177 180 pCtx->shared = gSharedState; 178 gSharedState->refCount++;181 ASMAtomicIncS32(&gSharedState->refCount); 179 182 } 180 183 } … … 199 202 } 200 203 } 204 } 205 206 DECLEXPORT(void) STATE_APIENTRY 207 crStateShareLists(CRContext *pContext1, CRContext *pContext2) 208 { 209 CRASSERT(pContext1->shared); 210 CRASSERT(pContext2->shared); 211 212 if (pContext2->shared == pContext1->shared) 213 { 214 return; 215 } 216 217 crStateFreeShared(pContext1, pContext1->shared); 218 pContext1->shared = pContext2->shared; 219 ASMAtomicIncS32(&pContext2->shared->refCount); 201 220 } 202 221 … … 271 290 CRASSERT(shareCtx->shared); 272 291 ctx->shared = shareCtx->shared; 273 ctx->shared->refCount ++;292 ASMAtomicIncS32(&ctx->shared->refCount); 274 293 } 275 294 else {
Note:
See TracChangeset
for help on using the changeset viewer.