This commit is contained in:
lucas 2024-09-30 17:55:51 -03:00
parent 348da93ee6
commit b566c5e7c4
17 changed files with 64 additions and 22 deletions

View file

@ -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

@ -1 +1 @@
Subproject commit 51ce7e131079c061533d741be5fe7cca57f2faac
Subproject commit 1ead6715dec030d340a316c927c877a3c4e5a00c

2
externals/fmt vendored

@ -1 +1 @@
Subproject commit 8ee89546ffcf046309d1f0d38c0393f02fde56c8
Subproject commit c98518351efd5a46f5d448e947e0b7242d197d07

2
externals/glslang vendored

@ -1 +1 @@
Subproject commit 46ef757e048e760b46601e6e77ae0cb72c97bd2f
Subproject commit 12cbda959b6df2af119a76a73ff906c2bed36884

@ -1 +1 @@
Subproject commit 126539e13cccdc2e75ce770e94f3c26403099fa5
Subproject commit dae6bbf16c363e9ead4e628a47fdb02956a634f3

2
externals/pugixml vendored

@ -1 +1 @@
Subproject commit 3b17184379fcaaeb7f1fbe08018b7fedf2640b3b
Subproject commit 30cc354fe37114ec7a0a4ed2192951690357c2ed

2
externals/robin-map vendored

@ -1 +1 @@
Subproject commit fe845fd7852ef541c5479ae23b3d36b57f8608ee
Subproject commit 2c48a1a50203bbaf1e3d0d64c5d726d56f8d3bb3

2
externals/sdl3 vendored

@ -1 +1 @@
Subproject commit 0548050fc5a4edf1f47c3633c2cd06d8762b5532
Subproject commit 4cc3410dce50cefce98d3cf3cf1bc8eca83b862a

2
externals/toml11 vendored

@ -1 +1 @@
Subproject commit d050c6b137199666cae75c2628a75d63b49b1c22
Subproject commit 4b740127230472779c4a4d71e1a75aaa3a367a2d

2
externals/vma vendored

@ -1 +1 @@
Subproject commit 1c35ba99ce775f8342d87a83a3f0f696f99c2a39
Subproject commit e1bdbca9baf4d682fb6066b380f4aa4a7bdbb58a

@ -1 +1 @@
Subproject commit 29f979ee5aa58b7b005f805ea8df7a855c39ff37
Subproject commit d205aff40b4e15d4c568523ee6a26f85138126d9

2
externals/xxhash vendored

@ -1 +1 @@
Subproject commit 3e321b4407318ac1348c0b80fb6fbae8c81ad5fa
Subproject commit dbea33e47e7c0fe0b7c8592cd931c7430c1f130d

View file

@ -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) {

View file

@ -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;
}

View file

@ -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);

View file

@ -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();
}

View file

@ -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();