diff options
author | Paul Berry <[email protected]> | 2013-08-31 20:40:47 -0700 |
---|---|---|
committer | Paul Berry <[email protected]> | 2013-09-05 09:52:33 -0700 |
commit | 8f9a339c10c6a0904c0fbdfdcc7a65696d7246e9 (patch) | |
tree | 7f320364370a88e3a69574600852c783d3929398 /src/mesa/drivers | |
parent | 9dfa8ae662f522d7fb9e9be11a71a2eafc7985f0 (diff) |
i965/vs: Move vs-specific code out of brw_vec4.h.
Now brw_vec4.h contains only code that is shared between the vertex
and geometry shaders.
Acked-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/mesa/drivers')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_vec4.h | 32 | ||||
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_vs.h | 38 |
2 files changed, 38 insertions, 32 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_vec4.h b/src/mesa/drivers/dri/i965/brw_vec4.h index e9701629340..8cb884f8f2d 100644 --- a/src/mesa/drivers/dri/i965/brw_vec4.h +++ b/src/mesa/drivers/dri/i965/brw_vec4.h @@ -43,8 +43,6 @@ extern "C" { #include "glsl/ir.h" -struct brw_vs_compile; - struct brw_vec4_compile { GLuint last_scratch; /**< measured in 32-byte (register size) units */ @@ -552,36 +550,6 @@ protected: const bool debug_flag; }; -class vec4_vs_visitor : public vec4_visitor -{ -public: - vec4_vs_visitor(struct brw_context *brw, - struct brw_vs_compile *vs_compile, - struct brw_vs_prog_data *vs_prog_data, - struct gl_shader_program *prog, - struct brw_shader *shader, - void *mem_ctx); - -protected: - virtual dst_reg *make_reg_for_system_value(ir_variable *ir); - virtual void setup_payload(); - virtual void emit_prolog(); - virtual void emit_program_code(); - virtual void emit_thread_end(); - virtual void emit_urb_write_header(int mrf); - virtual vec4_instruction *emit_urb_write_opcode(bool complete); - -private: - int setup_attributes(int payload_reg); - 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); - - struct brw_vs_compile * const vs_compile; - struct brw_vs_prog_data * const vs_prog_data; - src_reg *vp_temp_regs; - src_reg vp_addr_reg; -}; /** * The vertex shader code generator. diff --git a/src/mesa/drivers/dri/i965/brw_vs.h b/src/mesa/drivers/dri/i965/brw_vs.h index 90c96b607ce..747ba6caa72 100644 --- a/src/mesa/drivers/dri/i965/brw_vs.h +++ b/src/mesa/drivers/dri/i965/brw_vs.h @@ -99,6 +99,44 @@ void brw_vs_prog_data_free(const void *in_prog_data); #ifdef __cplusplus } /* extern "C" */ + + +namespace brw { + +class vec4_vs_visitor : public vec4_visitor +{ +public: + vec4_vs_visitor(struct brw_context *brw, + struct brw_vs_compile *vs_compile, + struct brw_vs_prog_data *vs_prog_data, + struct gl_shader_program *prog, + struct brw_shader *shader, + void *mem_ctx); + +protected: + virtual dst_reg *make_reg_for_system_value(ir_variable *ir); + virtual void setup_payload(); + virtual void emit_prolog(); + virtual void emit_program_code(); + virtual void emit_thread_end(); + virtual void emit_urb_write_header(int mrf); + virtual vec4_instruction *emit_urb_write_opcode(bool complete); + +private: + int setup_attributes(int payload_reg); + 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); + + struct brw_vs_compile * const vs_compile; + struct brw_vs_prog_data * const vs_prog_data; + src_reg *vp_temp_regs; + src_reg vp_addr_reg; +}; + +} /* namespace brw */ + + #endif #endif |