summaryrefslogtreecommitdiff
path: root/src/sna
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2014-05-30 13:27:32 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2014-06-02 08:32:10 +0100
commit2df4466adae7f299eac3f7fd3e5f33ee4b22e53f (patch)
tree63142a0eaf55ef1da45edc8b7c33124a93d9ebac /src/sna
parent1618d6cfa63e31ebaedadf575dcbdf5b07451bde (diff)
sna/gen8: Clear all URB push constant allocations
A little paranoia to clear the unused portion of the URB and dedicate it to VS entries. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/sna')
-rw-r--r--src/sna/gen8_render.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/sna/gen8_render.c b/src/sna/gen8_render.c
index 5c22bbb9..c66f7cc7 100644
--- a/src/sna/gen8_render.c
+++ b/src/sna/gen8_render.c
@@ -410,16 +410,24 @@ static void
gen8_emit_urb(struct sna *sna)
{
#if SIM
+ OUT_BATCH(GEN8_3DSTATE_PUSH_CONSTANT_ALLOC_VS | (2 - 2));
+ OUT_BATCH(0 << PUSH_CONSTANT_BUFFER_OFFSET_SHIFT |
+ 0 << PUSH_CONSTANT_BUFFER_SIZE_SHIFT);
+
+ OUT_BATCH(GEN8_3DSTATE_PUSH_CONSTANT_ALLOC_GS | (2 - 2));
+ OUT_BATCH(0 << PUSH_CONSTANT_BUFFER_OFFSET_SHIFT |
+ 0 << PUSH_CONSTANT_BUFFER_SIZE_SHIFT);
+
OUT_BATCH(GEN8_3DSTATE_PUSH_CONSTANT_ALLOC_PS | (2 - 2));
OUT_BATCH(0 << PUSH_CONSTANT_BUFFER_OFFSET_SHIFT |
- 4 << PUSH_CONSTANT_BUFFER_SIZE_SHIFT); /* 8KiB */
+ 0 << PUSH_CONSTANT_BUFFER_SIZE_SHIFT);
#endif
/* num of VS entries must be divisible by 8 if size < 9 */
OUT_BATCH(GEN8_3DSTATE_URB_VS | (2 - 2));
- OUT_BATCH(960 << URB_ENTRY_NUMBER_SHIFT |
+ OUT_BATCH(1024 << URB_ENTRY_NUMBER_SHIFT |
(2 - 1) << URB_ENTRY_SIZE_SHIFT |
- 1 << URB_STARTING_ADDRESS_SHIFT);
+ 0 << URB_STARTING_ADDRESS_SHIFT);
OUT_BATCH(GEN8_3DSTATE_URB_HS | (2 - 2));
OUT_BATCH(0 << URB_ENTRY_SIZE_SHIFT |