Re: Initial DRI3000 protocol specs available

2013-04-02 Thread James Jones
On 03/21/2013 03:41 PM, Keith Packard wrote: * PGP Signed by an unknown key James Jones jajo...@nvidia.com writes: If you associate an X Fence Sync with your swap operation, the driver has the option to trigger it directly from the client command stream and wake up only the applications

Re: Initial DRI3000 protocol specs available

2013-04-02 Thread Keith Packard
James Jones jajo...@nvidia.com writes: There's some work going on to get something very much like fence sync objects into the Linux kernel as well, I think starting with something from the Android kernel trees, and with input from some people working on fence objects usable to synchronize

Re: Initial DRI3000 protocol specs available

2013-03-21 Thread Keith Packard
James Jones jajo...@nvidia.com writes: If you associate an X Fence Sync with your swap operation, the driver has the option to trigger it directly from the client command stream and wake up only the applications waiting for that fence. The compositor, if using GL, could have received the

Re: Initial DRI3000 protocol specs available

2013-03-11 Thread Ian Romanick
On 02/19/2013 07:45 PM, Keith Packard wrote: 11.1 GLX GLX has no direct relation with DRI3, but a direct rendering OpenGL application will presumably use both, and target Was there supposed to be more of this sentence? ___ xorg-devel@lists.x.org:

Re: Initial DRI3000 protocol specs available

2013-03-11 Thread Ian Romanick
On 02/20/2013 10:50 PM, Keith Packard wrote: Stéphane Marchesin stephane.marche...@gmail.com writes: On Wed, Feb 20, 2013 at 12:42 PM, Keith Packard kei...@keithp.com wrote: Stéphane Marchesin stephane.marche...@gmail.com writes: I'm interested in two specific use cases: - Swap to an

Re: Initial DRI3000 protocol specs available

2013-03-11 Thread Ian Romanick
On 02/20/2013 02:46 AM, Chris Wilson wrote: On Tue, Feb 19, 2013 at 07:46:22PM -0800, Keith Packard wrote: ┌─── SwapRegion destination: DRAWABLE region: REGION src-off-x,src-off-y: INT16 source: PIXMAP swap-interval: CARD32 target_msc_hi:

Re: Initial DRI3000 protocol specs available

2013-03-11 Thread Keith Packard
Ian Romanick i...@freedesktop.org writes: EGL_NOK_swap_region (supported by Mesa) allows specifying multiple subrectangles to swap together. An X region consists of multiple rectangles, but with a common offset -- I can't see from this specification whether these rectangles have that

Re: Initial DRI3000 protocol specs available

2013-03-11 Thread Ian Romanick
On 02/26/2013 01:01 PM, Owen Taylor wrote: Sorry for joining the discussion late here. I went through the specs and discussion and have various comments and questions. - Owen * It would be great if we could figure out a plan to get to the point where the exact same application code is going

Re: Initial DRI3000 protocol specs available

2013-03-08 Thread James Jones
On 03/07/2013 05:17 PM, Keith Packard wrote: * PGP Signed by an unknown key James Jones jajo...@nvidia.com writes: There didn't seem to be much interest outside of NVIDIA, so besides fence sync, the ideas are tabled internally ATM. This shouldn't surprise you though -- no-one else needs

Re: Initial DRI3000 protocol specs available

2013-03-08 Thread Daniel Stone
Hi, On 7 March 2013 17:17, Keith Packard kei...@keithp.com wrote: James Jones jajo...@nvidia.com writes: There didn't seem to be much interest outside of NVIDIA, so besides fence sync, the ideas are tabled internally ATM. This shouldn't surprise you though -- no-one else needs this kind

Re: Initial DRI3000 protocol specs available

2013-03-08 Thread Kristian Høgsberg
On Fri, Mar 8, 2013 at 3:59 AM, James Jones jajo...@nvidia.com wrote: On 03/07/2013 05:17 PM, Keith Packard wrote: * PGP Signed by an unknown key James Jones jajo...@nvidia.com writes: There didn't seem to be much interest outside of NVIDIA, so besides fence sync, the ideas are tabled

Re: Initial DRI3000 protocol specs available

2013-03-07 Thread Aaron Plattner
On 03/06/2013 10:35 PM, Keith Packard wrote: * PGP Signed by an unknown key Owen Taylor otay...@redhat.com writes: A complex scheme where the compositor and the server collaborate on the implementation of SwapRegion seems fragile to me, and still doesn't get some details right - like the swap

Re: Initial DRI3000 protocol specs available

2013-03-07 Thread Keith Packard
Aaron Plattner aplatt...@nvidia.com writes: If I'm understanding this correctly, this requires the X server to receive a notification from the GPU that the swap is complete so it can send the SwapComplete event. Is there any chance this could be done with a Fence instead? The application

Re: Initial DRI3000 protocol specs available

2013-03-07 Thread Owen Taylor
On Thu, 2013-02-28 at 16:55 -0800, Keith Packard wrote: * It would be great if we could figure out a plan to get to the point where the exact same application code is going to work for proprietary and open source drivers. When you get down to the details of swap this isn't close to

Re: Initial DRI3000 protocol specs available

2013-03-07 Thread James Jones
On 03/07/2013 12:49 PM, Keith Packard wrote: * PGP Signed by an unknown key Aaron Plattner aplatt...@nvidia.com writes: If I'm understanding this correctly, this requires the X server to receive a notification from the GPU that the swap is complete so it can send the SwapComplete event. Is

Re: Initial DRI3000 protocol specs available

2013-03-07 Thread James Jones
On 03/07/2013 01:19 PM, Owen Taylor wrote: On Thu, 2013-02-28 at 16:55 -0800, Keith Packard wrote: * It would be great if we could figure out a plan to get to the point where the exact same application code is going to work for proprietary and open source drivers. When you get down to

Re: Initial DRI3000 protocol specs available

2013-03-07 Thread Keith Packard
James Jones jajo...@nvidia.com writes: If you associate an X Fence Sync with your swap operation, the driver has the option to trigger it directly from the client command stream and wake up only the applications waiting for that fence. Yeah, right now we're doing some hand-waving about

Re: Initial DRI3000 protocol specs available

2013-03-07 Thread Keith Packard
James Jones jajo...@nvidia.com writes: There didn't seem to be much interest outside of NVIDIA, so besides fence sync, the ideas are tabled internally ATM. This shouldn't surprise you though -- no-one else needs this kind of synchronization, so it's really hard for anyone to evaluate it. And,

Re: Initial DRI3000 protocol specs available

2013-03-06 Thread Keith Packard
Owen Taylor otay...@redhat.com writes: A complex scheme where the compositor and the server collaborate on the implementation of SwapRegion seems fragile to me, and still doesn't get some details right - like the swap count returned from SwapRegion. What if we made SwapRegion redirectable

Re: Initial DRI3000 protocol specs available

2013-02-28 Thread Keith Packard
Owen Taylor otay...@redhat.com writes: Sorry for joining the discussion late here. I went through the specs and discussion and have various comments and questions. Thanks for reviewing stuff, of course. You're not late at all :-) * It would be great if we could figure out a plan to get to

Re: Initial DRI3000 protocol specs available

2013-02-26 Thread Owen Taylor
Sorry for joining the discussion late here. I went through the specs and discussion and have various comments and questions. - Owen * It would be great if we could figure out a plan to get to the point where the exact same application code is going to work for proprietary and open source

Re: Initial DRI3000 protocol specs available

2013-02-26 Thread Owen Taylor
A complex scheme where the compositor and the server collaborate on the implementation of SwapRegion seems fragile to me, and still doesn't get some details right - like the swap count returned from SwapRegion. What if we made SwapRegion redirectable along the lines of ResizeRedirectMask? Since

Re: Initial DRI3000 protocol specs available

2013-02-26 Thread Keith Packard
Owen Taylor otay...@redhat.com writes: A complex scheme where the compositor and the server collaborate on the implementation of SwapRegion seems fragile to me, and still doesn't get some details right - like the swap count returned from SwapRegion. The question is whether the SwapCount is

Re: Initial DRI3000 protocol specs available

2013-02-21 Thread Chris Wilson
On Wed, Feb 20, 2013 at 10:17:56PM -0800, Keith Packard wrote: Chris Wilson ch...@chris-wilson.co.uk writes: You manage ask yourself the question I was trying to lead: how the heck does the compositor learn that the underlying graphics object has changed? It can certainly tell that the

Re: Initial DRI3000 protocol specs available

2013-02-21 Thread Michal Suchanek
On 21 February 2013 07:17, Keith Packard kei...@keithp.com wrote: Chris Wilson ch...@chris-wilson.co.uk writes: Hrm. With the current system, except for override-redirect windows, if the compositor is also the window manager, it should always know when There are compositors that are not

Re: Initial DRI3000 protocol specs available

2013-02-21 Thread Clemens Eisserer
Hi, And for Render, along with passing blobs. Yeah, I can easily imagine doing a PictureFromBuffer as well. Let's focus on Pixmaps for now and get Mesa fixed up. Passing blobs (if this means what I think it does) would be something we are looking forward for Java's XRender backend. Currently

Re: Initial DRI3000 protocol specs available

2013-02-21 Thread Keith Packard
Stéphane Marchesin stephane.marche...@gmail.com writes: With that said, I don't think it's that difficult/different. I can design a GLX extension spec and send a draft, then we can work from there. Yeah, some concrete plan for GL would be really nice to have, at least as a starting point.

Re: Initial DRI3000 protocol specs available

2013-02-21 Thread Keith Packard
Chris Wilson ch...@chris-wilson.co.uk writes: If a DRI2 client also grabs the buffer, then we have to fallback to blits. That should be fairly easy to detect and handle. So, the question is whether the NameWindowPixmap IDs are stable across pixmap replacement. I'm frankly tempted to add a new

Re: Initial DRI3000 protocol specs available

2013-02-20 Thread Stéphane Marchesin
On Tue, Feb 19, 2013 at 7:46 PM, Keith Packard kei...@keithp.com wrote: And here's the Swap extension The Swap Extension Version 1.0 2013-2-14 Keith Packard

Re: Initial DRI3000 protocol specs available

2013-02-20 Thread Chris Wilson
On Tue, Feb 19, 2013 at 07:45:09PM -0800, Keith Packard wrote: ┌─── DRI3BufferFromPixmap pixmap: PIXMAP ▶ depth: CARD8 width, height, stride: CARD16 depth, bpp: CARD8 buffer: FD └─── Errors: Pixmap, Match Pass back a direct rendering

Re: Initial DRI3000 protocol specs available

2013-02-20 Thread Chris Wilson
On Tue, Feb 19, 2013 at 07:46:22PM -0800, Keith Packard wrote: ┌─── SwapRegion destination: DRAWABLE region: REGION src-off-x,src-off-y: INT16 source: PIXMAP swap-interval: CARD32 target_msc_hi: CARD32 target_msc_lo: CARD32 divisor_hi:

Re: Initial DRI3000 protocol specs available

2013-02-20 Thread Peter Harris
On 2013-02-19 22:46, Keith Packard wrote: A.3 Protocol Events The Swap extension specifies the SwapComplete event. ┌─── SwapComplete 1 CARD8 type 1 CARD8 extension 2 CARD16 sequenceNumber

Re: Initial DRI3000 protocol specs available

2013-02-20 Thread Keith Packard
Chris Wilson ch...@chris-wilson.co.uk writes: What is the serialization for multiple clients using BufferFromPixmap? Once they've got a handle to the object, it's really up to them to serialize among themselves. We don't have any control of the underlying direct rendering infrastructure. (In

Re: Initial DRI3000 protocol specs available

2013-02-20 Thread Keith Packard
Stéphane Marchesin stephane.marche...@gmail.com writes: How would you handle atomic swaps? Multiple of these back to back? Do you want to synchronously swap multiple windows? Or swap sections From multiple back buffers? -- keith.pack...@intel.com pgpga6esDld5C.pgp Description: PGP signature

Re: Initial DRI3000 protocol specs available

2013-02-20 Thread Stéphane Marchesin
On Wed, Feb 20, 2013 at 12:01 PM, Keith Packard kei...@keithp.com wrote: Stéphane Marchesin stephane.marche...@gmail.com writes: How would you handle atomic swaps? Multiple of these back to back? Do you want to synchronously swap multiple windows? Or swap sections From multiple back buffers?

Re: Initial DRI3000 protocol specs available

2013-02-20 Thread Keith Packard
Chris Wilson ch...@chris-wilson.co.uk writes: What I don't see here is how the client instructs the server to handle a missed swap. Right, this first pass was just trying to replicate the DRI2 semantics; figuring out how to improve those seems like a good idea. From what game developers have

Re: Initial DRI3000 protocol specs available

2013-02-20 Thread Keith Packard
Peter Harris phar...@opentext.com writes: May I suggest that all new events be Generic Events? One event isn't too bad, but the legacy event space is already crowded. Yes, of course. I didn't worry too much about the encoding part, I'm afraid :-) -- keith.pack...@intel.com

Re: Initial DRI3000 protocol specs available

2013-02-20 Thread Keith Packard
Stéphane Marchesin stephane.marche...@gmail.com writes: I'm interested in two specific use cases: - Swap to an overlay and flip a crtc in an atomic fashion, As you may remember, I proposed a bunch of RandR changes to support per-CRTC pixmaps and atomic mode setting operations a while back.

Re: Initial DRI3000 protocol specs available

2013-02-20 Thread Stéphane Marchesin
On Wed, Feb 20, 2013 at 12:42 PM, Keith Packard kei...@keithp.com wrote: Stéphane Marchesin stephane.marche...@gmail.com writes: I'm interested in two specific use cases: - Swap to an overlay and flip a crtc in an atomic fashion, As you may remember, I proposed a bunch of RandR changes to

Re: Initial DRI3000 protocol specs available

2013-02-20 Thread Chris Wilson
On Wed, Feb 20, 2013 at 11:55:56AM -0800, Keith Packard wrote: Chris Wilson ch...@chris-wilson.co.uk writes: Do we need an Invalidate for when the GEM object is exchanged for the Pixmap following a Swap (or other external modifications)? I'm afraid I don't understand this question. Are

Re: Initial DRI3000 protocol specs available

2013-02-20 Thread Mario Kleiner
On 02/20/2013 09:27 PM, Keith Packard wrote: Chris Wilson ch...@chris-wilson.co.uk writes: What I don't see here is how the client instructs the server to handle a missed swap. Right, this first pass was just trying to replicate the DRI2 semantics; figuring out how to improve those seems like

Re: Initial DRI3000 protocol specs available

2013-02-20 Thread Aaron Plattner
On 02/19/13 19:45, Keith Packard wrote: * PGP Signed by an unknown key Here's the spec for DRI3: The DRI3 Extension Version 1.0 2013-2-19 Keith Packard

Re: Initial DRI3000 protocol specs available

2013-02-20 Thread Keith Packard
Chris Wilson ch...@chris-wilson.co.uk writes: You manage ask yourself the question I was trying to lead: how the heck does the compositor learn that the underlying graphics object has changed? It can certainly tell that the underlying contents have changed with Damage events, but as to how it

Re: Initial DRI3000 protocol specs available

2013-02-20 Thread Keith Packard
Aaron Plattner aplatt...@nvidia.com writes: Why is there a stride here if all it is is an indirect way of calculating a total size? If the total size is what the server cares about, then it seems like the client should just send that. I don't need the size, I need the stride. I could just

Re: Initial DRI3000 protocol specs available

2013-02-20 Thread Keith Packard
Stéphane Marchesin stephane.marche...@gmail.com writes: On Wed, Feb 20, 2013 at 12:42 PM, Keith Packard kei...@keithp.com wrote: Stéphane Marchesin stephane.marche...@gmail.com writes: I'm interested in two specific use cases: - Swap to an overlay and flip a crtc in an atomic fashion, As

Re: Initial DRI3000 protocol specs available

2013-02-20 Thread Keith Packard
Mario Kleiner mario.kleiner...@gmail.com writes: On 02/20/2013 09:27 PM, Keith Packard wrote: Chris Wilson ch...@chris-wilson.co.uk writes: What I don't see here is how the client instructs the server to handle a missed swap. Right, this first pass was just trying to replicate the DRI2

Re: Initial DRI3000 protocol specs available

2013-02-20 Thread Stéphane Marchesin
On Wed, Feb 20, 2013 at 10:50 PM, Keith Packard kei...@keithp.com wrote: Stéphane Marchesin stephane.marche...@gmail.com writes: On Wed, Feb 20, 2013 at 12:42 PM, Keith Packard kei...@keithp.com wrote: Stéphane Marchesin stephane.marche...@gmail.com writes: I'm interested in two specific use

Initial DRI3000 protocol specs available

2013-02-19 Thread Keith Packard
I've written down a preliminary description of the DRI3000 stuff and uploaded the two (yes, two) new extension specifications to git: http://keithp.com/blogs/DRI3000/ -- keith.pack...@intel.com pgpa5OQUv7Gej.pgp Description: PGP signature

Re: Initial DRI3000 protocol specs available

2013-02-19 Thread Keith Packard
Here's the spec for DRI3: The DRI3 Extension Version 1.0 2013-2-19 Keith Packard kei...@keithp.com Intel Corporation 1.

Re: Initial DRI3000 protocol specs available

2013-02-19 Thread Keith Packard
And here's the Swap extension The Swap Extension Version 1.0 2013-2-14 Keith Packard kei...@keithp.com Intel Corporation