r600/sfn: fix container allocators

This fixes leaks in TexInstr and in Shader.

Thanks to Patrick Lerda for pointing out the bug.

Fixes: 79ca456b48
    r600/sfn: rewrite NIR backend

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22300>
This commit is contained in:
Gert Wollny 2023-04-04 15:58:27 +02:00 committed by Marge Bot
parent 9085c9d43e
commit 0cb6437f4f
2 changed files with 5 additions and 3 deletions

View File

@ -198,7 +198,7 @@ private:
unsigned m_resource_id;
static const std::map<Opcode, std::string> s_opcode_map;
std::list<TexInstr *> m_prepare_instr;
std::list<TexInstr *, Allocator<TexInstr *>> m_prepare_instr;
};
bool

View File

@ -340,12 +340,14 @@ private:
uint32_t m_indirect_files{0};
std::bitset<sh_flags_count> m_flags;
uint32_t nhwatomic_ranges{0};
std::vector<r600_shader_atomic> m_atomics;
std::vector<r600_shader_atomic, Allocator<r600_shader_atomic>> m_atomics;
uint32_t m_nhwatomic{0};
uint32_t m_atomic_base{0};
uint32_t m_next_hwatomic_loc{0};
std::unordered_map<int, int> m_atomic_base_map;
std::unordered_map<int, int,
std::hash<int>, std::equal_to<int>,
Allocator<std::pair<const int, int>>> m_atomic_base_map;
uint32_t m_atomic_file_count{0};
PRegister m_atomic_update{nullptr};
PRegister m_rat_return_address{nullptr};