mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2025-04-22 04:24:44 +00:00
Hacks
This commit is contained in:
parent
348da93ee6
commit
b566c5e7c4
17 changed files with 64 additions and 22 deletions
|
@ -10,7 +10,19 @@
|
|||
"buildCommandArgs": "",
|
||||
"ctestCommandArgs": "",
|
||||
"inheritEnvironments": [ "clang_cl_x64_x64" ],
|
||||
"intelliSenseMode": "windows-clang-x64"
|
||||
"intelliSenseMode": "windows-clang-x64",
|
||||
"variables": [
|
||||
{
|
||||
"name": "ENABLE_QT_GUI",
|
||||
"value": "True",
|
||||
"type": "BOOL"
|
||||
},
|
||||
{
|
||||
"name": "CMAKE_PREFIX_PATH",
|
||||
"value": "C:/Qt/6.7.2/msvc2019_64",
|
||||
"type": "PATH"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "x64-Clang-Debug",
|
||||
|
@ -22,7 +34,19 @@
|
|||
"buildCommandArgs": "",
|
||||
"ctestCommandArgs": "",
|
||||
"inheritEnvironments": [ "clang_cl_x64_x64" ],
|
||||
"intelliSenseMode": "windows-clang-x64"
|
||||
"intelliSenseMode": "windows-clang-x64",
|
||||
"variables": [
|
||||
{
|
||||
"name": "ENABLE_QT_GUI",
|
||||
"value": "True",
|
||||
"type": "BOOL"
|
||||
},
|
||||
{
|
||||
"name": "CMAKE_PREFIX_PATH",
|
||||
"value": "C:/Qt/6.7.2/msvc2019_64",
|
||||
"type": "PATH"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "x64-Clang-RelWithDebInfo",
|
||||
|
|
2
externals/date
vendored
2
externals/date
vendored
|
@ -1 +1 @@
|
|||
Subproject commit 51ce7e131079c061533d741be5fe7cca57f2faac
|
||||
Subproject commit 1ead6715dec030d340a316c927c877a3c4e5a00c
|
2
externals/fmt
vendored
2
externals/fmt
vendored
|
@ -1 +1 @@
|
|||
Subproject commit 8ee89546ffcf046309d1f0d38c0393f02fde56c8
|
||||
Subproject commit c98518351efd5a46f5d448e947e0b7242d197d07
|
2
externals/glslang
vendored
2
externals/glslang
vendored
|
@ -1 +1 @@
|
|||
Subproject commit 46ef757e048e760b46601e6e77ae0cb72c97bd2f
|
||||
Subproject commit 12cbda959b6df2af119a76a73ff906c2bed36884
|
2
externals/magic_enum
vendored
2
externals/magic_enum
vendored
|
@ -1 +1 @@
|
|||
Subproject commit 126539e13cccdc2e75ce770e94f3c26403099fa5
|
||||
Subproject commit dae6bbf16c363e9ead4e628a47fdb02956a634f3
|
2
externals/pugixml
vendored
2
externals/pugixml
vendored
|
@ -1 +1 @@
|
|||
Subproject commit 3b17184379fcaaeb7f1fbe08018b7fedf2640b3b
|
||||
Subproject commit 30cc354fe37114ec7a0a4ed2192951690357c2ed
|
2
externals/robin-map
vendored
2
externals/robin-map
vendored
|
@ -1 +1 @@
|
|||
Subproject commit fe845fd7852ef541c5479ae23b3d36b57f8608ee
|
||||
Subproject commit 2c48a1a50203bbaf1e3d0d64c5d726d56f8d3bb3
|
2
externals/sdl3
vendored
2
externals/sdl3
vendored
|
@ -1 +1 @@
|
|||
Subproject commit 0548050fc5a4edf1f47c3633c2cd06d8762b5532
|
||||
Subproject commit 4cc3410dce50cefce98d3cf3cf1bc8eca83b862a
|
2
externals/toml11
vendored
2
externals/toml11
vendored
|
@ -1 +1 @@
|
|||
Subproject commit d050c6b137199666cae75c2628a75d63b49b1c22
|
||||
Subproject commit 4b740127230472779c4a4d71e1a75aaa3a367a2d
|
2
externals/vma
vendored
2
externals/vma
vendored
|
@ -1 +1 @@
|
|||
Subproject commit 1c35ba99ce775f8342d87a83a3f0f696f99c2a39
|
||||
Subproject commit e1bdbca9baf4d682fb6066b380f4aa4a7bdbb58a
|
2
externals/vulkan-headers
vendored
2
externals/vulkan-headers
vendored
|
@ -1 +1 @@
|
|||
Subproject commit 29f979ee5aa58b7b005f805ea8df7a855c39ff37
|
||||
Subproject commit d205aff40b4e15d4c568523ee6a26f85138126d9
|
2
externals/xxhash
vendored
2
externals/xxhash
vendored
|
@ -1 +1 @@
|
|||
Subproject commit 3e321b4407318ac1348c0b80fb6fbae8c81ad5fa
|
||||
Subproject commit dbea33e47e7c0fe0b7c8592cd931c7430c1f130d
|
|
@ -16,14 +16,14 @@
|
|||
void assert_fail_impl() {
|
||||
Common::Log::Stop();
|
||||
std::fflush(stdout);
|
||||
Crash();
|
||||
//Crash();
|
||||
}
|
||||
|
||||
[[noreturn]] void unreachable_impl() {
|
||||
Common::Log::Stop();
|
||||
std::fflush(stdout);
|
||||
Crash();
|
||||
throw std::runtime_error("Unreachable code");
|
||||
//Crash();
|
||||
//throw std::runtime_error("Unreachable code");
|
||||
}
|
||||
|
||||
void assert_fail_debug_msg(const char* msg) {
|
||||
|
|
|
@ -43,7 +43,7 @@ public:
|
|||
// Perform the wait.
|
||||
const s32 result = waiter.Wait(lk, timeout);
|
||||
if (result == SCE_KERNEL_ERROR_ETIMEDOUT) {
|
||||
wait_list.erase(it);
|
||||
//wait_list.erase(it);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
|
|
@ -70,6 +70,18 @@ struct StageSpecialization {
|
|||
}
|
||||
|
||||
void ForEachSharp(u32& binding, auto& spec_list, auto& desc_list, auto&& func) {
|
||||
if (this == nullptr) {
|
||||
return;
|
||||
}
|
||||
if (info == nullptr) {
|
||||
return;
|
||||
}
|
||||
if (desc_list.empty()) {
|
||||
return;
|
||||
}
|
||||
if (spec_list.empty()) {
|
||||
return;
|
||||
}
|
||||
for (const auto& desc : desc_list) {
|
||||
auto& spec = spec_list.emplace_back();
|
||||
const auto sharp = desc.GetSharp(*info);
|
||||
|
|
|
@ -194,7 +194,7 @@ Liverpool::Task Liverpool::ProcessGraphics(std::span<const u32> dcb, std::span<c
|
|||
switch (type) {
|
||||
case 0:
|
||||
case 1:
|
||||
UNREACHABLE_MSG("Unsupported PM4 type {}", type);
|
||||
//UNREACHABLE_MSG("Unsupported PM4 type {}", type);
|
||||
break;
|
||||
case 2:
|
||||
// Type-2 packet are used for padding purposes
|
||||
|
@ -546,8 +546,8 @@ Liverpool::Task Liverpool::ProcessGraphics(std::span<const u32> dcb, std::span<c
|
|||
break;
|
||||
}
|
||||
default:
|
||||
UNREACHABLE_MSG("Unknown PM4 type 3 opcode {:#x} with count {}",
|
||||
static_cast<u32>(opcode), count);
|
||||
//UNREACHABLE_MSG("Unknown PM4 type 3 opcode {:#x} with count {}",
|
||||
// static_cast<u32>(opcode), count);
|
||||
}
|
||||
dcb = NextPacket(dcb, header->type3.NumWords() + 1);
|
||||
break;
|
||||
|
@ -555,7 +555,7 @@ Liverpool::Task Liverpool::ProcessGraphics(std::span<const u32> dcb, std::span<c
|
|||
}
|
||||
|
||||
if (ce_task.handle) {
|
||||
ASSERT_MSG(ce_task.handle.done(), "Partially processed CCB");
|
||||
//ASSERT_MSG(ce_task.handle.done(), "Partially processed CCB");
|
||||
ce_task.handle.destroy();
|
||||
}
|
||||
|
||||
|
|
|
@ -191,7 +191,7 @@ const ComputePipeline* PipelineCache::GetComputePipeline() {
|
|||
bool ShouldSkipShader(u64 shader_hash, const char* shader_type) {
|
||||
static constexpr std::array<u64, 0> skip_hashes = {};
|
||||
if (std::ranges::contains(skip_hashes, shader_hash)) {
|
||||
LOG_WARNING(Render_Vulkan, "Skipped {} shader hash {:#x}.", shader_type, shader_hash);
|
||||
//LOG_WARNING(Render_Vulkan, "Skipped {} shader hash {:#x}.", shader_type, shader_hash);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
@ -383,6 +383,12 @@ std::tuple<const Shader::Info*, vk::ShaderModule, u64> PipelineCache::GetProgram
|
|||
}
|
||||
|
||||
Program* program = it_pgm->second;
|
||||
if (program == nullptr) {
|
||||
return {nullptr, {}, 0};
|
||||
}
|
||||
if (it_pgm == program_cache.end()) {
|
||||
return {nullptr, {}, 0};
|
||||
}
|
||||
const auto& info = program->info;
|
||||
const auto spec = Shader::StageSpecialization(info, runtime_info, binding);
|
||||
size_t perm_idx = program->modules.size();
|
||||
|
|
Loading…
Add table
Reference in a new issue