void * PACKSPU_APIENTRY packspu_MapBufferARB( GLenum target, GLenum access ) { GET_CONTEXT(ctx); void *buffer; CRBufferObject *pBufObj; CRASSERT(GL_TRUE == ctx->clientState->bufferobject.retainBufferData); buffer = crStateMapBufferARB(target, access); #ifdef CR_ARB_pixel_buffer_object if (buffer) { pBufObj = crStateGetBoundBufferObject(target, &ctx->clientState->bufferobject); CRASSERT(pBufObj); if (pBufObj->bResyncOnRead && access != GL_WRITE_ONLY_ARB) { /*fetch data from host side*/ packspu_GetHostBufferSubDataARB(target, 0, pBufObj->size, buffer); } } #endif return buffer; }
static void * ARRAYSPU_APIENTRY arrayspu_MapBufferARB(GLenum target, GLenum access) { return crStateMapBufferARB(target, access); }