-----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

Reply via email to