From 9bb6840b28a9a77377d437198c62d705cade5370 Mon Sep 17 00:00:00 2001 From: Paul Berry Date: Sun, 17 Feb 2013 11:25:37 -0800 Subject: i965/vs: Generalize data structures pointed to by vec4_generator. 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 v2: Use the name "prog" rather than "p". Reviewed-by: Eric Anholt Reviewed-by: Kenneth Graunke --- 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 3148f308d31..693f1dd872f 100644 --- a/src/mesa/drivers/dri/i965/brw_vec4.cpp +++ b/src/mesa/drivers/dri/i965/brw_vec4.cpp @@ -1539,7 +1539,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 152e4078a69..d56e68b4972 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(); @@ -583,11 +583,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 9f985b0b8ad..4fec4e49bf6 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; @@ -710,7 +709,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); } } @@ -728,7 +727,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); } -- cgit v1.2.3