[Mesa-dev] [PATCH 07/12] i965/fs: Pass the brw_context pointer into fs_visitor explicitly.
Kenneth Graunke
kenneth at whitecape.org
Tue Nov 20 21:40:15 PST 2012
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.
---
src/mesa/drivers/dri/i965/brw_fs.cpp | 4 ++--
src/mesa/drivers/dri/i965/brw_fs.h | 3 ++-
src/mesa/drivers/dri/i965/brw_fs_visitor.cpp | 5 +++--
3 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp
index 638fbed..6b19d1b 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 2e49ca1..cd3b4ca 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 69a9cca..e21c2f9 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp
@@ -2174,14 +2174,15 @@ 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)
{
this->c = c;
this->p = &c->func;
- this->brw = p->brw;
+ this->brw = brw;
this->fp = fp;
this->prog = prog;
this->intel = &brw->intel;
--
1.8.0
More information about the mesa-dev
mailing list