ac/nir: remove last remnants of v16i8
authorDave Airlie <airlied@redhat.com>
Wed, 28 Jun 2017 19:14:58 +0000 (20:14 +0100)
committerDave Airlie <airlied@redhat.com>
Wed, 28 Jun 2017 19:22:30 +0000 (20:22 +0100)
llvm doesn't need this workaround anymore.

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Signed-off-by: Dave Airlie <airlied@redhat.com>
src/amd/common/ac_llvm_build.c
src/amd/common/ac_llvm_build.h
src/amd/common/ac_nir_to_llvm.c

index 9d78b12..2cc4eae 100644 (file)
@@ -65,7 +65,6 @@ ac_llvm_context_init(struct ac_llvm_context *ctx, LLVMContextRef context)
        ctx->v4i32 = LLVMVectorType(ctx->i32, 4);
        ctx->v4f32 = LLVMVectorType(ctx->f32, 4);
        ctx->v8i32 = LLVMVectorType(ctx->i32, 8);
-       ctx->v16i8 = LLVMVectorType(ctx->i8, 16);
 
        ctx->i32_0 = LLVMConstInt(ctx->i32, 0, false);
        ctx->i32_1 = LLVMConstInt(ctx->i32, 1, false);
index b9aeacd..10efabb 100644 (file)
@@ -49,7 +49,6 @@ struct ac_llvm_context {
        LLVMTypeRef v4i32;
        LLVMTypeRef v4f32;
        LLVMTypeRef v8i32;
-       LLVMTypeRef v16i8;
 
        LLVMValueRef i32_0;
        LLVMValueRef i32_1;
index 68f0218..2c5557c 100644 (file)
@@ -136,7 +136,6 @@ struct nir_to_llvm_context {
        LLVMTypeRef f16;
        LLVMTypeRef v2f32;
        LLVMTypeRef v4f32;
-       LLVMTypeRef v16i8;
        LLVMTypeRef voidt;
 
        LLVMValueRef i1true;
@@ -715,7 +714,7 @@ static void create_function(struct nir_to_llvm_context *ctx)
 
        allocate_user_sgprs(ctx, &user_sgpr_info);
        if (user_sgpr_info.need_ring_offsets && !ctx->options->supports_spill) {
-               add_user_sgpr_argument(&args, const_array(ctx->v16i8, 16), &ctx->ring_offsets); /* address of rings */
+               add_user_sgpr_argument(&args, const_array(ctx->v4i32, 16), &ctx->ring_offsets); /* address of rings */
        }
 
        /* 1 for each descriptor set */
@@ -744,7 +743,7 @@ static void create_function(struct nir_to_llvm_context *ctx)
        case MESA_SHADER_VERTEX:
                if (!ctx->is_gs_copy_shader) {
                        if (ctx->shader_info->info.vs.has_vertex_buffers)
-                               add_user_sgpr_argument(&args, const_array(ctx->v16i8, 16), &ctx->vertex_buffers); /* vertex buffers */
+                               add_user_sgpr_argument(&args, const_array(ctx->v4i32, 16), &ctx->vertex_buffers); /* vertex buffers */
                        add_user_sgpr_argument(&args, ctx->i32, &ctx->base_vertex); // base vertex
                        add_user_sgpr_argument(&args, ctx->i32, &ctx->start_instance);// start instance
                        if (ctx->shader_info->info.vs.needs_draw_id)
@@ -853,7 +852,7 @@ static void create_function(struct nir_to_llvm_context *ctx)
                                                               LLVMPointerType(ctx->i8, CONST_ADDR_SPACE),
                                                               NULL, 0, AC_FUNC_ATTR_READNONE);
                        ctx->ring_offsets = LLVMBuildBitCast(ctx->builder, ctx->ring_offsets,
-                                                            const_array(ctx->v16i8, 16), "");
+                                                            const_array(ctx->v4i32, 16), "");
                }
        }
 
@@ -945,7 +944,6 @@ static void setup_types(struct nir_to_llvm_context *ctx)
        ctx->f64 = LLVMDoubleTypeInContext(ctx->context);
        ctx->v2f32 = LLVMVectorType(ctx->f32, 2);
        ctx->v4f32 = LLVMVectorType(ctx->f32, 4);
-       ctx->v16i8 = LLVMVectorType(ctx->i8, 16);
 
        ctx->i1false = LLVMConstInt(ctx->i1, 0, false);
        ctx->i1true = LLVMConstInt(ctx->i1, 1, false);
@@ -5875,8 +5873,6 @@ ac_setup_rings(struct nir_to_llvm_context *ctx)
                tmp = LLVMBuildExtractElement(ctx->builder, ctx->gsvs_ring, ctx->i32one, "");
                tmp = LLVMBuildOr(ctx->builder, tmp, ctx->gsvs_ring_stride, "");
                ctx->gsvs_ring = LLVMBuildInsertElement(ctx->builder, ctx->gsvs_ring, tmp, ctx->i32one, "");
-
-               ctx->gsvs_ring = LLVMBuildBitCast(ctx->builder, ctx->gsvs_ring, ctx->v16i8, "");
        }
 
        if (ctx->stage == MESA_SHADER_TESS_CTRL ||