diff options
author | Paul Berry <stereotype441@gmail.com> | 2013-10-16 12:13:20 -0700 |
---|---|---|
committer | Paul Berry <stereotype441@gmail.com> | 2013-10-24 22:00:43 -0700 |
commit | 34cba13ef822faebbb1f10f1400f87fa9bf70d60 (patch) | |
tree | b3a8a39d9f0ec2c96f4b9505585a9a2fab545ce5 /src/mesa/drivers/dri/i965/brw_vec4_gs_visitor.cpp | |
parent | 89647cffb31ee1ea42d581b1053b4bb147b3e58a (diff) | |
download | external_mesa3d-34cba13ef822faebbb1f10f1400f87fa9bf70d60.zip external_mesa3d-34cba13ef822faebbb1f10f1400f87fa9bf70d60.tar.gz external_mesa3d-34cba13ef822faebbb1f10f1400f87fa9bf70d60.tar.bz2 |
i965/vec4: Add the ability to suppress register spilling.
In future patches, this will allow us to first try compiling a
geometry shader in DUAL_OBJECT mode (which is more efficient but uses
more registers) and then if spilling is required, fall back on
DUAL_INSTANCED mode.
Reviewed-by: Eric Anholt <eric@anholt.net>
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_vec4_gs_visitor.cpp')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_vec4_gs_visitor.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_vec4_gs_visitor.cpp b/src/mesa/drivers/dri/i965/brw_vec4_gs_visitor.cpp index 08a55a3..a44f593 100644 --- a/src/mesa/drivers/dri/i965/brw_vec4_gs_visitor.cpp +++ b/src/mesa/drivers/dri/i965/brw_vec4_gs_visitor.cpp @@ -37,10 +37,11 @@ vec4_gs_visitor::vec4_gs_visitor(struct brw_context *brw, struct brw_gs_compile *c, struct gl_shader_program *prog, struct brw_shader *shader, - void *mem_ctx) + void *mem_ctx, + bool no_spills) : vec4_visitor(brw, &c->base, &c->gp->program.Base, &c->key.base, &c->prog_data.base, prog, shader, mem_ctx, - INTEL_DEBUG & DEBUG_GS), + INTEL_DEBUG & DEBUG_GS, no_spills), c(c) { } @@ -533,7 +534,7 @@ brw_gs_emit(struct brw_context *brw, printf("\n\n"); } - vec4_gs_visitor v(brw, c, prog, shader, mem_ctx); + vec4_gs_visitor v(brw, c, prog, shader, mem_ctx, false /* no_spills */); if (!v.run()) { prog->LinkStatus = false; ralloc_strcat(&prog->InfoLog, v.fail_msg); |