mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 02:38:04 +02:00
draw: don't emit vertex to streams with no outputs
Reviewed-by: Roland Scheidegger <sroland@vmware.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3530>
This commit is contained in:
parent
72154c9075
commit
7e6690b1a6
1 changed files with 5 additions and 0 deletions
|
|
@ -1557,12 +1557,17 @@ draw_gs_llvm_emit_vertex(const struct lp_build_gs_iface *gs_base,
|
|||
indices[i] = LLVMBuildAdd(builder, indices[i], currently_emitted, "");
|
||||
}
|
||||
|
||||
LLVMValueRef stream_idx = LLVMBuildExtractElement(builder, stream_id, lp_build_const_int32(gallivm, 0), "");
|
||||
LLVMValueRef cnd = LLVMBuildICmp(builder, LLVMIntULT, stream_idx, lp_build_const_int32(gallivm, variant->shader->base.num_vertex_streams), "");
|
||||
struct lp_build_if_state if_ctx;
|
||||
lp_build_if(&if_ctx, gallivm, cnd);
|
||||
io = lp_build_pointer_get(builder, io, LLVMBuildExtractElement(builder, stream_id, lp_build_const_int32(gallivm, 0), ""));
|
||||
|
||||
convert_to_aos(gallivm, io, indices,
|
||||
outputs, clipmask,
|
||||
gs_info->num_outputs, gs_type,
|
||||
FALSE);
|
||||
lp_build_endif(&if_ctx);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue