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