/* 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);
}
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 "
{
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);
*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;