This patch removes the following field from vec4_generator, since it
is not used:

- struct brw_vs_compile *c

And changes the following field:

- struct gl_vertex_program *vp => struct gl_program *prog

With these changes, vec4_generator no longer refers to any VS-specific
data structures.  This will pave the way for re-using it for geometry
shaders.

Reviewed-by: Jordan Justen <jordan.l.jus...@intel.com>

v2: Use the name "prog" rather than "p".
---
 src/mesa/drivers/dri/i965/brw_vec4.cpp      | 2 +-
 src/mesa/drivers/dri/i965/brw_vec4.h        | 5 ++---
 src/mesa/drivers/dri/i965/brw_vec4_emit.cpp | 9 ++++-----
 3 files changed, 7 insertions(+), 9 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_vec4.cpp 
b/src/mesa/drivers/dri/i965/brw_vec4.cpp
index 9026501..b366036 100644
--- a/src/mesa/drivers/dri/i965/brw_vec4.cpp
+++ b/src/mesa/drivers/dri/i965/brw_vec4.cpp
@@ -1526,7 +1526,7 @@ brw_vs_emit(struct brw_context *brw,
       return NULL;
    }
 
-   vec4_generator g(brw, c, prog, mem_ctx);
+   vec4_generator g(brw, prog, &c->vp->program.Base, mem_ctx);
    const unsigned *generated =g.generate_assembly(&v.instructions,
                                                   final_assembly_size);
 
diff --git a/src/mesa/drivers/dri/i965/brw_vec4.h 
b/src/mesa/drivers/dri/i965/brw_vec4.h
index dca6a55..0c9fb70 100644
--- a/src/mesa/drivers/dri/i965/brw_vec4.h
+++ b/src/mesa/drivers/dri/i965/brw_vec4.h
@@ -523,8 +523,8 @@ class vec4_generator
 {
 public:
    vec4_generator(struct brw_context *brw,
-                  struct brw_vs_compile *c,
                   struct gl_shader_program *shader_prog,
+                  struct gl_program *prog,
                   void *mem_ctx);
    ~vec4_generator();
 
@@ -579,11 +579,10 @@ private:
    struct gl_context *ctx;
 
    struct brw_compile *p;
-   struct brw_vs_compile *c;
 
    struct gl_shader_program *shader_prog;
    struct gl_shader *shader;
-   const struct gl_vertex_program *vp;
+   const struct gl_program *prog;
 
    void *mem_ctx;
 };
diff --git a/src/mesa/drivers/dri/i965/brw_vec4_emit.cpp 
b/src/mesa/drivers/dri/i965/brw_vec4_emit.cpp
index 1c99d6a..fc00cb3 100644
--- a/src/mesa/drivers/dri/i965/brw_vec4_emit.cpp
+++ b/src/mesa/drivers/dri/i965/brw_vec4_emit.cpp
@@ -133,13 +133,12 @@ vec4_instruction::get_src(int i)
 }
 
 vec4_generator::vec4_generator(struct brw_context *brw,
-                               struct brw_vs_compile *c,
                                struct gl_shader_program *shader_prog,
+                               struct gl_program *prog,
                                void *mem_ctx)
-   : brw(brw), c(c), shader_prog(shader_prog), mem_ctx(mem_ctx)
+   : brw(brw), shader_prog(shader_prog), prog(prog), mem_ctx(mem_ctx)
 {
    intel = &brw->intel;
-   vp = &c->vp->program;
 
    shader = shader_prog ? shader_prog->_LinkedShaders[MESA_SHADER_VERTEX] : 
NULL;
 
@@ -699,7 +698,7 @@ vec4_generator::generate_code(exec_list *instructions)
       if (shader) {
          printf("Native code for vertex shader %d:\n", shader_prog->Name);
       } else {
-         printf("Native code for vertex program %d:\n", 
c->vp->program.Base.Id);
+         printf("Native code for vertex program %d:\n", prog->Id);
       }
    }
 
@@ -717,7 +716,7 @@ vec4_generator::generate_code(exec_list *instructions)
                } else {
                   const prog_instruction *vpi;
                   vpi = (const prog_instruction *) inst->ir;
-                  printf("%d: ", (int)(vpi - vp->Base.Instructions));
+                  printf("%d: ", (int)(vpi - prog->Instructions));
                   _mesa_fprint_instruction_opt(stdout, vpi, 0,
                                                PROG_PRINT_DEBUG, NULL);
                }
-- 
1.8.2.1

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to