This is using multiple inheritance in C++. However, ir_visitor is really
just an interface with no data so it shouldn't be so bad.
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
*
* Translates either GLSL IR or Mesa IR (for ARB_fragment_program) into FS IR.
*/
-class fs_visitor : public backend_shader
+class fs_visitor : public backend_shader, public ir_visitor
{
public:
const fs_reg reg_null_f;
SCHEDULE_POST,
};
-class backend_shader : public ir_visitor {
+class backend_shader {
protected:
backend_shader(struct brw_context *brw,
* Translates either GLSL IR or Mesa IR (for ARB_vertex_program and
* fixed-function) into VS IR.
*/
-class vec4_visitor : public backend_shader
+class vec4_visitor : public backend_shader, public ir_visitor
{
public:
vec4_visitor(struct brw_context *brw,