static void
handle_vs_outputs_post(struct radv_shader_context *ctx,
- bool export_prim_id, bool export_layer_id,
+ bool export_prim_id,
bool export_clip_dists,
struct radv_vs_output_info *outinfo)
{
outinfo->export_prim_id = true;
}
- if (export_layer_id && layer_value) {
- LLVMValueRef values[4];
-
- values[0] = layer_value;
- for (unsigned j = 1; j < 4; j++)
- values[j] = ctx->ac.f32_0;
-
- radv_export_param(ctx, param_count, values, 0x1);
-
- outinfo->vs_output_param_offset[VARYING_SLOT_LAYER] = param_count++;
- }
-
outinfo->pos_exports = num_pos_exports;
outinfo->param_exports = param_count;
}
ac_nir_build_if(&if_state, ctx, is_es_thread);
{
handle_vs_outputs_post(ctx, ctx->options->key.vs_common_out.export_prim_id,
- ctx->options->key.vs_common_out.export_layer_id,
ctx->options->key.vs_common_out.export_clip_dists,
ctx->stage == MESA_SHADER_TESS_EVAL ? &ctx->shader_info->tes.outinfo : &ctx->shader_info->vs.outinfo);
}
handle_es_outputs_post(ctx, &ctx->shader_info->vs.es_info);
else
handle_vs_outputs_post(ctx, ctx->options->key.vs_common_out.export_prim_id,
- ctx->options->key.vs_common_out.export_layer_id,
ctx->options->key.vs_common_out.export_clip_dists,
&ctx->shader_info->vs.outinfo);
break;
handle_es_outputs_post(ctx, &ctx->shader_info->tes.es_info);
else
handle_vs_outputs_post(ctx, ctx->options->key.vs_common_out.export_prim_id,
- ctx->options->key.vs_common_out.export_layer_id,
ctx->options->key.vs_common_out.export_clip_dists,
&ctx->shader_info->tes.outinfo);
break;
radv_emit_streamout(ctx, stream);
if (stream == 0) {
- handle_vs_outputs_post(ctx, false, false, true,
+ handle_vs_outputs_post(ctx, false, true,
&ctx->shader_info->vs.outinfo);
}