[Bug 30007] Regression in r300g

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Mon Sep 13 16:39:13 PDT 2010


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

--- Comment #28 from Fredrik Höglund <fredrik at kde.org> 2010-09-13 16:39:13 PDT ---
(In reply to comment #25)
> Fredrik, thanks for the feedback. I've pushed your patch to the piglit
> repository.

Thanks.

> (In reply to comment #24)
> > Oops, I submitted before I was done.  This shader would be better, because the
> > loop could be unrolled even if kernelSize is different in each execution:
> 
> Yeah, the shader could work provided the instruction scheduler generates no
> more than 4 TEX indirections. I'd personally lean towards making kernelSize a
> compile-time constant. So instead of calling glUniform1f(kernelSize, i), let's
> call glUseProgram(shader[i]);
> 
> Fredrik, please, would it be hard to implement this in kwin?

It shouldn't be too hard, and it's actually something I've been planning to do
but never got around to before the KDE 4.5 release.

In the meantime I've committed a change that gets rid of the kernelSize uniform
 and makes the loop always do a fixed number of iterations instead (with the
unused kernel weights set to zero).

The MESA_GLSL=dump output shows that the loop is being unrolled, so with a bit
of luck the shader should be working now.

(In reply to comment #26)
> Another option for kwin would be using the shader only on GL3-capable hardware,
> because lots of GL2 hardware don't support indirect indexing.

Working well with the Mesa drivers and the hardware our users are using is
something I consider a high priority, so if we can make the shader work without
indirect indexing then I think that's the preferred approach.

Thanks to you and Tom for all the suggestions.

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


More information about the dri-devel mailing list