On 05/02/2013 02:13 AM, Chris Wilson wrote:
On Wed, May 01, 2013 at 04:28:08PM -0700, Eric Anholt wrote:
The GPU apparently goes looking for constants even though there are no
shader stages enabled, and gets stuck because we haven't told it there are
no constants to collect.  If any other user of the 3D pipeline had run
(even the Render accel of the X server!) since power on, then the in-GPU
constant buffers would have been set up with some contents we didn't use,
and we would succeed.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=56416
NOTE: This is a candidate for the stable branches.

The collorary to this is that DynamicStateUpperBound is programmed to an
unsafe value and should be (0x7fff0000 | 1) for most of our hardware. The
actual value to program requires information not easily reported by the
kernel (just like the mappable aperture size).
-Chris

Actually, the sensible value to program is the end of the batchbuffer. Which is readily available, but requires a relocation. The reason we switched to 0xfffff001 was because programming it to the end of the batch buffer required relaxed relocation support in the kernel.

But I bumped the kernel requirements so we won't even run if the kernel doesn't support that, so we can put it back to the batch end if people think that's best.
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to