VirtualBox

Ignore:
Timestamp:
Apr 26, 2011 8:33:19 AM (14 years ago)
Author:
vboxsync
Message:

3D for VRDP: initial commit (xTracker 5565).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/GuestHost/OpenGL/include/cr_server.h

    r36052 r36843  
    3535
    3636typedef DECLCALLBACKPTR(void, PFNCRSERVERPRESENTFBO) (void *data, int32_t screenId, int32_t x, int32_t y, uint32_t w, uint32_t h);
     37
     38/* Callbacks for output of the rendered frames.
     39 *
     40 * This allows to pass rendered frames to an external component rather than draw them on screen.
     41 *
     42 * An external component registers the redirection callbacks using crVBoxServerOutputRedirectSet.
     43 *
     44 * The list of formats supported by the caller is obtained using CRORContextProperty.
     45 * The actual format choosed by the service is passed as a CRORBegin parameter.
     46 */
     47typedef struct {
     48    const void *pvContext; /* Supplied by crVBoxServerOutputRedirectSet. */
     49    DECLR3CALLBACKMEMBER(void, CRORBegin,           (const void *pvContext, void **ppvInstance,
     50                                                     const char *pszFormat));
     51    DECLR3CALLBACKMEMBER(void, CRORGeometry,        (void *pvInstance,
     52                                                     int32_t x, int32_t y, uint32_t w, uint32_t h));
     53    DECLR3CALLBACKMEMBER(void, CRORVisibleRegion,   (void *pvInstance,
     54                                                     uint32_t cRects, RTRECT *paRects));
     55    DECLR3CALLBACKMEMBER(void, CRORFrame,           (void *pvInstance,
     56                                                     void *pvData, uint32_t cbData));
     57    DECLR3CALLBACKMEMBER(void, CROREnd,             (void *pvInstance));
     58    DECLR3CALLBACKMEMBER(int,  CRORContextProperty, (const void *pvContext, uint32_t index,
     59                                                      void *pvBuffer, uint32_t cbBuffer, uint32_t *pcbOut));
     60} CROutputRedirect;
    3761
    3862typedef struct {
     
    7195    GLuint fboWidth, fboHeight;
    7296    GLuint idPBO;
     97
     98    void *pvOutputRedirectInstance;
    7399} CRMuralInfo;
    74100
     
    233259                                                     *using callback above to update vbox framebuffers*/
    234260    GLboolean             bUsePBOForReadback;       /*Use PBO's for data readback*/
     261
     262    GLboolean             bUseOutputRedirect;       /* Whether the output redirect was set. */
     263    CROutputRedirect      outputRedirect;
    235264} CRServer;
    236265
     
    265294extern DECLEXPORT(int32_t) crVBoxServerSetOffscreenRendering(GLboolean value);
    266295
     296extern DECLEXPORT(int32_t) crVBoxServerOutputRedirectSet(const CROutputRedirect *pCallbacks);
     297
    267298#ifdef __cplusplus
    268299}
Note: See TracChangeset for help on using the changeset viewer.

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