From: Kenneth Graunke Date: Tue, 20 Nov 2012 22:46:56 +0000 (-0800) Subject: i965/fs: Pass the brw_context pointer into fs_visitor explicitly. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3417b2f2b249d89fc71379bfc0eaa1055de365ba;p=mesa.git i965/fs: Pass the brw_context pointer into fs_visitor explicitly. We used to steal it out of the brw_compile struct...but fs_visitor isn't going to have one of those in the future. Reviewed-by: Eric Anholt Reviewed-by: Paul Berry --- diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp index 638fbed33dc..6b19d1b908e 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp @@ -2178,7 +2178,7 @@ brw_wm_fs_emit(struct brw_context *brw, struct brw_wm_compile *c, /* Now the main event: Visit the shader IR and generate our FS IR for it. */ - fs_visitor v(c, prog, fp, 8); + fs_visitor v(brw, c, prog, fp, 8); if (!v.run()) { prog->LinkStatus = false; ralloc_strcat(&prog->InfoLog, v.fail_msg); @@ -2190,7 +2190,7 @@ brw_wm_fs_emit(struct brw_context *brw, struct brw_wm_compile *c, } if (intel->gen >= 5 && c->prog_data.nr_pull_params == 0) { - fs_visitor v2(c, prog, fp, 16); + fs_visitor v2(brw, c, prog, fp, 16); v2.import_uniforms(&v); if (!v2.run()) { perf_debug("16-wide shader failed to compile, falling back to " diff --git a/src/mesa/drivers/dri/i965/brw_fs.h b/src/mesa/drivers/dri/i965/brw_fs.h index 85078254748..8225e66eaa8 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.h +++ b/src/mesa/drivers/dri/i965/brw_fs.h @@ -184,7 +184,8 @@ class fs_visitor : public backend_visitor { public: - fs_visitor(struct brw_wm_compile *c, + fs_visitor(struct brw_context *brw, + struct brw_wm_compile *c, struct gl_shader_program *prog, struct gl_fragment_program *fp, unsigned dispatch_width); diff --git a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp index 6408bc8b445..aa1a441a4e4 100644 --- a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp @@ -2174,7 +2174,8 @@ fs_visitor::resolve_bool_comparison(ir_rvalue *rvalue, fs_reg *reg) *reg = temp; } -fs_visitor::fs_visitor(struct brw_wm_compile *c, +fs_visitor::fs_visitor(struct brw_context *brw, + struct brw_wm_compile *c, struct gl_shader_program *prog, struct gl_fragment_program *fp, unsigned dispatch_width) @@ -2182,7 +2183,7 @@ fs_visitor::fs_visitor(struct brw_wm_compile *c, { this->c = c; this->p = &c->func; - this->brw = p->brw; + this->brw = brw; this->fp = fp; this->prog = prog; this->intel = &brw->intel;