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)
|
cmake_minimum_required(VERSION 3.20)
|
||||||
project(parallel-rdp)
|
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
|
add_library(parallel-rdp
|
||||||
${parallel-rdp-cpp}
|
${parallel-rdp-cpp}
|
||||||
|
ParallelRDPWrapper.cpp
|
||||||
|
ParallelRDPWrapper.hpp
|
||||||
vulkan/buffer.cpp
|
vulkan/buffer.cpp
|
||||||
vulkan/buffer_pool.cpp
|
vulkan/buffer_pool.cpp
|
||||||
vulkan/command_buffer.cpp
|
vulkan/command_buffer.cpp
|
||||||
@@ -53,7 +55,9 @@ target_include_directories(parallel-rdp PUBLIC
|
|||||||
vulkan
|
vulkan
|
||||||
vulkan-headers/include
|
vulkan-headers/include
|
||||||
util
|
util
|
||||||
../src/core/n64
|
../../src/cores/
|
||||||
|
.
|
||||||
|
..
|
||||||
)
|
)
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
|
|||||||
@@ -4,8 +4,6 @@ project(n64)
|
|||||||
add_subdirectory(core)
|
add_subdirectory(core)
|
||||||
|
|
||||||
add_library(n64
|
add_library(n64
|
||||||
ParallelRDPWrapper.hpp
|
|
||||||
ParallelRDPWrapper.cpp
|
|
||||||
Core.cpp
|
Core.cpp
|
||||||
Core.hpp
|
Core.hpp
|
||||||
memory_regions.hpp)
|
memory_regions.hpp)
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#include <Core.hpp>
|
#include <Core.hpp>
|
||||||
#include <SDL2/SDL_events.h>
|
#include <SDL2/SDL_events.h>
|
||||||
#include <ParallelRDPWrapper.hpp>
|
#include "parallel-rdp-standalone/ParallelRDPWrapper.hpp"
|
||||||
|
|
||||||
namespace n64 {
|
namespace n64 {
|
||||||
Core::Core(const std::string& rom) {
|
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 u16 Mem::Read<u16, false>(Registers& regs, u32 vaddr, s64 pc);
|
||||||
template u32 Mem::Read<u32, 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 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>
|
template <class T, bool tlb>
|
||||||
void Mem::Write(Registers& regs, u32 vaddr, T val, s64 pc) {
|
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<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<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<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>
|
template<class T>
|
||||||
void Cop0::SetReg(u8 addr, T value) {
|
void Cop0::SetReg(u8 addr, T value) {
|
||||||
switch(addr) {
|
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)))
|
#define vpn(addr, PageMask) (((((addr) & 0xFFFFFFFFFF) | (((addr) >> 22) & 0x30000000000)) & ~((PageMask) | 0x1FFF)))
|
||||||
|
|
||||||
TLBEntry* TLBTryMatch(Registers& regs, u32 vaddr, int* match) {
|
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")) {
|
if(ImGui::MenuItem("Game Boy")) {
|
||||||
ImGui::BeginPopup("##unimplemented_Core");
|
if(ImGui::BeginPopup("##unimplemented_Core")) {
|
||||||
ImGui::TextColored({1.0, 0.0, 0.0, 0.7}, "Unimplemented core 'Game Boy'!");
|
ImGui::TextColored({1.0, 0.0, 0.0, 0.7}, "Unimplemented core 'Game Boy'!");
|
||||||
ImGui::EndPopup();
|
ImGui::EndPopup();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
ImGui::EndMenu();
|
ImGui::EndMenu();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user