asahi: Add GS lowering pass

The big monster.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26056>
This commit is contained in:
Alyssa Rosenzweig
2023-10-09 07:45:22 -04:00
committed by Marge Bot
parent 43e134b106
commit fe7650bcf7
2 changed files with 1232 additions and 0 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,27 @@
/*
* Copyright 2023 Alyssa Rosenzweig
* SPDX-License-Identifier: MIT
*/
#ifndef __AGX_NIR_LOWER_GS_H
#define __AGX_NIR_LOWER_GS_H
#include <stdbool.h>
struct nir_shader;
struct agx_ia_key;
enum mesa_prim;
void agx_nir_lower_gs(struct nir_shader *gs, struct nir_shader *vs,
const struct nir_shader *libagx, struct agx_ia_key *ia,
bool rasterizer_discard, struct nir_shader **gs_count,
struct nir_shader **gs_copy, struct nir_shader **pre_gs,
enum mesa_prim *out_mode, unsigned *out_count_words);
struct nir_shader *agx_nir_prefix_sum_gs(const struct nir_shader *libagx,
unsigned words);
struct nir_shader *agx_nir_gs_setup_indirect(const struct nir_shader *libagx,
enum mesa_prim prim);
#endif