Changeset 44766 in vbox for trunk/src/VBox/GuestHost
- Timestamp:
- Feb 20, 2013 3:43:52 PM (12 years ago)
- svn:sync-xref-src-repo-rev:
- 83878
- Location:
- trunk/src/VBox/GuestHost/OpenGL
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/GuestHost/OpenGL/include/chromium.h
r44740 r44766 82 82 struct VBOXVR_SCR_COMPOSITOR; 83 83 struct VBOXVR_SCR_COMPOSITOR_ENTRY; 84 85 #define CR_RENDER_DEFAULT_CONTEXT_ID (INT32_MAX-1) 86 #define CR_RENDER_DEFAULT_WINDOW_ID (INT32_MAX-1) 84 87 85 88 #if defined(IN_GUEST) && (WINDOWS) && defined(VBOX_WITH_WDDM) -
trunk/src/VBox/GuestHost/OpenGL/include/cr_blitter.h
r44740 r44766 104 104 } 105 105 106 DECLINLINE(GLboolean) CrBltIsEverEntered(PCR_BLITTER pBlitter) 107 { 108 return !!pBlitter->Flags.Initialized; 109 } 110 106 111 VBOXBLITTERDECL(void) CrBltMuralSetCurrent(PCR_BLITTER pBlitter, CR_BLITTER_WINDOW *pMural); 107 112 -
trunk/src/VBox/GuestHost/OpenGL/include/cr_hash.h
r44290 r44766 25 25 26 26 DECLEXPORT(CRHashIdPool *) crAllocHashIdPool( void ); 27 DECLEXPORT(CRHashIdPool *) crAllocHashIdPoolEx( GLuint min, GLuint max ); 27 28 DECLEXPORT(void) crFreeHashIdPool( CRHashIdPool *pool ); 28 29 DECLEXPORT(GLboolean) crHashIdPoolIsIdFree( const CRHashIdPool *pool, GLuint id ); … … 32 33 33 34 DECLEXPORT(CRHashTable *) crAllocHashtable( void ); 35 DECLEXPORT(CRHashTable *) crAllocHashtableEx( GLuint min, GLuint max ); 34 36 DECLEXPORT(void) crFreeHashtable( CRHashTable *hash, CRHashtableCallback deleteCallback ); 35 37 DECLEXPORT(void) crHashtableAdd( CRHashTable *h, unsigned long key, void *data ); -
trunk/src/VBox/GuestHost/OpenGL/include/cr_vreg.h
r44740 r44766 24 24 #include <iprt/string.h> 25 25 #include <iprt/assert.h> 26 #include <iprt/critsect.h> 26 27 27 28 #ifndef IN_RING0 … … 244 245 PRTRECT paSrcRects; 245 246 PRTRECT paDstRects; 247 RTCRITSECT CritSect; 246 248 } VBOXVR_SCR_COMPOSITOR, *PVBOXVR_SCR_COMPOSITOR; 247 249 … … 320 322 } 321 323 324 DECLINLINE(int) CrVrScrCompositorLock(PVBOXVR_SCR_COMPOSITOR pCompositor) 325 { 326 int rc = RTCritSectEnter(&pCompositor->CritSect); 327 AssertRC(rc); 328 return rc; 329 } 330 331 DECLINLINE(int) CrVrScrCompositorUnlock(PVBOXVR_SCR_COMPOSITOR pCompositor) 332 { 333 int rc = RTCritSectLeave(&pCompositor->CritSect); 334 AssertRC(rc); 335 return rc; 336 } 337 322 338 RT_C_DECLS_END 323 339 -
trunk/src/VBox/GuestHost/OpenGL/util/blitter.cpp
r44740 r44766 431 431 else 432 432 { 433 Assert(0);434 433 pBlitter->pDispatch->MakeCurrent(0, 0, 0); 435 434 } … … 475 474 else 476 475 { 477 Assert(0);478 476 pBlitter->pRestoreCtxInfo = &pBlitter->CtxInfo; 479 480 477 } 481 478 -
trunk/src/VBox/GuestHost/OpenGL/util/hash.c
r44291 r44766 26 26 struct CRHashIdPool { 27 27 RTLISTNODE freeList; 28 GLuint min; 29 GLuint max; 28 30 }; 29 31 … … 44 46 45 47 48 CRHashIdPool *crAllocHashIdPoolEx( GLuint min, GLuint max ) 49 { 50 CRHashIdPool *pool; 51 FreeElem *elem; 52 if (min < CR_HASH_ID_MIN || max > CR_HASH_ID_MAX || min >= max) 53 { 54 crWarning("invalid min man vals"); 55 return NULL; 56 } 57 pool = (CRHashIdPool *) crCalloc(sizeof(CRHashIdPool)); 58 elem = (FreeElem *) crCalloc(sizeof(FreeElem)); 59 RTListInit(&pool->freeList); 60 elem->min = min; 61 elem->max = max; 62 RTListAppend(&pool->freeList, &elem->Node); 63 pool->min = min; 64 pool->max = max; 65 return pool; 66 } 67 46 68 CRHashIdPool *crAllocHashIdPool( void ) 47 69 { 48 CRHashIdPool *pool = (CRHashIdPool *) crCalloc(sizeof(CRHashIdPool)); 49 FreeElem *elem = (FreeElem *) crCalloc(sizeof(FreeElem)); 50 RTListInit(&pool->freeList); 51 elem->min = CR_HASH_ID_MIN; 52 elem->max = CR_HASH_ID_MAX; 53 RTListAppend(&pool->freeList, &elem->Node); 54 return pool; 70 return crAllocHashIdPoolEx( CR_HASH_ID_MIN, CR_HASH_ID_MAX ); 55 71 } 56 72 … … 78 94 RTListForEach(&pool->freeList, i, FreeElem, Node) 79 95 { 80 Assert(i->min >= CR_HASH_ID_MIN);81 Assert(i->max <= CR_HASH_ID_MAX);96 Assert(i->min >= pool->min); 97 Assert(i->max <= pool->max); 82 98 Assert(i->min < i->max); 83 99 } … … 96 112 GLuint i; 97 113 CRASSERT(count); 98 CRASSERT(start >= CR_HASH_ID_MIN);99 CRASSERT(start + count <= CR_HASH_ID_MAX);114 CRASSERT(start >= pool->min); 115 CRASSERT(start + count <= pool->max); 100 116 CRASSERT(start + count > start); 101 117 for (i = 0; i < count; ++i) … … 175 191 CRASSERT(count > 0); 176 192 CRASSERT(last > first); 177 CRASSERT(first >= CR_HASH_ID_MIN);178 CRASSERT(last <= CR_HASH_ID_MAX);193 CRASSERT(first >= pool->min); 194 CRASSERT(last <= pool->max); 179 195 180 196 /* the id list is sorted, first find a place to insert */ … … 317 333 FreeElem *f; 318 334 CRASSERT(id >= 0); 319 CRASSERT(id <= CR_HASH_ID_MAX);335 CRASSERT(id <= pool->max); 320 336 321 337 RTListForEach(&pool->freeList, f, FreeElem, Node) … … 330 346 } 331 347 332 333 334 CRHashTable *crAllocHashtable( void ) 348 CRHashTable *crAllocHashtableEx( GLuint min, GLuint max ) 335 349 { 336 350 int i; … … 341 355 hash->buckets[i] = NULL; 342 356 } 343 hash->idPool = crAllocHashIdPool ();357 hash->idPool = crAllocHashIdPoolEx( min, max ); 344 358 #ifdef CHROMIUM_THREADSAFE 345 359 crInitMutex(&hash->mutex); 346 360 #endif 347 361 return hash; 362 } 363 364 CRHashTable *crAllocHashtable( void ) 365 { 366 return crAllocHashtableEx(CR_HASH_ID_MIN, CR_HASH_ID_MAX); 348 367 } 349 368 -
trunk/src/VBox/GuestHost/OpenGL/util/util.def
r44125 r44766 85 85 crHashtableAllocRegisterKey 86 86 crAllocHashtable 87 crAllocHashtableEx 87 88 crFreeHashtable 88 89 crHashtableGetDataKey -
trunk/src/VBox/GuestHost/OpenGL/util/vreg.cpp
r44740 r44766 1416 1416 { 1417 1417 memset(pCompositor, 0, sizeof (*pCompositor)); 1418 VBoxVrCompositorInit(&pCompositor->Compositor, NULL); 1419 pCompositor->StretchX = 1.0; 1420 pCompositor->StretchY = 1.0; 1421 return VINF_SUCCESS; 1418 int rc = RTCritSectInit(&pCompositor->CritSect); 1419 if (RT_SUCCESS(rc)) 1420 { 1421 VBoxVrCompositorInit(&pCompositor->Compositor, NULL); 1422 pCompositor->StretchX = 1.0; 1423 pCompositor->StretchY = 1.0; 1424 return VINF_SUCCESS; 1425 } 1426 else 1427 { 1428 crWarning("RTCritSectInit failed rc %d", rc); 1429 } 1430 return rc; 1422 1431 } 1423 1432 … … 1429 1438 if (pCompositor->paSrcRects) 1430 1439 RTMemFree(pCompositor->paSrcRects); 1440 1441 RTCritSectDelete(&pCompositor->CritSect); 1431 1442 } 1432 1443
Note:
See TracChangeset
for help on using the changeset viewer.