[Mesa-dev] [PATCH 2/5] i965: Make fs/vec4_visitor inherit from ir_visitor directly

Jason Ekstrand jason at jlekstrand.net
Wed May 20 11:09:03 PDT 2015


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.
---
 src/mesa/drivers/dri/i965/brw_fs.h     | 2 +-
 src/mesa/drivers/dri/i965/brw_shader.h | 2 +-
 src/mesa/drivers/dri/i965/brw_vec4.h   | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_fs.h b/src/mesa/drivers/dri/i965/brw_fs.h
index f63b149..6f16c31 100644
--- a/src/mesa/drivers/dri/i965/brw_fs.h
+++ b/src/mesa/drivers/dri/i965/brw_fs.h
@@ -66,7 +66,7 @@ namespace brw {
  *
  * 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;
diff --git a/src/mesa/drivers/dri/i965/brw_shader.h b/src/mesa/drivers/dri/i965/brw_shader.h
index ac9acfc..da01d2f 100644
--- a/src/mesa/drivers/dri/i965/brw_shader.h
+++ b/src/mesa/drivers/dri/i965/brw_shader.h
@@ -211,7 +211,7 @@ enum instruction_scheduler_mode {
    SCHEDULE_POST,
 };
 
-class backend_shader : public ir_visitor {
+class backend_shader {
 protected:
 
    backend_shader(struct brw_context *brw,
diff --git a/src/mesa/drivers/dri/i965/brw_vec4.h b/src/mesa/drivers/dri/i965/brw_vec4.h
index f781343..06a16a4 100644
--- a/src/mesa/drivers/dri/i965/brw_vec4.h
+++ b/src/mesa/drivers/dri/i965/brw_vec4.h
@@ -73,7 +73,7 @@ class vec4_live_variables;
  * 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,
-- 
2.4.1



More information about the mesa-dev mailing list