i965/vs: move ARB_vertex_program functions to vec4_vs_visitor.
authorPaul Berry <stereotype441@gmail.com>
Sat, 16 Feb 2013 04:27:03 +0000 (20:27 -0800)
committerPaul Berry <stereotype441@gmail.com>
Thu, 11 Apr 2013 16:25:25 +0000 (09:25 -0700)
This patch moves functions from vec4_visitor to vec4_vs_visitor that
deal with ARB (assembly) vertex programs.  There's no point in having
these functions in the base class since we don't intend to support
assembly programs for the GS stage.  The following functions are
moved:

- setup_vp_regs
- get_vp_dst_reg
- get_vp_src_reg

Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/brw_vec4.h
src/mesa/drivers/dri/i965/brw_vec4_vp.cpp

index 6bc0d304f12bc37faa67070d0b134b79bf88b6b0..144d29f9d7f6ca70ac55f4e80a31c9f735776d0c 100644 (file)
@@ -401,11 +401,8 @@ public:
    /** Walks an exec_list of ir_instruction and sends it through this visitor. */
    void visit_instructions(const exec_list *list);
 
-   void setup_vp_regs();
    void emit_vp_sop(uint32_t condmod, dst_reg dst,
                     src_reg src0, src_reg src1, src_reg one);
-   dst_reg get_vp_dst_reg(const prog_dst_register &dst);
-   src_reg get_vp_src_reg(const prog_src_register &src);
 
    void emit_bool_to_cond_code(ir_rvalue *ir, uint32_t *predicate);
    void emit_bool_comparison(unsigned int op, dst_reg dst, src_reg src0, src_reg src1);
@@ -505,6 +502,11 @@ protected:
    virtual void emit_prolog();
    virtual void emit_program_code();
    virtual void emit_thread_end();
+
+private:
+   void setup_vp_regs();
+   dst_reg get_vp_dst_reg(const prog_dst_register &dst);
+   src_reg get_vp_src_reg(const prog_src_register &src);
 };
 
 /**
index abb64ed493875a99a31786bf49fd224895d208c4..3f1d3a7b34fea38f03bc3fda323fe2e534ed249f 100644 (file)
@@ -420,7 +420,7 @@ vec4_vs_visitor::emit_program_code()
 }
 
 void
-vec4_visitor::setup_vp_regs()
+vec4_vs_visitor::setup_vp_regs()
 {
    /* PROGRAM_TEMPORARY */
    int num_temp = prog->NumTemporaries;
@@ -464,7 +464,7 @@ vec4_visitor::setup_vp_regs()
 }
 
 dst_reg
-vec4_visitor::get_vp_dst_reg(const prog_dst_register &dst)
+vec4_vs_visitor::get_vp_dst_reg(const prog_dst_register &dst)
 {
    dst_reg result;
 
@@ -498,7 +498,7 @@ vec4_visitor::get_vp_dst_reg(const prog_dst_register &dst)
 }
 
 src_reg
-vec4_visitor::get_vp_src_reg(const prog_src_register &src)
+vec4_vs_visitor::get_vp_src_reg(const prog_src_register &src)
 {
    struct gl_program_parameter_list *plist = c->vp->program.Base.Parameters;