dri-devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: bugzilla-daemon@freedesktop.org
To: dri-devel@lists.freedesktop.org
Subject: [Bug 43000] huge performance regression in ut2004 since 7.11
Date: Wed, 16 Nov 2011 22:25:23 +0000	[thread overview]
Message-ID: <bug-43000-502-uR0uScLq3z@http.bugs.freedesktop.org/> (raw)
In-Reply-To: <bug-43000-502@http.bugs.freedesktop.org/>

https://bugs.freedesktop.org/show_bug.cgi?id=43000

--- Comment #3 from Ian Romanick <idr@freedesktop.org> 2011-11-16 14:25:23 PST ---
If this was a recent change, I'll guess that it will bisect to my changes to
the way uniforms are handled.  I pushed a patch today that may restore previous
performance:

commit 010dc29283cfc7791a29ba8a0570d8f7f9edef05
Author: Ian Romanick <ian.d.romanick@intel.com>
Date:   Thu Nov 10 12:32:35 2011 -0800

    mesa: Only update sampler uniforms that are used by the shader stage

    Previously a vertex shader that used no samplers would get updated (by
    calling the driver's ProgramStringNotify) when a sampler in the
    fragment shader was updated.  This was discovered while investigating
    some spurious code generation for shaders in Cogs.  The behavior in
    Cogs is especially pessimal because it ping-pongs sampler uniform
    settings:

        glUniform1i(sampler1, 0);
        glUniform1i(sampler2, 1);
        draw();
        glUniform1i(sampler1, 1);
        glUniform1i(sampler2, 0);
        draw();
        glUniform1i(sampler1, 0);
        glUniform1i(sampler2, 1);
        draw();
        // etc.

    ProgramStringNotify is still too big of a hammer.  Applications like
    Cogs will still defeat the shader cache.  A lighter-weight mechanism
    that can work with the shader cache is needed.  However, this patch at
    least restores the previous behavior.

    Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
    Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

  parent reply	other threads:[~2011-11-16 22:25 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-11-16 19:37 [Bug 43000] New: huge performance regression in ut2004 since 7.11 bugzilla-daemon
2011-11-16 19:42 ` [Bug 43000] " bugzilla-daemon
2011-11-16 19:52 ` bugzilla-daemon
2011-11-16 22:25 ` bugzilla-daemon [this message]
2011-11-18 13:25 ` bugzilla-daemon
2011-11-18 15:00 ` bugzilla-daemon
2011-11-18 15:25 ` bugzilla-daemon
2011-11-18 15:51 ` bugzilla-daemon
2011-12-06 17:19 ` bugzilla-daemon

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=bug-43000-502-uR0uScLq3z@http.bugs.freedesktop.org/ \
    --to=bugzilla-daemon@freedesktop.org \
    --cc=dri-devel@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