mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-25 10:50:10 +01:00
aco: do not fix_exports when program is prolog
Otherwise fix_export() will abort when find no export. Reviewed-by: Rhys Perry <pendingchaos02@gmail.com> Signed-off-by: Qiang Yu <yuq825@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24712>
This commit is contained in:
parent
9cce7ce80a
commit
c8687a4b09
3 changed files with 7 additions and 2 deletions
|
|
@ -1291,8 +1291,10 @@ emit_program(Program* program, std::vector<uint32_t>& code, std::vector<struct a
|
|||
{
|
||||
asm_context ctx(program, symbols);
|
||||
|
||||
if (program->stage.hw == AC_HW_VERTEX_SHADER || program->stage.hw == AC_HW_PIXEL_SHADER ||
|
||||
program->stage.hw == AC_HW_NEXT_GEN_GEOMETRY_SHADER)
|
||||
/* Prolog has no exports. */
|
||||
if (!program->is_prolog &&
|
||||
(program->stage.hw == AC_HW_VERTEX_SHADER || program->stage.hw == AC_HW_PIXEL_SHADER ||
|
||||
program->stage.hw == AC_HW_NEXT_GEN_GEOMETRY_SHADER))
|
||||
fix_exports(ctx, code, program);
|
||||
|
||||
for (Block& block : program->blocks) {
|
||||
|
|
|
|||
|
|
@ -363,6 +363,8 @@ aco_compile_shader_part(const struct aco_compiler_options* options,
|
|||
program->debug.func = options->debug.func;
|
||||
program->debug.private_data = options->debug.private_data;
|
||||
|
||||
program->is_prolog = is_prolog;
|
||||
|
||||
/* Instruction selection */
|
||||
select_shader_part(program.get(), pinfo, &config, options, info, args);
|
||||
|
||||
|
|
|
|||
|
|
@ -2121,6 +2121,7 @@ public:
|
|||
bool has_smem_buffer_or_global_loads = false;
|
||||
bool has_pops_overlapped_waves_wait = false;
|
||||
bool has_color_exports = false;
|
||||
bool is_prolog = false;
|
||||
|
||||
std::vector<uint8_t> constant_data;
|
||||
Temp private_segment_buffer;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue