? &ctx->program->info->tes.outinfo
: &ctx->program->info->vs.outinfo;
+ ctx->block->kind |= block_kind_export_end;
+
if (outinfo->export_prim_id && ctx->stage.hw != HWStage::NGG) {
ctx->outputs.mask[VARYING_SLOT_PRIMITIVE_ID] |= 0x1;
if (ctx->stage.has(SWStage::TES))
if (!exported)
create_fs_null_export(ctx);
+
+ ctx->block->kind |= block_kind_export_end;
}
static void create_workgroup_barrier(Builder& bld)
Builder bld(ctx->program, ctx->block);
/* Export VS outputs */
- ctx->block->kind |= block_kind_export_end;
create_vs_exports(ctx);
/* Export primitive ID */
/* Export the vertex parameters. */
create_vs_exports(ctx);
- ctx->block->kind |= block_kind_export_end;
begin_divergent_if_else(ctx, &ic);
end_divergent_if(ctx, &ic);
if (ctx.stage.hw == HWStage::VS) {
create_vs_exports(&ctx);
- ctx.block->kind |= block_kind_export_end;
} else if (ngg_no_gs && ctx.ngg_nogs_early_prim_export) {
ngg_nogs_export_vertices(&ctx);
} else if (nir->info.stage == MESA_SHADER_GEOMETRY && !ngg_gs) {
if (ctx.stage == fragment_fs) {
create_fs_exports(&ctx);
- ctx.block->kind |= block_kind_export_end;
}
if (endif_merged_wave_info) {
if (stream == 0) {
create_vs_exports(&ctx);
- ctx.block->kind |= block_kind_export_end;
}
if (!stream_id.isConstant()) {