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