OSDN Git Service

r600/shader: move get_temp and last_instruction helpers up
authorDave Airlie <airlied@redhat.com>
Mon, 30 Nov 2015 05:10:51 +0000 (15:10 +1000)
committerDave Airlie <airlied@redhat.com>
Sun, 6 Dec 2015 23:59:01 +0000 (09:59 +1000)
These are required for tess to be used earlier.

Signed-off-by: Dave Airlie <airlied@redhat.com>
src/gallium/drivers/r600/r600_shader.c

index 4d59af2..284eeea 100644 (file)
@@ -354,6 +354,18 @@ static void r600_bytecode_src(struct r600_bytecode_alu_src *bc_src,
                        const struct r600_shader_src *shader_src,
                        unsigned chan);
 
+static int tgsi_last_instruction(unsigned writemask)
+{
+       int i, lasti = 0;
+
+       for (i = 0; i < 4; i++) {
+               if (writemask & (1 << i)) {
+                       lasti = i;
+               }
+       }
+       return lasti;
+}
+
 static int tgsi_is_supported(struct r600_shader_ctx *ctx)
 {
        struct tgsi_full_instruction *i = &ctx->parse.FullToken.FullInstruction;
@@ -659,6 +671,11 @@ static inline int get_address_file_reg(struct r600_shader_ctx *ctx, int index)
        return index > 0 ? ctx->bc->index_reg[index - 1] : ctx->bc->ar_reg;
 }
 
+static int r600_get_temp(struct r600_shader_ctx *ctx)
+{
+       return ctx->temp_reg + ctx->max_driver_temp_used++;
+}
+
 static int vs_add_primid_output(struct r600_shader_ctx *ctx, int prim_id_sid)
 {
        int i;
@@ -826,11 +843,6 @@ static int tgsi_declaration(struct r600_shader_ctx *ctx)
        return 0;
 }
 
-static int r600_get_temp(struct r600_shader_ctx *ctx)
-{
-       return ctx->temp_reg + ctx->max_driver_temp_used++;
-}
-
 static int allocate_system_value_inputs(struct r600_shader_ctx *ctx, int gpr_offset)
 {
        struct tgsi_parse_context parse;
@@ -2767,20 +2779,6 @@ static void tgsi_dst(struct r600_shader_ctx *ctx,
        }
 }
 
-static int tgsi_last_instruction(unsigned writemask)
-{
-       int i, lasti = 0;
-
-       for (i = 0; i < 4; i++) {
-               if (writemask & (1 << i)) {
-                       lasti = i;
-               }
-       }
-       return lasti;
-}
-
-
-
 static int tgsi_op2_64_params(struct r600_shader_ctx *ctx, bool singledest, bool swap)
 {
        struct tgsi_full_instruction *inst = &ctx->parse.FullToken.FullInstruction;