mirror of
https://git.eden-emu.dev/eden-emu/eden.git
synced 2026-09-07 12:48:03 +00:00
Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| eacb5f40a1 | |||
| e1dcee37bf |
+16
-17
@@ -17,26 +17,25 @@ namespace Core {
|
||||
namespace Symbols {
|
||||
|
||||
struct ModuleHeaderLocation {
|
||||
u32_le version;
|
||||
u32_le header_offset;
|
||||
u32_le version_offset;
|
||||
u32 version;
|
||||
u32 header_offset;
|
||||
u32 version_offset;
|
||||
};
|
||||
static_assert(sizeof(ModuleHeaderLocation) == 0x0C);
|
||||
struct ModuleHeader {
|
||||
u32_le signature;
|
||||
u32_le dynamic_offset;
|
||||
u32_le bss_start_offset;
|
||||
u32_le bss_end_offset;
|
||||
// https://github.com/Atmosphere-NX/Atmosphere/pull/2835/changes
|
||||
s32_le exception_info_start_offset;
|
||||
s32_le exception_info_end_offset;
|
||||
u32_le module_offset;
|
||||
u32_le relro_start_offset;
|
||||
u32_le full_relro_end_offset;
|
||||
u32_le nx_debug_link_start_offset;
|
||||
u32_le nx_debug_link_end_offset;
|
||||
u32_le note_gnu_build_id_start_offset;
|
||||
u32_le note_gnu_build_id_end_offset;
|
||||
u32 signature;
|
||||
u32 dynamic_offset;
|
||||
u32 bss_start_offset;
|
||||
u32 bss_end_offset;
|
||||
u32 exception_info_start_offset;
|
||||
u32 exception_info_end_offset;
|
||||
u32 module_offset;
|
||||
u32 relro_start_offset;
|
||||
u32 full_relro_end_offset;
|
||||
u32 nx_debug_link_start_offset;
|
||||
u32 nx_debug_link_end_offset;
|
||||
u32 note_gnu_build_id_start_offset;
|
||||
u32 note_gnu_build_id_end_offset;
|
||||
};
|
||||
static_assert(sizeof(ModuleHeader) == 0x34);
|
||||
|
||||
|
||||
@@ -63,9 +63,8 @@ struct ModHeader {
|
||||
u32_le dynamic_offset;
|
||||
u32_le bss_start_offset;
|
||||
u32_le bss_end_offset;
|
||||
// https://github.com/Atmosphere-NX/Atmosphere/pull/2835/changes
|
||||
s32_le unwind_start_offset;
|
||||
s32_le unwind_end_offset;
|
||||
u32_le unwind_start_offset;
|
||||
u32_le unwind_end_offset;
|
||||
u32_le module_offset; // Offset to runtime-generated module object. typically equal to .bss base
|
||||
};
|
||||
static_assert(sizeof(ModHeader) == 0x1c, "ModHeader has incorrect size.");
|
||||
|
||||
@@ -35,9 +35,8 @@ struct MODHeader {
|
||||
u32_le dynamic_offset;
|
||||
u32_le bss_start_offset;
|
||||
u32_le bss_end_offset;
|
||||
// https://github.com/Atmosphere-NX/Atmosphere/pull/2835/changes
|
||||
s32_le eh_frame_hdr_start_offset;
|
||||
s32_le eh_frame_hdr_end_offset;
|
||||
u32_le eh_frame_hdr_start_offset;
|
||||
u32_le eh_frame_hdr_end_offset;
|
||||
u32_le module_offset; // Offset to runtime-generated module object. typically equal to .bss base
|
||||
};
|
||||
static_assert(sizeof(MODHeader) == 0x1c, "MODHeader has incorrect size.");
|
||||
|
||||
@@ -55,11 +55,11 @@ constexpr u64 GpuClockMultiplier(Settings::GpuClock clock) {
|
||||
|
||||
struct GPU::Impl {
|
||||
explicit Impl(Core::System& system_, bool is_async_, bool use_nvdec_)
|
||||
: system{system_}
|
||||
: gpu_thread{system_}
|
||||
, system{system_}
|
||||
, use_nvdec{use_nvdec_}
|
||||
, shader_notify()
|
||||
, is_async{is_async_}
|
||||
, gpu_thread{system_}
|
||||
{}
|
||||
|
||||
~Impl() = default;
|
||||
@@ -301,6 +301,10 @@ struct GPU::Impl {
|
||||
return out;
|
||||
}
|
||||
|
||||
// Destruction of thread must be done before all (non trivial)
|
||||
// previous members has been destroyed
|
||||
VideoCommon::GPUThread::ThreadManager gpu_thread;
|
||||
|
||||
Core::System& system;
|
||||
|
||||
std::unique_ptr<VideoCore::RendererBase> renderer;
|
||||
@@ -329,7 +333,6 @@ struct GPU::Impl {
|
||||
|
||||
const bool is_async;
|
||||
|
||||
VideoCommon::GPUThread::ThreadManager gpu_thread;
|
||||
std::unique_ptr<Core::Frontend::GraphicsContext> cpu_context;
|
||||
|
||||
Tegra::Control::Scheduler scheduler;
|
||||
|
||||
Reference in New Issue
Block a user