summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKenneth Graunke <kenneth@whitecape.org>2015-11-09 01:19:30 -0800
committerKenneth Graunke <kenneth@whitecape.org>2015-11-09 01:19:30 -0800
commitae8bf3b90a854f7e3e9902547fecff6857b37ed4 (patch)
tree54febfa2c3ab93052cf52836c333e2f2e3fbb073
parent424c6201937eafd68a7ff79135eaf03799c4bcf6 (diff)
VS min URB hack
-rw-r--r--src/mesa/drivers/dri/i965/gen7_urb.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/mesa/drivers/dri/i965/gen7_urb.c b/src/mesa/drivers/dri/i965/gen7_urb.c
index 142500d6c1..73811cbd85 100644
--- a/src/mesa/drivers/dri/i965/gen7_urb.c
+++ b/src/mesa/drivers/dri/i965/gen7_urb.c
@@ -231,8 +231,10 @@ gen7_upload_urb(struct brw_context *brw)
*/
/* VS has a lower limit on the number of URB entries */
+ unsigned vs_min_entries = ts_present ? 192 : brw->urb.min_vs_entries;
+
unsigned vs_chunks =
- ALIGN(brw->urb.min_vs_entries * vs_entry_size_bytes, chunk_size_bytes) /
+ ALIGN(vs_min_entries * vs_entry_size_bytes, chunk_size_bytes) /
chunk_size_bytes;
unsigned vs_wants =
ALIGN(brw->urb.max_vs_entries * vs_entry_size_bytes,
@@ -362,12 +364,12 @@ gen7_upload_urb(struct brw_context *brw)
/* Finally, sanity check to make sure we have at least the minimum number
* of entries needed for each stage.
*/
- assert(nr_vs_entries >= brw->urb.min_vs_entries);
+ assert(nr_vs_entries >= vs_min_entries);
if (gs_present)
assert(nr_gs_entries >= 2);
if (ts_present) {
assert(nr_hs_entries >= 1);
- assert(nr_ds_entries >= 10);
+ assert(nr_ds_entries >= 34);
}
/* Gen7 doesn't actually use brw->urb.nr_{vs,gs}_entries, but it seems