Fix all linking errors, now figure out segfault on vkCreateInstance (Window.cpp:45)
This commit is contained in:
@@ -1,10 +1,12 @@
|
||||
cmake_minimum_required(VERSION 3.20)
|
||||
project(parallel-rdp)
|
||||
|
||||
file(GLOB_RECURSE parallel-rdp-cpp parallel-rdp-standalone/parallel-rdp/*.cpp)
|
||||
file(GLOB_RECURSE parallel-rdp-cpp parallel-rdp/*.cpp)
|
||||
|
||||
add_library(parallel-rdp
|
||||
${parallel-rdp-cpp}
|
||||
ParallelRDPWrapper.cpp
|
||||
ParallelRDPWrapper.hpp
|
||||
vulkan/buffer.cpp
|
||||
vulkan/buffer_pool.cpp
|
||||
vulkan/command_buffer.cpp
|
||||
@@ -53,7 +55,9 @@ target_include_directories(parallel-rdp PUBLIC
|
||||
vulkan
|
||||
vulkan-headers/include
|
||||
util
|
||||
../src/core/n64
|
||||
../../src/cores/
|
||||
.
|
||||
..
|
||||
)
|
||||
|
||||
if(WIN32)
|
||||
|
||||
@@ -4,8 +4,6 @@ project(n64)
|
||||
add_subdirectory(core)
|
||||
|
||||
add_library(n64
|
||||
ParallelRDPWrapper.hpp
|
||||
ParallelRDPWrapper.cpp
|
||||
Core.cpp
|
||||
Core.hpp
|
||||
memory_regions.hpp)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#include <Core.hpp>
|
||||
#include <SDL2/SDL_events.h>
|
||||
#include <ParallelRDPWrapper.hpp>
|
||||
#include "parallel-rdp-standalone/ParallelRDPWrapper.hpp"
|
||||
|
||||
namespace n64 {
|
||||
Core::Core(const std::string& rom) {
|
||||
|
||||
@@ -85,6 +85,14 @@ template u8 Mem::Read<u8, false>(Registers& regs, u32 vaddr, s64 pc);
|
||||
template u16 Mem::Read<u16, false>(Registers& regs, u32 vaddr, s64 pc);
|
||||
template u32 Mem::Read<u32, false>(Registers& regs, u32 vaddr, s64 pc);
|
||||
template u64 Mem::Read<u64, false>(Registers& regs, u32 vaddr, s64 pc);
|
||||
template s8 Mem::Read<s8>(Registers& regs, u32 vaddr, s64 pc);
|
||||
template s16 Mem::Read<s16>(Registers& regs, u32 vaddr, s64 pc);
|
||||
template s32 Mem::Read<s32>(Registers& regs, u32 vaddr, s64 pc);
|
||||
template s64 Mem::Read<s64>(Registers& regs, u32 vaddr, s64 pc);
|
||||
template s8 Mem::Read<s8, false>(Registers& regs, u32 vaddr, s64 pc);
|
||||
template s16 Mem::Read<s16, false>(Registers& regs, u32 vaddr, s64 pc);
|
||||
template s32 Mem::Read<s32, false>(Registers& regs, u32 vaddr, s64 pc);
|
||||
template s64 Mem::Read<s64, false>(Registers& regs, u32 vaddr, s64 pc);
|
||||
|
||||
template <class T, bool tlb>
|
||||
void Mem::Write(Registers& regs, u32 vaddr, T val, s64 pc) {
|
||||
@@ -119,4 +127,12 @@ template void Mem::Write<u8, false>(Registers& regs, u32 vaddr, u8 val, s64 pc);
|
||||
template void Mem::Write<u16, false>(Registers& regs, u32 vaddr, u16 val, s64 pc);
|
||||
template void Mem::Write<u32, false>(Registers& regs, u32 vaddr, u32 val, s64 pc);
|
||||
template void Mem::Write<u64, false>(Registers& regs, u32 vaddr, u64 val, s64 pc);
|
||||
template void Mem::Write<s8>(Registers& regs, u32 vaddr, s8 val, s64 pc);
|
||||
template void Mem::Write<s16>(Registers& regs, u32 vaddr, s16 val, s64 pc);
|
||||
template void Mem::Write<s32>(Registers& regs, u32 vaddr, s32 val, s64 pc);
|
||||
template void Mem::Write<s64>(Registers& regs, u32 vaddr, s64 val, s64 pc);
|
||||
template void Mem::Write<s8, false>(Registers& regs, u32 vaddr, s8 val, s64 pc);
|
||||
template void Mem::Write<s16, false>(Registers& regs, u32 vaddr, s16 val, s64 pc);
|
||||
template void Mem::Write<s32, false>(Registers& regs, u32 vaddr, s32 val, s64 pc);
|
||||
template void Mem::Write<s64, false>(Registers& regs, u32 vaddr, s64 val, s64 pc);
|
||||
}
|
||||
@@ -56,6 +56,11 @@ T Cop0::GetReg(u8 addr) {
|
||||
}
|
||||
}
|
||||
|
||||
template u32 Cop0::GetReg<u32>(u8 addr);
|
||||
template u64 Cop0::GetReg<u64>(u8 addr);
|
||||
template s32 Cop0::GetReg<s32>(u8 addr);
|
||||
template s64 Cop0::GetReg<s64>(u8 addr);
|
||||
|
||||
template<class T>
|
||||
void Cop0::SetReg(u8 addr, T value) {
|
||||
switch(addr) {
|
||||
@@ -102,6 +107,11 @@ void Cop0::SetReg(u8 addr, T value) {
|
||||
}
|
||||
}
|
||||
|
||||
template void Cop0::SetReg<u32>(u8 addr, u32 value);
|
||||
template void Cop0::SetReg<u64>(u8 addr, u64 value);
|
||||
template void Cop0::SetReg<s32>(u8 addr, s32 value);
|
||||
template void Cop0::SetReg<s64>(u8 addr, s64 value);
|
||||
|
||||
#define vpn(addr, PageMask) (((((addr) & 0xFFFFFFFFFF) | (((addr) >> 22) & 0x30000000000)) & ~((PageMask) | 0x1FFF)))
|
||||
|
||||
TLBEntry* TLBTryMatch(Registers& regs, u32 vaddr, int* match) {
|
||||
|
||||
@@ -376,9 +376,10 @@ void Window::Update(std::unique_ptr<BaseCore>& core) {
|
||||
}
|
||||
}
|
||||
if(ImGui::MenuItem("Game Boy")) {
|
||||
ImGui::BeginPopup("##unimplemented_Core");
|
||||
ImGui::TextColored({1.0, 0.0, 0.0, 0.7}, "Unimplemented core 'Game Boy'!");
|
||||
ImGui::EndPopup();
|
||||
if(ImGui::BeginPopup("##unimplemented_Core")) {
|
||||
ImGui::TextColored({1.0, 0.0, 0.0, 0.7}, "Unimplemented core 'Game Boy'!");
|
||||
ImGui::EndPopup();
|
||||
}
|
||||
}
|
||||
ImGui::EndMenu();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user