mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 13:10:10 +01:00
aco: Use the correct outinfo for mesh shaders.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com> Reviewed-by: Rhys Perry <pendingchaos02@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13580>
This commit is contained in:
parent
92556d6067
commit
fc1424f1d8
1 changed files with 15 additions and 7 deletions
|
|
@ -10686,9 +10686,15 @@ export_vs_varying(isel_context* ctx, int slot, bool is_pos, int* next_pos)
|
|||
{
|
||||
assert(ctx->stage.hw == HWStage::VS || ctx->stage.hw == HWStage::NGG);
|
||||
|
||||
int offset = (ctx->stage.has(SWStage::TES) && !ctx->stage.has(SWStage::GS))
|
||||
? ctx->program->info->tes.outinfo.vs_output_param_offset[slot]
|
||||
: ctx->program->info->vs.outinfo.vs_output_param_offset[slot];
|
||||
const uint8_t *vs_output_param_offset =
|
||||
ctx->stage.has(SWStage::GS) ? ctx->program->info->vs.outinfo.vs_output_param_offset :
|
||||
ctx->stage.has(SWStage::TES) ? ctx->program->info->tes.outinfo.vs_output_param_offset :
|
||||
ctx->stage.has(SWStage::MS) ? ctx->program->info->ms.outinfo.vs_output_param_offset :
|
||||
ctx->program->info->vs.outinfo.vs_output_param_offset;
|
||||
|
||||
assert(vs_output_param_offset);
|
||||
|
||||
int offset = vs_output_param_offset[slot];
|
||||
unsigned mask = ctx->outputs.mask[slot];
|
||||
if (!is_pos && !mask)
|
||||
return;
|
||||
|
|
@ -10788,11 +10794,13 @@ static void
|
|||
create_vs_exports(isel_context* ctx)
|
||||
{
|
||||
assert(ctx->stage.hw == HWStage::VS || ctx->stage.hw == HWStage::NGG);
|
||||
const radv_vs_output_info* outinfo =
|
||||
ctx->stage.has(SWStage::GS) ? &ctx->program->info->vs.outinfo :
|
||||
ctx->stage.has(SWStage::TES) ? &ctx->program->info->tes.outinfo :
|
||||
ctx->stage.has(SWStage::MS) ? &ctx->program->info->ms.outinfo :
|
||||
&ctx->program->info->vs.outinfo;
|
||||
|
||||
const radv_vs_output_info* outinfo = (ctx->stage.has(SWStage::TES) && !ctx->stage.has(SWStage::GS))
|
||||
? &ctx->program->info->tes.outinfo
|
||||
: &ctx->program->info->vs.outinfo;
|
||||
|
||||
assert(outinfo);
|
||||
ctx->block->kind |= block_kind_export_end;
|
||||
|
||||
if (outinfo->export_prim_id && ctx->stage.hw != HWStage::NGG) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue