mirror of
https://github.com/KytyPS5/KytyPS5.git
synced 2026-10-20 02:47:02 +02:00
shader: execute PS5 BVH intersections and local FLAT stacks
Co-authored-by: Ali Almohaya <AliAlmohaya@gmail.com> Co-authored-by: Mac <me@itsmemac.com> Co-authored-by: Senaxx <michelbeld@gmail.com> Co-authored-by: Jean-Philippe <github@meunier.jp>
This commit is contained in:
@@ -30715,6 +30715,8 @@ TestCase DispatcherIrreducibleControlFlow() {
|
||||
return test;
|
||||
}
|
||||
|
||||
#include "ShaderRayTracingGpuTests.inc"
|
||||
|
||||
std::vector<TestCase> MakeCases() {
|
||||
std::vector<TestCase> cases;
|
||||
cases.reserve(128);
|
||||
@@ -31006,6 +31008,14 @@ std::vector<TestCase> MakeCases() {
|
||||
AddCase(GlobalSignedImmediateRebasesBeforeSaddr);
|
||||
AddCase(FlatSegmentIgnoresSaddrAndMasksOffsetMsb);
|
||||
AddCase(ScratchIsPrivatePerInvocation);
|
||||
cases.push_back(FlatStackApertures(32));
|
||||
cases.push_back(FlatStackApertures(64));
|
||||
cases.push_back(BvhIntersections(true, true, 1));
|
||||
for (bool barycentrics : {false, true}) {
|
||||
for (bool sorted : {false, true}) {
|
||||
cases.push_back(BvhIntersections(barycentrics, sorted));
|
||||
}
|
||||
}
|
||||
AddCase(DsReadWriteVariants);
|
||||
AddCase(DsWriteB16D16HiCapturedUsesHighHalf);
|
||||
AddCase(DsWriteB8D16HiWritesByteTwo);
|
||||
@@ -35903,6 +35913,18 @@ int main(int argc, char **argv) {
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
if (argc == 2 && std::strcmp(argv[1], "--ray-tracing-only") == 0) {
|
||||
VulkanHarness vulkan;
|
||||
RunCase(&vulkan, FlatStackApertures(32));
|
||||
RunCase(&vulkan, FlatStackApertures(64));
|
||||
RunCase(&vulkan, BvhIntersections(true, true, 1));
|
||||
for (bool barycentrics : {false, true}) {
|
||||
for (bool sorted : {false, true}) {
|
||||
RunCase(&vulkan, BvhIntersections(barycentrics, sorted));
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
if (argc == 2 && std::strcmp(argv[1], "--indirect-buffer-only") == 0) {
|
||||
VulkanHarness vulkan;
|
||||
RunCase(&vulkan, BufferLoadsGpuSelectedDescriptors());
|
||||
|
||||
Reference in New Issue
Block a user