summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEric Anholt <[email protected]>2012-08-31 11:41:22 -0700
committerEric Anholt <[email protected]>2012-09-17 12:32:52 -0700
commit81dff4f752af786767f74ca54f89a879f57c18a6 (patch)
treea070e476ecabd9dfce624cdf64c37afdafa4dab9 /src
parent3e165ba62cd607c1a3402b7db52789fc37b6876c (diff)
i965: Stop putting 8 NOPs after each prorgam.
As far as I can see, the intention of the requirement that we do so is to prevent instruction prefetch from wandering out into either unmapped memory or memory with a different caching type, and hanging the chip. The kernel makes sure that the page after your BO has a valid page of the same caching type, which meets this requirement, so there's no need to waste space between our programs (and in instruction cache) on this. Saves another 9kb instructions in l4d2 shaders. Acked-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/mesa/drivers/dri/i965/brw_eu.c8
1 files changed, 0 insertions, 8 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_eu.c b/src/mesa/drivers/dri/i965/brw_eu.c
index 130d801edc9..c60b16c3871 100644
--- a/src/mesa/drivers/dri/i965/brw_eu.c
+++ b/src/mesa/drivers/dri/i965/brw_eu.c
@@ -214,16 +214,8 @@ brw_init_compile(struct brw_context *brw, struct brw_compile *p, void *mem_ctx)
const GLuint *brw_get_program( struct brw_compile *p,
GLuint *sz )
{
- GLuint i;
-
brw_compact_instructions(p);
- /* We emit a cacheline (8 instructions) of NOPs at the end of the program to
- * make sure that instruction prefetch doesn't wander off into some other BO.
- */
- for (i = 0; i < 8; i++)
- brw_NOP(p);
-
*sz = p->next_insn_offset;
return (const GLuint *)p->store;
}