From: Peter Clifton <pcjc2@cam.ac.uk>
To: "intel-gfx@lists.freedesktop.org" <intel-gfx@lists.freedesktop.org>
Subject: intel_prepare_render(intel); unhelpful?
Date: Sun, 31 Oct 2010 01:15:34 +0000 [thread overview]
Message-ID: <1288487734.3762.12.camel@pcjc2lap> (raw)
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 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?
if (intel->need_throttle && intel->first_post_swapbuffers_batch) {
drm_intel_bo_wait_rendering(intel->first_post_swapbuffers_batch);
drm_intel_bo_unreference(intel->first_post_swapbuffers_batch);
intel->first_post_swapbuffers_batch = NULL;
intel->need_throttle = GL_FALSE;
}
Actually, bypassing it doesn't seem to have much / any positive effect,
(although I thought I got one the first time I tried it). Never mind.
--
Peter Clifton
Electrical Engineering Division,
Engineering Department,
University of Cambridge,
9, JJ Thomson Avenue,
Cambridge
CB3 0FA
Tel: +44 (0)7729 980173 - (No signal in the lab!)
Tel: +44 (0)1223 748328 - (Shared lab phone, ask for me)
next reply other threads:[~2010-10-31 1:15 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-31 1:15 Peter Clifton [this message]
2010-11-01 3:54 ` intel_prepare_render(intel); unhelpful? Eric Anholt
2010-11-01 19:20 ` Peter Clifton
2010-11-01 19:52 ` Peter Clifton
2010-11-01 20:17 ` Eric Anholt
[not found] ` <1288645484.2714.2.camel@pcjc2lap>
[not found] ` <874oc0203e.fsf@pollan.anholt.net>
2010-11-01 22:19 ` Peter Clifton
2010-11-02 15:40 ` Eric Anholt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1288487734.3762.12.camel@pcjc2lap \
--to=pcjc2@cam.ac.uk \
--cc=intel-gfx@lists.freedesktop.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox