Merge remote branch 'origin/master' into pipe-video
[mesa.git] / src / gallium / drivers / r600 / r600_asm.h
index 259b264e4d95f8468772fe3e0d8bce410481c89a..453c29790c158b68309f7b73b64a983ddef60aa7 100644 (file)
@@ -34,7 +34,7 @@ struct r600_bc_alu_src {
        unsigned                        neg;
        unsigned                        abs;
        unsigned                        rel;
-       u32                             *value;
+       uint32_t                        value;
 };
 
 struct r600_bc_alu_dst {
@@ -108,15 +108,19 @@ struct r600_bc_vtx {
 struct r600_bc_output {
        unsigned                        array_base;
        unsigned                        type;
-       unsigned                        end_of_program;
-       unsigned                        inst;
        unsigned                        elem_size;
        unsigned                        gpr;
        unsigned                        swizzle_x;
        unsigned                        swizzle_y;
        unsigned                        swizzle_z;
        unsigned                        swizzle_w;
-       unsigned                        barrier;
+       unsigned                        burst_count;
+};
+
+struct r600_bc_kcache {
+       unsigned                        bank;
+       unsigned                        mode;
+       unsigned                        addr;
 };
 
 struct r600_bc_cf {
@@ -128,12 +132,8 @@ struct r600_bc_cf {
        unsigned                        cond;
        unsigned                        pop_count;
        unsigned                        cf_addr; /* control flow addr */
-       unsigned                        kcache0_mode;
-       unsigned                        kcache1_mode;
-       unsigned                        kcache0_addr;
-       unsigned                        kcache1_addr;
-       unsigned                        kcache0_bank;
-       unsigned                        kcache1_bank;
+       unsigned                        barrier;
+       struct r600_bc_kcache           kcache[2];
        unsigned                        r6xx_uses_waterfall;
        struct list_head                alu;
        struct list_head                tex;
@@ -201,8 +201,6 @@ int r600_bc_add_cfinst(struct r600_bc *bc, int inst);
 int r600_bc_add_alu_type(struct r600_bc *bc, const struct r600_bc_alu *alu, int type);
 void r600_bc_special_constants(u32 value, unsigned *sel, unsigned *neg);
 void r600_bc_dump(struct r600_bc *bc);
-void r600_cf_vtx(struct r600_vertex_element *ve, u32 *bytecode, unsigned count);
-void r600_cf_vtx_tc(struct r600_vertex_element *ve, u32 *bytecode, unsigned count);
 
 int r600_vertex_elements_build_fetch_shader(struct r600_pipe_context *rctx, struct r600_vertex_element *ve);