VirtualBox

source: vbox/trunk/src/VBox/HostServices/SharedOpenGL/crserverlib/server_writeback.c@ 48521

Last change on this file since 48521 was 39288, checked in by vboxsync, 13 years ago

CrOpenGL: avoid blocked client polling & extra memcpy (block hgsmi command until completion)

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 858 bytes
Line 
1/* Copyright (c) 2001, Stanford University
2 * All rights reserved
3 *
4 * See the file LICENSE.txt for information on redistributing this software.
5 */
6
7#include "cr_mem.h"
8#include "cr_net.h"
9#include "server_dispatch.h"
10#include "server.h"
11
12void SERVER_DISPATCH_APIENTRY crServerDispatchWriteback( GLint *writeback )
13{
14 (void) writeback;
15 crServerWriteback( );
16}
17
18void crServerWriteback(void)
19{
20 CRMessageWriteback *wb = (CRMessageWriteback *) crAlloc( sizeof( *wb ) );
21 wb->header.type = CR_MESSAGE_WRITEBACK;
22 CRDBGPTR_PRINTWB(cr_server.curClient->conn->u32ClientID, &cr_server.writeback_ptr);
23 CRDBGPTR_CHECKNZ(&cr_server.writeback_ptr);
24 crMemcpy( &(wb->writeback_ptr), &(cr_server.writeback_ptr), sizeof( wb->writeback_ptr ) );
25 crNetSend( cr_server.curClient->conn, NULL, wb, sizeof( *wb ) );
26 CRDBGPTR_SETZ(&cr_server.writeback_ptr);
27 crFree( wb );
28}
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette