mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-09 02:28:10 +02:00
aco/ngg: Allow NGG GS to create VS exports.
NGG GS need to use the same instructions to export vertex attributes at the end. 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/6964>
This commit is contained in:
parent
b67878f328
commit
9c3d8404de
1 changed files with 4 additions and 12 deletions
|
|
@ -9741,13 +9741,9 @@ static void create_null_export(isel_context *ctx)
|
|||
|
||||
static bool export_vs_varying(isel_context *ctx, int slot, bool is_pos, int *next_pos)
|
||||
{
|
||||
assert(ctx->stage == vertex_vs ||
|
||||
ctx->stage == tess_eval_vs ||
|
||||
ctx->stage == gs_copy_vs ||
|
||||
ctx->stage == ngg_vertex_gs ||
|
||||
ctx->stage == ngg_tess_eval_gs);
|
||||
assert(ctx->stage & (hw_vs | hw_ngg_gs));
|
||||
|
||||
int offset = (ctx->stage & sw_tes)
|
||||
int offset = ((ctx->stage & sw_tes) && !(ctx->stage & sw_gs))
|
||||
? ctx->program->info->tes.outinfo.vs_output_param_offset[slot]
|
||||
: ctx->program->info->vs.outinfo.vs_output_param_offset[slot];
|
||||
uint64_t mask = ctx->outputs.mask[slot];
|
||||
|
|
@ -9844,13 +9840,9 @@ static void create_export_phis(isel_context *ctx)
|
|||
|
||||
static void create_vs_exports(isel_context *ctx)
|
||||
{
|
||||
assert(ctx->stage == vertex_vs ||
|
||||
ctx->stage == tess_eval_vs ||
|
||||
ctx->stage == gs_copy_vs ||
|
||||
ctx->stage == ngg_vertex_gs ||
|
||||
ctx->stage == ngg_tess_eval_gs);
|
||||
assert(ctx->stage & (hw_vs | hw_ngg_gs));
|
||||
|
||||
radv_vs_output_info *outinfo = (ctx->stage & sw_tes)
|
||||
radv_vs_output_info *outinfo = ((ctx->stage & sw_tes) && !(ctx->stage & sw_gs))
|
||||
? &ctx->program->info->tes.outinfo
|
||||
: &ctx->program->info->vs.outinfo;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue