i965/miptree: Replace is_lossless_compressed with mt->aux_usage checks
[mesa.git] / src / mesa / drivers / dri / i965 / brw_vs.h
index 61f9b006a58e7c73b16074d2a0b324fc3211e7a4..6e052d733527068b5f99ade5361b56691c92cb31 100644 (file)
 #ifndef BRW_VS_H
 #define BRW_VS_H
 
-
 #include "brw_context.h"
-#include "brw_eu.h"
-#include "brw_vec4.h"
-#include "program/program.h"
-
-/**
- * The VF can't natively handle certain types of attributes, such as GL_FIXED
- * or most 10_10_10_2 types.  These flags enable various VS workarounds to
- * "fix" attributes at the beginning of shaders.
- */
-#define BRW_ATTRIB_WA_COMPONENT_MASK    7  /* mask for GL_FIXED scale channel count */
-#define BRW_ATTRIB_WA_NORMALIZE     8   /* normalize in shader */
-#define BRW_ATTRIB_WA_BGRA          16  /* swap r/b channels in shader */
-#define BRW_ATTRIB_WA_SIGN          32  /* interpret as signed in shader */
-#define BRW_ATTRIB_WA_SCALE         64  /* interpret as scaled in shader */
-
-struct brw_vs_compile {
-   struct brw_vec4_compile base;
-   struct brw_vs_prog_key key;
-
-   struct brw_vertex_program *vp;
-};
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
-const unsigned *brw_vs_emit(struct brw_context *brw,
-                            struct gl_shader_program *prog,
-                            struct brw_vs_compile *c,
-                            struct brw_vs_prog_data *prog_data,
-                            void *mem_ctx,
-                            unsigned *program_size);
-void brw_vs_debug_recompile(struct brw_context *brw,
-                            struct gl_shader_program *prog,
-                            const struct brw_vs_prog_key *key);
-bool brw_vs_prog_data_compare(const void *a, const void *b);
+GLbitfield64
+brw_vs_outputs_written(struct brw_context *brw, struct brw_vs_prog_key *key,
+                       GLbitfield64 outputs_written);
 
 void
 brw_upload_vs_prog(struct brw_context *brw);
 
-bool
-brw_codegen_vs_prog(struct brw_context *brw,
-                    struct gl_shader_program *prog,
-                    struct brw_vertex_program *vp,
+void
+brw_vs_populate_key(struct brw_context *brw,
                     struct brw_vs_prog_key *key);
 
 #ifdef __cplusplus
 } /* extern "C" */
-
-
-namespace brw {
-
-class vec4_vs_visitor : public vec4_visitor
-{
-public:
-   vec4_vs_visitor(const struct brw_compiler *compiler,
-                   struct brw_vs_compile *vs_compile,
-                   struct brw_vs_prog_data *vs_prog_data,
-                   struct gl_shader_program *prog,
-                   void *mem_ctx,
-                   int shader_time_index,
-                   bool use_legacy_snorm_formula);
-
-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;
-
-   bool use_legacy_snorm_formula;
-};
-
-} /* namespace brw */
-
-
 #endif
 
 #endif