From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jesse Barnes Subject: Re: [RFC] swap event handling fixes Date: Mon, 2 May 2011 13:09:03 -0700 Message-ID: <20110502130903.0ad290ef@jbarnes-desktop> References: <1304022442-8070-1-git-send-email-jbarnes@virtuousgeek.org> <20110429143714.517e0f67@jbarnes-desktop> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from oproxy8-pub.bluehost.com (oproxy8-pub.bluehost.com [69.89.22.20]) by gabe.freedesktop.org (Postfix) with SMTP id 42FC49E776 for ; Mon, 2 May 2011 13:15:48 -0700 (PDT) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org Errors-To: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org To: Mario Kleiner Cc: xorg-devel@lists.freedesktop.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org On Sat, 30 Apr 2011 01:10:27 +0200 Mario Kleiner wrote: > > On Apr 29, 2011, at 11:37 PM, Jesse Barnes wrote: > > > On Thu, 28 Apr 2011 13:27:18 -0700 > > Jesse Barnes wrote: > > > >> I obviously failed to count the swap event structure size after > >> adding > >> and removing fields a few times, and didn't even account for > >> padding. The > >> end result is that clients today won't receive the sbc_lo field at > >> all, > >> and so will likely stuff junk into that field on the client side (or > >> zero at best). > >> > >> This patchset fixes up the structure definitions, bumps the proto > >> levels, and adds server and client handling code for it all. It > >> should > >> be forward and backward compatible, but as always review and testing > >> appreciated. > >> > >> I think the event_type checking on the client side still needs work; > >> the field is split now so I need to check the right one on old > >> servers. > >> I'll also add swap support for the new requests in case people > >> ever want > >> to run this stuff between big and little endian machines. > > > > Btw, I've been trying to test these fixes but I can't make the > > existing > > code break; I'm getting a nicely incrementing sbc count using the > > piglit event test (after adding some code to dump the swap event > > fields), so somehow the bits are getting through. I just don't know > > how yet... > > > > One thing you could try as another quick test is to use xtrace on a > opengl app. I remember seeing weird results for the msc or ust fields > (i believe) of decoded and printed DRI2SwapComplete events. I always > thought part of my toolchain was just out of sync, but maybe it was > just the result of the wrong size/padding. What I'm seeing is a result of whatever xlib sticks in that space I think. Now I'm seeing bogus values and am testing the fix. However, for the GLX event, I will have to use a new generic event, since the GLX event types are larger than 8 bits due to the way GLX enumerates things. For DRI2 I can re-pack the existing structure. Will post updated patches soon. -- Jesse Barnes, Intel Open Source Technology Center