VirtualBox

root/trunk/include/VBox/HostServices/VBoxCrOpenGLSvc.h

Revision 12806, 2.8 kB (checked in by vboxsync, 3 months ago)

+removed temp buffers usage inside chromium with hgcm
+combined read/writes to reduce number of hgcm calls
+some hacks fixed

  • Property svn:eol-style set to native
Line 
1 /** @file
2  * OpenGL:
3  * Common header for host service and guest clients.
4  */
5
6 /*
7  * Copyright (C) 2006-2007 Sun Microsystems, Inc.
8  *
9  * This file is part of VirtualBox Open Source Edition (OSE), as
10  * available from http://www.virtualbox.org. This file is free software;
11  * you can redistribute it and/or modify it under the terms of the GNU
12  * General Public License (GPL) as published by the Free Software
13  * Foundation, in version 2 as it comes in the "COPYING" file of the
14  * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
15  * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
16  *
17  * The contents of this file may alternatively be used under the terms
18  * of the Common Development and Distribution License Version 1.0
19  * (CDDL) only, as it comes in the "COPYING.CDDL" file of the
20  * VirtualBox OSE distribution, in which case the provisions of the
21  * CDDL are applicable instead of those of the GPL.
22  *
23  * You may elect to license modified versions of this file under the
24  * terms and conditions of either the GPL or the CDDL or both.
25  *
26  * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
27  * Clara, CA 95054 USA or visit http://www.sun.com if you need
28  * additional information or have any questions.
29  */
30
31 #ifndef ___VBox_HostService_VBoxCrOpenGLSvc_h
32 #define ___VBox_HostService_VBoxCrOpenGLSvc_h
33
34 #include <VBox/types.h>
35 #include <VBox/VBoxGuest.h>
36 #include <VBox/hgcmsvc.h>
37
38 /* crOpenGL host functions */
39 #define SHCRGL_HOST_FN_SET_FRAMEBUFFER (1)
40 /* crOpenGL guest functions */
41 #define SHCRGL_GUEST_FN_WRITE       (2)
42 #define SHCRGL_GUEST_FN_READ        (3)
43 #define SHCRGL_GUEST_FN_WRITE_READ  (4)
44
45 /* Parameters count */
46 #define SHCRGL_CPARMS_SET_FRAMEBUFFER (1)
47 #define SHCRGL_CPARMS_WRITE      (1)
48 #define SHCRGL_CPARMS_READ       (2)
49 #define SHCRGL_CPARMS_WRITE_READ (3)
50
51 /**
52  * SHCRGL_GUEST_FN_WRITE
53  */
54
55 /** GUEST_FN_WRITE Parameters structure. */
56 typedef struct
57 {
58     VBoxGuestHGCMCallInfo   hdr;
59
60     /** pointer, in
61      *  Data buffer
62      */
63     HGCMFunctionParameter   pBuffer;
64 } CRVBOXHGCMWRITE;
65
66 /** GUEST_FN_READ Parameters structure. */
67 typedef struct
68 {
69     VBoxGuestHGCMCallInfo   hdr;
70
71     /** pointer, in/out
72      *  Data buffer
73      */
74     HGCMFunctionParameter   pBuffer;
75
76     /** 32bit, out
77      * Count of bytes written to buffer
78      */
79     HGCMFunctionParameter   cbBuffer;
80
81 } CRVBOXHGCMREAD;
82
83 /** GUEST_FN_WRITE_READ Parameters structure. */
84 typedef struct
85 {
86     VBoxGuestHGCMCallInfo   hdr;
87
88     /** pointer, in
89      *  Data buffer
90      */
91     HGCMFunctionParameter   pBuffer;
92
93     /** pointer, out
94      *  Writeback buffer
95      */
96     HGCMFunctionParameter   pWriteback;
97
98     /** 32bit, out
99      * Count of bytes written to writeback buffer
100      */
101     HGCMFunctionParameter   cbWriteback;
102    
103 } CRVBOXHGCMWRITEREAD;
104
105 #endif
Note: See TracBrowser for help on using the browser.

© 2008 Sun Microsystems, Inc.
ContactPrivacy policy