gallium: remove PIPE_CAP_USER_CONSTANT_BUFFERS
[mesa.git] / src / gallium / drivers / r600 / sb / sb_shader.h
index aa71d542aad2925045ebd1e748a32143c6bd51fe..70bea891b76ede8278c8435c9aa53ee5549a4a4a 100644 (file)
@@ -71,6 +71,16 @@ enum chunk_flags {
        RCF_PREALLOC = (1 << 4)
 };
 
+enum dce_flags {
+       DF_REMOVE_DEAD  = (1 << 0),
+       DF_REMOVE_UNUSED = (1 << 1),
+       DF_EXPAND = (1 << 2),
+};
+
+inline dce_flags operator |(dce_flags l, dce_flags r) {
+       return (dce_flags)((unsigned)l|(unsigned)r);
+}
+
 inline chunk_flags operator |(chunk_flags l, chunk_flags r) {
        return (chunk_flags)((unsigned)l|(unsigned)r);
 }
@@ -113,7 +123,7 @@ typedef std::vector<ra_chunk*> chunk_vector;
 
 class ra_constraint {
 public:
-       ra_constraint(constraint_kind kind) : kind(kind) {}
+       ra_constraint(constraint_kind kind) : kind(kind), cost(0) {}
 
        constraint_kind kind;
        vvec values;
@@ -271,7 +281,6 @@ public:
 
        error_map errors;
 
-       bool enable_dump;
        bool optimized;
 
        unsigned id;
@@ -294,9 +303,13 @@ public:
        bool has_alu_predication;
        bool uses_gradients;
 
+       bool safe_math;
+
        unsigned ngpr, nstack;
 
-       shader(sb_context &sctx, shader_target t, unsigned id, bool dump);
+       unsigned dce_flags;
+
+       shader(sb_context &sctx, shader_target t, unsigned id);
 
        ~shader();
 
@@ -310,12 +323,12 @@ public:
 
 
        value* get_special_ro_value(unsigned sel);
-       value* get_kcache_value(unsigned bank, unsigned index, unsigned chan);
+       value* get_kcache_value(unsigned bank, unsigned index, unsigned chan, alu_kcache_index_mode index_mode);
 
        value* get_value_version(value* v, unsigned ver);
 
        void init();
-       void add_gpr_values(vvec& vec, unsigned gpr, unsigned comp_mask, bool src);
+       void add_pinned_gpr_values(vvec& vec, unsigned gpr, unsigned comp_mask, bool src);
 
        void dump_ir();
 
@@ -366,8 +379,6 @@ public:
        alu_node* create_mov(value* dst, value* src);
        alu_node* create_copy_mov(value *dst, value *src, unsigned affcost = 1);
 
-       const char * get_hw_class_name();
-       const char * get_hw_chip_name();
        const char * get_shader_target_name();
 
        std::string get_full_target_name();