On Sun, 31 Oct 2010 01:15:34 +0000, Peter Clifton <pc...@cam.ac.uk> wrote:
> Hi guys,
> 
> I was just poking around looking for somewhere quick and dirty to shove
> my new experimental DRM IOCTL for retrieving IDLE data from the GPU. I
> was looking at the various breakpoints in the debugger, and found
> intel_prepare_render() being called more often than I'd like.
> 
> For instance, in intelClear() we call it - AIUI, flushing rendering
> before code execution continues. Nasty ;(

I don't see flushing in intel_prepare_render() unless you're using
frontbuffer rendering, which you shouldn't be.

> I use glClear many times per frame on the stencil buffer, which always
> ends up hitting the 3D engine for the clear (even normal colour buffer
> clear seems to hit that path too, as BLIT can't do the correct kind of
> tiling IIRC?)
> 
> If we can pre-determine we will use the 3D engine, presumably all the
> state-changes in _mesa_meta_clear() will end up pipelined?
> 
> In a non-statistically correct sample test run of one benchmark
> iteration each.. blindly commenting the intel_prepare_render() call gave
> me 27.7fps -> 29.8fps.
> 
> 
> 
> I also noted that I'm hitting a path in intel_prepare_render which
> throttles, even with vblank_mode=0. Why does it have to do this?

Because otherwise, many apps out there will dump frames out to the GPU
as fast as possible, which will bottleneck, and interactivity of the
application (input reactions happen N frames later) and the X Server (it
can't get any rendering out, because the app has hogged the GPU for the
next few seconds) is ruined.

Now, this version of the code has bothered me, since apps that execute
in one batchbuffer should end up getting overly penalized.  See
intel-throttle-hack of my mesa tree for a possible fix.

Attachment: pgplGpK7H3irD.pgp
Description: PGP signature

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to