X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Ffreedreno%2Fir3%2Fir3_compiler_nir.c;h=c3461c85c7d912d64d0411ef75055bfb504e2b1c;hb=e05e60b2301d3859597cc82b0caecf1a61fd94dd;hp=8c4df26b99a898924555254d3c80c7c898334d40;hpb=b559d26c74a03d20a556a977f73e999ab137c7ec;p=mesa.git diff --git a/src/freedreno/ir3/ir3_compiler_nir.c b/src/freedreno/ir3/ir3_compiler_nir.c index 8c4df26b99a..c3461c85c7d 100644 --- a/src/freedreno/ir3/ir3_compiler_nir.c +++ b/src/freedreno/ir3/ir3_compiler_nir.c @@ -785,8 +785,8 @@ emit_intrinsic_load_ubo(struct ir3_context *ctx, nir_intrinsic_instr *intr, base_lo = create_uniform(b, ubo + (src0->regs[1]->iim_val * ptrsz)); base_hi = create_uniform(b, ubo + (src0->regs[1]->iim_val * ptrsz) + 1); } else { - base_lo = create_uniform_indirect(b, ubo, ir3_get_addr0(ctx, src0, ptrsz)); - base_hi = create_uniform_indirect(b, ubo + 1, ir3_get_addr0(ctx, src0, ptrsz)); + base_lo = create_uniform_indirect(b, ubo, TYPE_U32, ir3_get_addr0(ctx, src0, ptrsz)); + base_hi = create_uniform_indirect(b, ubo + 1, TYPE_U32, ir3_get_addr0(ctx, src0, ptrsz)); /* NOTE: since relative addressing is used, make sure constlen is * at least big enough to cover all the UBO addresses, since the @@ -1524,6 +1524,7 @@ emit_intrinsic(struct ir3_context *ctx, nir_intrinsic_instr *intr) src = ir3_get_src(ctx, &intr->src[0]); for (int i = 0; i < dest_components; i++) { dst[i] = create_uniform_indirect(b, idx + i, + nir_dest_bit_size(intr->dest) == 16 ? TYPE_F16 : TYPE_F32, ir3_get_addr0(ctx, src[0], 1)); } /* NOTE: if relative addressing is used, we set @@ -3342,7 +3343,7 @@ emit_instructions(struct ir3_context *ctx) } /* Setup inputs: */ - nir_foreach_variable (var, &ctx->s->inputs) { + nir_foreach_shader_in_variable (var, ctx->s) { setup_input(ctx, var); } @@ -3390,7 +3391,7 @@ emit_instructions(struct ir3_context *ctx) } /* Setup outputs: */ - nir_foreach_variable (var, &ctx->s->outputs) { + nir_foreach_shader_out_variable (var, ctx->s) { setup_output(ctx, var); }