mirror of https://github.com/RPCS3/rpcs3.git
parent
2af86e363c
commit
ae634bb87e
|
@ -278,6 +278,7 @@ D3D12GSRender::~D3D12GSRender()
|
||||||
|
|
||||||
void D3D12GSRender::on_exit()
|
void D3D12GSRender::on_exit()
|
||||||
{
|
{
|
||||||
|
return GSRender::on_exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool D3D12GSRender::do_method(u32 cmd, u32 arg)
|
bool D3D12GSRender::do_method(u32 cmd, u32 arg)
|
||||||
|
|
|
@ -611,6 +611,8 @@ void GLGSRender::on_exit()
|
||||||
m_attrib_ring_buffer.remove();
|
m_attrib_ring_buffer.remove();
|
||||||
m_uniform_ring_buffer.remove();
|
m_uniform_ring_buffer.remove();
|
||||||
m_index_ring_buffer.remove();
|
m_index_ring_buffer.remove();
|
||||||
|
|
||||||
|
return GSRender::on_exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
void nv4097_clear_surface(u32 arg, GLGSRender* renderer)
|
void nv4097_clear_surface(u32 arg, GLGSRender* renderer)
|
||||||
|
|
|
@ -62,7 +62,7 @@ namespace rsx
|
||||||
}
|
}
|
||||||
catch (...)
|
catch (...)
|
||||||
{
|
{
|
||||||
LOG_ERROR(RSX, "Cache file '%s' ignored", entry.name);
|
LOG_WARNING(RSX, "Cache file '%s' ignored", entry.name);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -376,7 +376,7 @@ namespace rsx
|
||||||
|
|
||||||
last_flip_time = get_system_time() - 1000000;
|
last_flip_time = get_system_time() - 1000000;
|
||||||
|
|
||||||
scope_thread vblank("VBlank Thread", [this]()
|
m_vblank_thread = thread_ctrl::spawn("VBlank Thread", [this]()
|
||||||
{
|
{
|
||||||
const u64 start_time = get_system_time();
|
const u64 start_time = get_system_time();
|
||||||
|
|
||||||
|
@ -484,9 +484,18 @@ namespace rsx
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void thread::on_exit()
|
||||||
|
{
|
||||||
|
if (m_vblank_thread)
|
||||||
|
{
|
||||||
|
m_vblank_thread->join();
|
||||||
|
m_vblank_thread.reset();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
std::string thread::get_name() const
|
std::string thread::get_name() const
|
||||||
{
|
{
|
||||||
return "rsx::thread"s;
|
return "rsx::thread";
|
||||||
}
|
}
|
||||||
|
|
||||||
void thread::fill_scale_offset_data(void *buffer, bool is_d3d) const
|
void thread::fill_scale_offset_data(void *buffer, bool is_d3d) const
|
||||||
|
|
|
@ -189,6 +189,8 @@ namespace rsx
|
||||||
|
|
||||||
class thread : public named_thread
|
class thread : public named_thread
|
||||||
{
|
{
|
||||||
|
std::shared_ptr<thread_ctrl> m_vblank_thread;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
std::stack<u32> m_call_stack;
|
std::stack<u32> m_call_stack;
|
||||||
|
|
||||||
|
@ -267,6 +269,7 @@ namespace rsx
|
||||||
virtual ~thread();
|
virtual ~thread();
|
||||||
|
|
||||||
virtual void on_task() override;
|
virtual void on_task() override;
|
||||||
|
virtual void on_exit() override;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
virtual std::string get_name() const override;
|
virtual std::string get_name() const override;
|
||||||
|
|
|
@ -754,6 +754,8 @@ void VKGSRender::on_init_thread()
|
||||||
void VKGSRender::on_exit()
|
void VKGSRender::on_exit()
|
||||||
{
|
{
|
||||||
m_texture_cache.destroy();
|
m_texture_cache.destroy();
|
||||||
|
|
||||||
|
return GSRender::on_exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
void VKGSRender::clear_surface(u32 mask)
|
void VKGSRender::clear_surface(u32 mask)
|
||||||
|
|
Loading…
Reference in New Issue