diff --git a/core/libs/prx/libSceAgcDriver/Execution/src/Driver/Draw/DrawDecode.cpp b/core/libs/prx/libSceAgcDriver/Execution/src/Driver/Draw/DrawDecode.cpp index 3eeeab125..fac2d2bdc 100644 --- a/core/libs/prx/libSceAgcDriver/Execution/src/Driver/Draw/DrawDecode.cpp +++ b/core/libs/prx/libSceAgcDriver/Execution/src/Driver/Draw/DrawDecode.cpp @@ -115,7 +115,7 @@ std::shared_ptr Driver::decodeDraw(const QueueState& queue, const Su auto product = std::make_shared(); product->state = Graphics::DecodeState(queue); DecodeGraphicsPrograms(*product, queue, *submission.shaders, false, true); - product->pixel = Graphics::DecodePixelStageInfo(queue.context, Graphics::ExportMappings(product->state), Graphics::PixelProgramUnset(queue)); + product->pixel = Graphics::DecodePixelStageInfo(queue.context, Graphics::ExportMappings(product->state), Graphics::PixelProgramSkipped(queue)); return product; } diff --git a/core/libs/prx/libSceAgcDriver/Execution/src/Driver/Shaders/ShaderRegistry.cpp b/core/libs/prx/libSceAgcDriver/Execution/src/Driver/Shaders/ShaderRegistry.cpp index d7b84373b..2b50404e9 100644 --- a/core/libs/prx/libSceAgcDriver/Execution/src/Driver/Shaders/ShaderRegistry.cpp +++ b/core/libs/prx/libSceAgcDriver/Execution/src/Driver/Shaders/ShaderRegistry.cpp @@ -326,7 +326,7 @@ std::vector PrepareRegistered(const ShaderSnapshot& snap if (stage != Stage::Compute) userCount |= ((resources >> 27u) & 1u) << 5u; if (userCount > 32) throw std::runtime_error("AGC driver: static user SGPR count exceeds the register bank"); if (stage == Stage::Compute) { - compute = Graphics::DecodeComputeStageInfo(state.shader); + compute = Graphics::DecodeComputeStageInfo(state.shader, snapshot.header); const auto special = ReadHeaderArray(snapshot, header.specials, 1).front(); wave = (special.dispatch_modifier & 0x8000u) != 0 ? 32u : 64u; } else if (stage == Stage::Fragment) { diff --git a/core/libs/prx/libSceAgcDriver/tests/ShaderDiskCache.cpp b/core/libs/prx/libSceAgcDriver/tests/ShaderDiskCache.cpp index c5f97e5d5..f42c20d6d 100644 --- a/core/libs/prx/libSceAgcDriver/tests/ShaderDiskCache.cpp +++ b/core/libs/prx/libSceAgcDriver/tests/ShaderDiskCache.cpp @@ -3,6 +3,7 @@ #include "VertexInputSpecialization.hpp" #include "SpirvBackend/SpirvSpecialization.hpp" #include "Optimization/ResourceMaterializer.hpp" +#include "Optimization/ResourceProgram.hpp" #include "Optimization/DescriptorBindingBuilder.hpp" #include "ShaderCacheDirectory.hpp" #include