diff --git a/core/libs/prx/libSceAgcDriver/tests/execution/MultisampleRetirement.cpp b/core/libs/prx/libSceAgcDriver/tests/execution/MultisampleRetirement.cpp index ad2cbf182e..38d9e56ad9 100644 --- a/core/libs/prx/libSceAgcDriver/tests/execution/MultisampleRetirement.cpp +++ b/core/libs/prx/libSceAgcDriver/tests/execution/MultisampleRetirement.cpp @@ -608,10 +608,15 @@ int main() { run.IdleRemaps(); run.RecordedRemap(); run.SampledRemap(); - run.StorageRemap(); + const bool storage = context.storageImageMultisample; + if (storage) run.StorageRemap(); run.StorageSrgbTwin(); run.OrderRemap(); if (context.storageImageMultisample) run.StorageTwin(); + if (!storage) { + std::puts("storage promotion skipped, the device has no shaderStorageImageMultisample"); + return VulkanTestSkipped; + } std::puts("retired MSAA allocations stay bounded, recorded clears and storage promotions retain their images, sampled aliases release their parents after the last batch, and sample-order targets keep their retired images until their batch completes"); return 0; } catch (const std::exception& error) {