aco/ngg: Fix exports for NGG VS and TES.
The exports in NGG VS and TES work just like VS exports, so the assembler needs to fix these too in the same manner. Signed-off-by: Timur Kristóf <timur.kristof@gmail.com> Reviewed-by: Daniel Schürmann <daniel@schuermann.dev> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3576>
This commit is contained in:
parent
ec72c504c6
commit
d7b4bb3a88
|
@ -659,7 +659,7 @@ void fix_exports(asm_context& ctx, std::vector<uint32_t>& out, Program* program)
|
|||
{
|
||||
if ((*it)->format == Format::EXP) {
|
||||
Export_instruction* exp = static_cast<Export_instruction*>((*it).get());
|
||||
if (program->stage & hw_vs) {
|
||||
if (program->stage & (hw_vs | hw_ngg_gs)) {
|
||||
if (exp->dest >= V_008DFC_SQ_EXP_POS && exp->dest <= (V_008DFC_SQ_EXP_POS + 3)) {
|
||||
exp->done = true;
|
||||
exported = true;
|
||||
|
@ -749,7 +749,7 @@ unsigned emit_program(Program* program,
|
|||
{
|
||||
asm_context ctx(program);
|
||||
|
||||
if (program->stage & (hw_vs | hw_fs))
|
||||
if (program->stage & (hw_vs | hw_fs | hw_ngg_gs))
|
||||
fix_exports(ctx, code, program);
|
||||
|
||||
for (Block& block : program->blocks) {
|
||||
|
|
Loading…
Reference in New Issue