diff options
author | Kenneth Graunke <[email protected]> | 2012-11-20 19:26:52 -0800 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2012-11-26 19:52:34 -0800 |
commit | 9136723214136a95a3c915d580943c888cd99503 (patch) | |
tree | 24b2cbb1660f810212a0bf3d0ccefe6e3afdb4dc | |
parent | ea681a0d64ecde3a2e729fe3b71d3f3fe4cedff0 (diff) |
i965/fs: Move struct brw_compile (p) entirely inside fs_generator.
The brw_compile structure contains the brw_instruction store and the
brw_eu_emit.c state tracking fields. These are only useful for the
final assembly generation pass; the earlier compilation stages doesn't
need them.
This also means that the code generator for future hardware won't have
access to the brw_compile structure, which is extremely desirable
because it prevents accidental generation of Gen4-7 code.
v2: rzalloc p, as suggested by Eric.
Reviewed-by: Eric Anholt <[email protected]>
Reviewed-by: Paul Berry <[email protected]>
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_fs.cpp | 2 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_fs_emit.cpp | 4 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_fs_visitor.cpp | 1 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_shader.h | 1 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_vec4.h | 1 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_wm.h | 1 |
6 files changed, 4 insertions, 6 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp index a5708291771..f19f2752e7a 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp @@ -2133,8 +2133,6 @@ brw_wm_fs_emit(struct brw_context *brw, struct brw_wm_compile *c, bool start_busy = false; float start_time = 0; - brw_init_compile(brw, &c->func, c); - if (unlikely(INTEL_DEBUG & DEBUG_PERF)) { start_busy = (intel->batch.last_bo && drm_intel_bo_busy(intel->batch.last_bo)); diff --git a/src/mesa/drivers/dri/i965/brw_fs_emit.cpp b/src/mesa/drivers/dri/i965/brw_fs_emit.cpp index 8e03255356b..9a1f360f86a 100644 --- a/src/mesa/drivers/dri/i965/brw_fs_emit.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs_emit.cpp @@ -45,13 +45,15 @@ fs_generator::fs_generator(struct brw_context *brw, : brw(brw), c(c), prog(prog), fp(fp), dual_source_output(dual_source_output) { - p = &c->func; intel = &brw->intel; ctx = &intel->ctx; shader = prog ? prog->_LinkedShaders[MESA_SHADER_FRAGMENT] : NULL; mem_ctx = c; + + p = rzalloc(mem_ctx, struct brw_compile); + brw_init_compile(brw, p, mem_ctx); } fs_generator::~fs_generator() diff --git a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp index aa1a441a4e4..d5487093dc7 100644 --- a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp @@ -2182,7 +2182,6 @@ fs_visitor::fs_visitor(struct brw_context *brw, : dispatch_width(dispatch_width) { this->c = c; - this->p = &c->func; this->brw = brw; this->fp = fp; this->prog = prog; diff --git a/src/mesa/drivers/dri/i965/brw_shader.h b/src/mesa/drivers/dri/i965/brw_shader.h index 0abc6671134..46fe570364f 100644 --- a/src/mesa/drivers/dri/i965/brw_shader.h +++ b/src/mesa/drivers/dri/i965/brw_shader.h @@ -41,7 +41,6 @@ public: struct brw_context *brw; struct intel_context *intel; struct gl_context *ctx; - struct brw_compile *p; struct brw_shader *shader; struct gl_shader_program *prog; diff --git a/src/mesa/drivers/dri/i965/brw_vec4.h b/src/mesa/drivers/dri/i965/brw_vec4.h index f0a2417fe45..908d7d8825d 100644 --- a/src/mesa/drivers/dri/i965/brw_vec4.h +++ b/src/mesa/drivers/dri/i965/brw_vec4.h @@ -215,6 +215,7 @@ public: const struct gl_vertex_program *vp; struct brw_vs_compile *c; struct brw_vs_prog_data *prog_data; + struct brw_compile *p; char *fail_msg; bool failed; diff --git a/src/mesa/drivers/dri/i965/brw_wm.h b/src/mesa/drivers/dri/i965/brw_wm.h index 478be866fa1..a4ac3f146f7 100644 --- a/src/mesa/drivers/dri/i965/brw_wm.h +++ b/src/mesa/drivers/dri/i965/brw_wm.h @@ -77,7 +77,6 @@ struct brw_wm_prog_key { }; struct brw_wm_compile { - struct brw_compile func; struct brw_wm_prog_key key; struct brw_wm_prog_data prog_data; |