On 01/17/2012 04:46 PM, Eric Anholt wrote:
On Tue, 17 Jan 2012 21:33:09 -0800, Kenneth Graunke<[email protected]>  
wrote:
This is inspired by the BSpec, vol2a 3D Pipeline - Overview:
3D Pipeline / 3D Pipeline State Overview / Push Constant URB Allocation.
In particular, the last paragraph.

The new VS change fixes vertex scrambling in GLBenchmark PRO; the old VS
change is just for good measure/symmetry.

NOTE: This is a candidate for stable release branches.

Signed-off-by: Kenneth Graunke<[email protected]>
---
  src/mesa/drivers/dri/i965/brw_vec4_visitor.cpp |    4 +++-
  src/mesa/drivers/dri/i965/brw_vs_emit.c        |    7 ++++++-
  2 files changed, 9 insertions(+), 2 deletions(-)

I apologize for not having a specific quote from the spec.  The text I cited
gave me the idea for the patch, but doesn't definitively say "yes, this is
required!".

vol2a 3D Pipeline, 3DSTATE_URB_VS says "512-bit URB rows", and our
gen7_urb.c math is urb_entry_size * 64 to get number of bytes, which
agrees with that usage for this field.

However, I don't see where aligning the size to an even number of
512-bit URB rows would be required.  All I came up with is the write
length alignment on VS URB messages results in writing an extra 128-bit
row per entry, which isn't enough to matter.

You're right. Nack with extreme prejudice. I believe I've found the actual problem; I'll send out the patch shortly.
_______________________________________________
mesa-dev mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to