VirtualBox

Ignore:
Timestamp:
Mar 31, 2010 12:57:09 PM (15 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
59577
Message:

crOpenGL: more code for multiscreen support

Location:
trunk/src/VBox/GuestHost/OpenGL/state_tracker
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/GuestHost/OpenGL/state_tracker/state.h

    r15532 r27889  
    1212#include "cr_threads.h"
    1313#endif
     14
     15typedef struct _crCheckIDHWID {
     16    GLuint id, hwid;
     17} crCheckIDHWID_t;
    1418
    1519extern SPUDispatchTable diff_api;
  • trunk/src/VBox/GuestHost/OpenGL/state_tracker/state_framebuffer.c

    r24569 r27889  
    768768}
    769769
     770static void crStateCheckFBOHWIDCB(unsigned long key, void *data1, void *data2)
     771{
     772    CRFramebufferObject *pFBO = (CRFramebufferObject *) data1;
     773    crCheckIDHWID_t *pParms = (crCheckIDHWID_t*) data2;
     774    (void) key;
     775
     776    if (pFBO->hwid==pParms->hwid)
     777        pParms->id = pFBO->id;
     778}
     779
     780static void crStateCheckRBOHWIDCB(unsigned long key, void *data1, void *data2)
     781{
     782    CRRenderbufferObject *pRBO = (CRRenderbufferObject *) data1;
     783    crCheckIDHWID_t *pParms = (crCheckIDHWID_t*) data2;
     784    (void) key;
     785
     786    if (pRBO->hwid==pParms->hwid)
     787        pParms->id = pRBO->id;
     788}
     789
     790DECLEXPORT(GLuint) STATE_APIENTRY crStateFBOHWIDtoID(GLuint hwid)
     791{
     792    CRContext *g = GetCurrentContext();
     793    crCheckIDHWID_t parms;
     794
     795    parms.id = hwid;
     796    parms.hwid = hwid;
     797
     798    crHashtableWalk(g->framebufferobject.framebuffers, crStateCheckFBOHWIDCB, &parms);
     799    return parms.id;
     800}
     801
     802DECLEXPORT(GLuint) STATE_APIENTRY crStateRBOHWIDtoID(GLuint hwid)
     803{
     804    CRContext *g = GetCurrentContext();
     805    crCheckIDHWID_t parms;
     806
     807    parms.id = hwid;
     808    parms.hwid = hwid;
     809
     810    crHashtableWalk(g->framebufferobject.renderbuffers, crStateCheckRBOHWIDCB, &parms);
     811    return parms.id;
     812}
     813
    770814#ifdef IN_GUEST
    771815DECLEXPORT(GLenum) STATE_APIENTRY crStateCheckFramebufferStatusEXT(GLenum target)
  • trunk/src/VBox/GuestHost/OpenGL/state_tracker/state_glsl.c

    r26031 r27889  
    196196}
    197197
    198 typedef struct _crCheckIDHWID {
    199     GLuint id, hwid;
    200 } crCheckIDHWID_t;
    201 
    202198static void crStateCheckShaderHWIDCB(unsigned long key, void *data1, void *data2)
    203199{
Note: See TracChangeset for help on using the changeset viewer.

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