And R-b after suggestion On Mon, Jul 15, 2019, 11:22 PM Bas Nieuwenhuizen <[email protected]> wrote:
> > > On Mon, Jul 15, 2019, 10:45 AM Samuel Pitoiset <[email protected]> > wrote: > >> This fixes >> dEQP-VK.spirv_assembly.instruction.graphics.16bit_storage.input_output_* >> >> Found with RADV_DEBUG=checkir >> >> Signed-off-by: Samuel Pitoiset <[email protected]> >> --- >> src/amd/vulkan/radv_nir_to_llvm.c | 9 +++++++++ >> 1 file changed, 9 insertions(+) >> >> diff --git a/src/amd/vulkan/radv_nir_to_llvm.c >> b/src/amd/vulkan/radv_nir_to_llvm.c >> index 339c9d93423..fa26a450a91 100644 >> --- a/src/amd/vulkan/radv_nir_to_llvm.c >> +++ b/src/amd/vulkan/radv_nir_to_llvm.c >> @@ -3691,6 +3691,13 @@ static void gfx10_ngg_gs_emit_epilogue_2(struct >> radv_shader_context *ctx) >> gep_idx[2] = LLVMConstInt(ctx->ac.i32, >> out_idx, false); >> tmp = LLVMBuildGEP(builder, vertexptr, >> gep_idx, 3, ""); >> tmp = LLVMBuildLoad(builder, tmp, ""); >> + >> + LLVMTypeRef type = >> LLVMGetAllocatedType(ctx->abi.outputs[ac_llvm_reg_index_soa(i, j)]); >> + if (ac_get_type_size(type) == 2) { >> + tmp = >> LLVMBuildBitCast(ctx->ac.builder, tmp, ctx->ac.i32, ""); >> > > Can we use ac_to_integer here? That way we don't need to care about > floatness. > > + tmp = >> LLVMBuildTrunc(ctx->ac.builder, tmp, ctx->ac.i16, ""); >> + } >> + >> outputs[noutput].values[j] = >> ac_to_float(&ctx->ac, tmp); >> } >> >> @@ -3771,6 +3778,8 @@ static void gfx10_ngg_gs_emit_vertex(struct >> radv_shader_context *ctx, >> LLVMValueRef ptr = LLVMBuildGEP(builder, >> vertexptr, gep_idx, 3, ""); >> >> out_val = ac_to_integer(&ctx->ac, out_val); >> + out_val = LLVMBuildZExtOrBitCast(ctx->ac.builder, >> out_val, ctx->ac.i32, ""); >> + >> LLVMBuildStore(builder, out_val, ptr); >> } >> } >> -- >> 2.22.0 >> >> _______________________________________________ >> mesa-dev mailing list >> [email protected] >> https://lists.freedesktop.org/mailman/listinfo/mesa-dev > >
_______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
