radv: set export_clip_dists for the GS copy shader
This is needed for the next change to correctly compute the VS output parameters from the shader info pass. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Timur Kristóf <timur.kristof@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13119>
This commit is contained in:
parent
c53a1dff32
commit
89f1117c62
|
@ -1032,7 +1032,9 @@ setup_isel_context(Program* program, unsigned shader_count, struct nir_shader* c
|
|||
unsigned scratch_size = 0;
|
||||
if (program->stage == gs_copy_vs) {
|
||||
assert(shader_count == 1);
|
||||
setup_vs_output_info(&ctx, shaders[0], false, true, &args->shader_info->vs.outinfo);
|
||||
setup_vs_output_info(&ctx, shaders[0], false,
|
||||
args->shader_info->vs.outinfo.export_clip_dists,
|
||||
&args->shader_info->vs.outinfo);
|
||||
} else {
|
||||
for (unsigned i = 0; i < shader_count; i++) {
|
||||
nir_shader* nir = shaders[i];
|
||||
|
|
|
@ -2786,7 +2786,8 @@ ac_gs_copy_shader_emit(struct radv_shader_context *ctx)
|
|||
radv_emit_streamout(ctx, stream);
|
||||
|
||||
if (stream == 0) {
|
||||
handle_vs_outputs_post(ctx, false, true, &ctx->args->shader_info->vs.outinfo);
|
||||
handle_vs_outputs_post(ctx, false, ctx->args->shader_info->vs.outinfo.export_clip_dists,
|
||||
&ctx->args->shader_info->vs.outinfo);
|
||||
}
|
||||
|
||||
LLVMBuildBr(ctx->ac.builder, end_bb);
|
||||
|
|
|
@ -3565,6 +3565,9 @@ radv_create_shaders(struct radv_pipeline *pipeline, struct radv_device *device,
|
|||
if (!pipeline_has_ngg) {
|
||||
struct radv_shader_info info = {0};
|
||||
|
||||
if (infos[MESA_SHADER_GEOMETRY].vs.outinfo.export_clip_dists)
|
||||
info.vs.outinfo.export_clip_dists = true;
|
||||
|
||||
radv_nir_shader_info_pass(device, nir[MESA_SHADER_GEOMETRY], pipeline->layout, pipeline_key,
|
||||
&info);
|
||||
info.wave_size = 64; /* Wave32 not supported. */
|
||||
|
|
Loading…
Reference in New Issue