We can easily recover it from prog, and this makes it clear that we aren't passing additional information in. v2: Use an if-statement rather than the ?: operator (suggested by Eric). Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Paul Berry <stereotype441@gmail.com>tags/gles3-fmt-v1
| @@ -2177,7 +2177,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, shader, 8); | |||
| fs_visitor v(c, prog, 8); | |||
| if (!v.run()) { | |||
| prog->LinkStatus = false; | |||
| ralloc_strcat(&prog->InfoLog, v.fail_msg); | |||
| @@ -2189,7 +2189,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, shader, 16); | |||
| fs_visitor v2(c, prog, 16); | |||
| v2.import_uniforms(&v); | |||
| if (!v2.run()) { | |||
| perf_debug("16-wide shader failed to compile, falling back to " | |||
| @@ -185,7 +185,7 @@ class fs_visitor : public backend_visitor | |||
| public: | |||
| fs_visitor(struct brw_wm_compile *c, struct gl_shader_program *prog, | |||
| struct brw_shader *shader, unsigned dispatch_width); | |||
| unsigned dispatch_width); | |||
| ~fs_visitor(); | |||
| fs_reg *variable_storage(ir_variable *var); | |||
| @@ -2175,7 +2175,7 @@ fs_visitor::resolve_bool_comparison(ir_rvalue *rvalue, fs_reg *reg) | |||
| } | |||
| fs_visitor::fs_visitor(struct brw_wm_compile *c, struct gl_shader_program *prog, | |||
| struct brw_shader *shader, unsigned dispatch_width) | |||
| unsigned dispatch_width) | |||
| : dispatch_width(dispatch_width) | |||
| { | |||
| this->c = c; | |||
| @@ -2186,7 +2186,10 @@ fs_visitor::fs_visitor(struct brw_wm_compile *c, struct gl_shader_program *prog, | |||
| this->intel = &brw->intel; | |||
| this->ctx = &intel->ctx; | |||
| this->mem_ctx = ralloc_context(NULL); | |||
| this->shader = shader; | |||
| if (prog) | |||
| shader = (struct brw_shader *) prog->_LinkedShaders[MESA_SHADER_FRAGMENT]; | |||
| else | |||
| shader = NULL; | |||
| this->failed = false; | |||
| this->variable_ht = hash_table_ctor(0, | |||
| hash_table_pointer_hash, | |||