mirror of
https://github.com/KytyPS5/KytyPS5.git
synced 2026-10-30 01:01:21 +00:00
graphics: add experimental Pro mode and linear PSSR
Co-authored-by: Joshua Jayasingh <joshuajayasingh08@gmail.com>
This commit is contained in:
1 parent
5e837a9bea
commit
651ef73a03
30 files changed
+1340
-278
No files matched your search
@@ -16,6 +16,7 @@
|
||||
#include "graphics/guest_gpu/graphicsRun.h"
|
||||
#include "graphics/guest_gpu/hardwareContext.h"
|
||||
#include "graphics/guest_gpu/pm4.h"
|
||||
#include "graphics/guest_gpu/pssr.h"
|
||||
#include "graphics/guest_gpu/tile.h"
|
||||
#include "graphics/host_gpu/hostMemory.h"
|
||||
#include "graphics/host_gpu/memoryTracker.h"
|
||||
@@ -21825,6 +21826,8 @@ public:
|
||||
case_index, format_cases);
|
||||
}
|
||||
|
||||
#include "PssrGpuTests.inc"
|
||||
|
||||
private:
|
||||
bool m_rasterization_supported = true;
|
||||
u32 m_skipped_cases = 0;
|
||||
@@ -51364,13 +51367,16 @@ void CheckPm4IndirectUconfigRegisters(RenderContext &renderer) {
|
||||
static_cast<uint32_t>(address), static_cast<uint32_t>(address >> 32u),
|
||||
0x80000000u, 1u,
|
||||
};
|
||||
Pm4Execution execution;
|
||||
const bool handler_present =
|
||||
g_hw_uc_indirect_func[Pm4::UC_PARAMETER_OVERSUBSCRIPTION] != nullptr;
|
||||
Require("Pm4IndirectUconfigRegisters", "indirect UCONFIG register stream",
|
||||
handler_present &&
|
||||
processor.Process(execution, command) == Pm4ProcessResult::Complete,
|
||||
"UCONFIG register was rejected by SET_UCONFIG_REG_INDIRECT");
|
||||
for (uint32_t mode = 0; mode <= 1; ++mode) {
|
||||
command[0] = KYTY_PM4(5, Pm4::IT_SET_UCONFIG_REG_INDIRECT, mode);
|
||||
Pm4Execution execution;
|
||||
Require("Pm4IndirectUconfigRegisters", "indirect UCONFIG register stream",
|
||||
handler_present &&
|
||||
processor.Process(execution, command) == Pm4ProcessResult::Complete,
|
||||
"UCONFIG register was rejected by SET_UCONFIG_REG_INDIRECT");
|
||||
}
|
||||
std::printf("[host] %-32s ok\n", "Pm4IndirectUconfigRegisters");
|
||||
}
|
||||
|
||||
@@ -53835,6 +53841,12 @@ int main(int argc, char **argv) {
|
||||
CheckPm4ContextStateOperations(vulkan.RuntimeRenderer());
|
||||
return 0;
|
||||
}
|
||||
if (argc == 2 && std::strcmp(argv[1], "--pssr-only") == 0) {
|
||||
VulkanHarness vulkan;
|
||||
vulkan.CheckPssr();
|
||||
CheckPm4IndirectUconfigRegisters(vulkan.RuntimeRenderer());
|
||||
return 0;
|
||||
}
|
||||
if (argc == 2 && std::strcmp(argv[1], "--pm4-wait-only") == 0) {
|
||||
VulkanHarness vulkan;
|
||||
CheckPm4AcquireMemPackets(vulkan.RuntimeRenderer());
|
||||
|
||||
Reference in new issue
Block a user