diff options
Diffstat (limited to 'src/VBox/HostServices/SharedOpenGL/crserverlib/server_bufferobject.c')
| -rw-r--r-- | src/VBox/HostServices/SharedOpenGL/crserverlib/server_bufferobject.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/VBox/HostServices/SharedOpenGL/crserverlib/server_bufferobject.c b/src/VBox/HostServices/SharedOpenGL/crserverlib/server_bufferobject.c index 9210d83b..e3c0100c 100644 --- a/src/VBox/HostServices/SharedOpenGL/crserverlib/server_bufferobject.c +++ b/src/VBox/HostServices/SharedOpenGL/crserverlib/server_bufferobject.c @@ -27,11 +27,18 @@ crServerDispatchGenBuffersARB(GLsizei n, GLuint *buffers) { GLuint *local_buffers = (GLuint *) crAlloc( n * sizeof(*local_buffers) ); (void) buffers; - cr_server.head_spu->dispatch_table.GenBuffersARB( n, local_buffers ); + + crStateGenBuffersARB(n, local_buffers); + crServerReturnValue( local_buffers, n * sizeof(*local_buffers) ); crFree( local_buffers ); } +void SERVER_DISPATCH_APIENTRY crServerDispatchDeleteBuffersARB( GLsizei n, const GLuint * buffer ) +{ + crStateDeleteBuffersARB( n, buffer ); +} + void SERVER_DISPATCH_APIENTRY crServerDispatchGetBufferPointervARB(GLenum target, GLenum pname, GLvoid **params) { @@ -69,8 +76,9 @@ crServerDispatchBindBufferARB(GLenum target, GLuint buffer) GLboolean SERVER_DISPATCH_APIENTRY crServerDispatchIsBufferARB(GLuint buffer) { - GLboolean retval; - retval = cr_server.head_spu->dispatch_table.IsBufferARB(crStateGetBufferHWID(buffer)); + /* since GenBuffersARB issued to host ogl only on bind + some other ops, the host drivers may not know about them + * so use state data*/ + GLboolean retval = crStateIsBufferARB(buffer); crServerReturnValue( &retval, sizeof(retval) ); return retval; /* WILL PROBABLY BE IGNORED */ } |
