-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Jesse Barnes wrote: > Per the discussion in the other vblank thread, this patch does several > things: > - adds a new getMSC hook to __DRIdrawableRec > - updates glXGetVideoSyncSGI to use the new hook if present > - adds new vblank fields to __DRIdrawablePrivateRec > - adds a new driDrawableGetMSC32 vblank.c routine > this new function takes a drawable private so it can set pipe > flags for example when it calls into the DRM > - adds a wrapper for the new vblank.c routine in dri_util.c > for symmetry > - updates driCreateNewDrawable to init the new vblank fields > and set the callback for the new per-drawable getMSC routine > - adds a __DriverAPI hook for GetDrawableMSC > - updates the drivers to use driDrawableGetMSC32 in their > DriverAPI initialization > > I'm not sure about the compatibility implications of these changes, it > seems like touching __DRIdrawableRec and __DriverAPIRec may affect > binary compatibility with existing drivers, is there anything else? > > If compatibility isn't a concern, I can go ahead and remove the > per-screen getMSC altogether, along with its associated __DriverAPI > function pointers and remove some code. > > Also, I decided against cleaning up the screen and drawable callback > wrappers in dri_util.c. It seems they'll be needed if we ever add full > OML extension support. I made the new stuff fit in with that scheme. > > Any thoughts?
I have to admit that I haven't been keeping as up to date with this thread as I should have. I've blocked off some time tomorrow morning to fully review this patch and the discussion. I'll probably have some questions for you, if you're on IRC. I do have one question now. What happens (or is intended to happen) if the currently bound drawable is not a window? Also, the current code already deviates from the spec. :( I somehow overlooked the bit in GLX_SGI_video_sync that says: glXGetVideoSyncSGI returns GLX_BAD_CONTEXT if there is no current GLXContext. glXWaitVideoSyncSGI returns GLX_BAD_CONTEXT if the current context is not direct, or if there is no current context. It looks like your patch maintains this behavior. Since the current drawable can only be None if there is no context, I believe that returning GLX_BAD_CONTEXT when getDrawable returns NULL would be correct. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (GNU/Linux) iD8DBQFG+wVxX1gOwKyEAw8RAjTUAJ9qq6ExOdIMu5l5zsbPDztUKtayvQCgjCUH C+1jSvSgc0PX8KculQqI8Z8= =hqR7 -----END PGP SIGNATURE----- ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ -- _______________________________________________ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel