On 22/01/18 23:37, Nicolai Hähnle wrote:
Why hasn't this been noticed before?

I knew it was broken but the state tracker needed to be fixed first which I hadn't gotten to, fortunately Rob fixed it for me :) [1]


[1] https://cgit.freedesktop.org/mesa/mesa/commit/?id=4c69961daf45a6a64970e5831bd362307dca0cb2

Does Vulkan not have multiple streams?

Vulkan does not have transform feedback.


Anyway, series is:

Reviewed-by: Nicolai Hähnle <nicolai.haeh...@amd.com>



On 18.01.2018 23:26, Timothy Arceri wrote:
---
  src/amd/common/ac_nir_to_llvm.c | 7 +++----
  1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c
index 12353943a5..9709514532 100644
--- a/src/amd/common/ac_nir_to_llvm.c
+++ b/src/amd/common/ac_nir_to_llvm.c
@@ -4206,10 +4206,9 @@ visit_emit_vertex(struct ac_shader_abi *abi, unsigned stream, LLVMValueRef *addr
  }
  static void
-visit_end_primitive(struct nir_to_llvm_context *ctx,
-            const nir_intrinsic_instr *instr)
+visit_end_primitive(struct nir_to_llvm_context *ctx, unsigned stream)
  {
-    ac_build_sendmsg(&ctx->ac, AC_SENDMSG_GS_OP_CUT | AC_SENDMSG_GS | (0 << 8), ctx->gs_wave_id); +    ac_build_sendmsg(&ctx->ac, AC_SENDMSG_GS_OP_CUT | AC_SENDMSG_GS | (stream << 8), ctx->gs_wave_id);
  }
  static LLVMValueRef
@@ -4420,7 +4419,7 @@ static void visit_intrinsic(struct ac_nir_context *ctx,
          ctx->abi->emit_vertex(ctx->abi, 0, ctx->outputs);
          break;
      case nir_intrinsic_end_primitive:
-        visit_end_primitive(ctx->nctx, instr);
+        visit_end_primitive(ctx->nctx, nir_intrinsic_stream_id(instr));
          break;
      case nir_intrinsic_load_tess_coord: {
          LLVMTypeRef type = ctx->nctx ?



_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to