hrydgard / ppsspp

A PSP emulator for Android, Windows, Mac and Linux, written in C++. Want to contribute? Join us on Discord at https://discord.gg/5NJB6dD or just send pull requests / issues. For discussion use the forums at forums.ppsspp.org.
https://www.ppsspp.org
Other
11.04k stars 2.15k forks source link

Beats (NPUG80060) frequently segfaults on start with vulkan #14472

Open Sanaki opened 3 years ago

Sanaki commented 3 years ago

What happens?

Segfault or freeze randomly (50%+ occurrence rate) on starting Beats (PSN, USA) while using vulkan with increased resolution (2x and up). It appears to occur more frequently as resolution increases. I did not manage to trigger the issue at 1x, but used a clean ppsspp.ini otherwise to validate the results.

gdb crash backtrace (4ec3ce5ecc15211d069469ebc2c6d861053cbde0)

```gdb Thread 1 "PPSSPPSDL" received signal SIGSEGV, Segmentation fault. 0x00007ffff06ffc69 in ?? () from /usr/lib/x86_64-linux-gnu/libnvidia-glcore.so.460.73.01 (gdb) backtrace #0 0x00007ffff06ffc69 in ?? () from /usr/lib/x86_64-linux-gnu/libnvidia-glcore.so.460.73.01 #1 0x00007ffff0701651 in ?? () from /usr/lib/x86_64-linux-gnu/libnvidia-glcore.so.460.73.01 #2 0x00005555559e66ac in DrawEngineVulkan::GetOrCreateDescriptorSet(VkImageView_T*, VkSampler_T*, VkBuffer_T*, VkBuffer_T*, VkBuffer_T*, bool) () #3 0x00005555559e850e in DrawEngineVulkan::DoFlush() () #4 0x0000555555960489 in GPUCommon::FastRunLoop(DisplayList&) () #5 0x0000555555963bbd in GPUCommon::InterpretList(DisplayList&) () #6 0x0000555555965830 in GPUCommon::ProcessDLQueue() () #7 0x0000555555966088 in GPUCommon::EnqueueList(unsigned int, unsigned int, int, PSPPointer, bool) () #8 0x00005555557d2913 in sceGeListEnQueue(unsigned int, unsigned int, int, unsigned int) () #9 0x00005555557d38ec in void WrapU_UUIU<&(sceGeListEnQueue(unsigned int, unsigned int, int, unsigned int))>() () #10 0x00005555557b139e in CallSyscallWithoutFlags(HLEFunction const*) () #11 0x00005555356bc55c in ?? () #12 0x00005555566a60ac in pixel_xres () #13 0x00005555566a60ac in pixel_xres () #14 0x00005555566a60b0 in dp_yres () #15 0x0000555556668f00 in config_filename[abi:cxx11] () #16 0x00005555573034a0 in ?? () #17 0x000000000e1e13f1 in ?? () #18 0x0000555556686f20 in ?? () #19 0x00005555558b498c in MIPSState::RunLoopUntil(unsigned long long) () #20 0x00005555558dae5b in PSP_RunLoopUntil(unsigned long long) () #21 0x00005555558daef4 in PSP_RunLoopWhileState() () #22 0x00005555556b284f in EmuScreen::render() () #23 0x0000555555ab815a in ScreenManager::render() () #24 0x000055555568d9bd in NativeRender(GraphicsContext*) () #25 0x0000555555680585 in main () ```

What should happen?

Game should start reliably.

What are you using?

Linux Mint 19.3 x86_64, kernel 5.4.0-72 Intel i5-7300HQ, 32GB RAM GTX 1060 6GB, proprietary driver 460.73.01 Monitor resolution 1920x1080 GCC 10.3.0

Full Vulkan information

``` ========== VULKANINFO ========== Vulkan Instance Version: 1.1.126 Instance Extensions: count = 17 ==================== VK_EXT_acquire_xlib_display : extension revision 1 VK_EXT_debug_report : extension revision 9 VK_EXT_debug_utils : extension revision 2 VK_EXT_direct_mode_display : extension revision 1 VK_EXT_display_surface_counter : extension revision 1 VK_KHR_device_group_creation : extension revision 1 VK_KHR_display : extension revision 23 VK_KHR_external_fence_capabilities : extension revision 1 VK_KHR_external_memory_capabilities : extension revision 1 VK_KHR_external_semaphore_capabilities : extension revision 1 VK_KHR_get_display_properties2 : extension revision 1 VK_KHR_get_physical_device_properties2 : extension revision 2 VK_KHR_get_surface_capabilities2 : extension revision 1 VK_KHR_surface : extension revision 25 VK_KHR_surface_protected_capabilities : extension revision 1 VK_KHR_xcb_surface : extension revision 6 VK_KHR_xlib_surface : extension revision 6 Layers: count = 6 ======= VK_LAYER_LUNARG_standard_validation (LunarG Standard Validation Layer) Vulkan version 1.0.126, layer version 1: Layer Extensions: count = 0 Devices: count = 1 GPU id : 0 (GeForce GTX 1060 with Max-Q Design) Layer-Device Extensions: count = 0 VK_LAYER_NV_optimus (NVIDIA Optimus layer) Vulkan version 1.2.155, layer version 1: Layer Extensions: count = 0 Devices: count = 1 GPU id : 0 (GeForce GTX 1060 with Max-Q Design) Layer-Device Extensions: count = 0 VK_LAYER_VALVE_steam_fossilize_32 (Steam Pipeline Caching Layer) Vulkan version 1.2.136, layer version 1: Layer Extensions: count = 0 Devices: count = 1 GPU id : 0 (GeForce GTX 1060 with Max-Q Design) Layer-Device Extensions: count = 0 VK_LAYER_VALVE_steam_fossilize_64 (Steam Pipeline Caching Layer) Vulkan version 1.2.136, layer version 1: Layer Extensions: count = 0 Devices: count = 1 GPU id : 0 (GeForce GTX 1060 with Max-Q Design) Layer-Device Extensions: count = 0 VK_LAYER_VALVE_steam_overlay_32 (Steam Overlay Layer) Vulkan version 1.2.136, layer version 1: Layer Extensions: count = 0 Devices: count = 1 GPU id : 0 (GeForce GTX 1060 with Max-Q Design) Layer-Device Extensions: count = 0 VK_LAYER_VALVE_steam_overlay_64 (Steam Overlay Layer) Vulkan version 1.2.136, layer version 1: Layer Extensions: count = 0 Devices: count = 1 GPU id : 0 (GeForce GTX 1060 with Max-Q Design) Layer-Device Extensions: count = 0 Presentable Surfaces: ===================== GPU id : 0 (GeForce GTX 1060 with Max-Q Design): Surface types: count = 2 VK_KHR_xcb_surface VK_KHR_xlib_surface Formats: count = 2 SurfaceFormat[0]: format = FORMAT_B8G8R8A8_UNORM colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR SurfaceFormat[1]: format = FORMAT_B8G8R8A8_SRGB colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR Present Modes: count = 3 PRESENT_MODE_FIFO_KHR PRESENT_MODE_FIFO_RELAXED_KHR PRESENT_MODE_IMMEDIATE_KHR VkSurfaceCapabilitiesKHR: ------------------------- minImageCount = 2 maxImageCount = 8 currentExtent: width = 256 height = 256 minImageExtent: width = 256 height = 256 maxImageExtent: width = 256 height = 256 maxImageArrayLayers = 1 supportedTransforms: SURFACE_TRANSFORM_IDENTITY_BIT_KHR currentTransform: SURFACE_TRANSFORM_IDENTITY_BIT_KHR supportedCompositeAlpha: COMPOSITE_ALPHA_OPAQUE_BIT_KHR supportedUsageFlags: IMAGE_USAGE_TRANSFER_SRC_BIT IMAGE_USAGE_TRANSFER_DST_BIT IMAGE_USAGE_SAMPLED_BIT IMAGE_USAGE_STORAGE_BIT IMAGE_USAGE_COLOR_ATTACHMENT_BIT IMAGE_USAGE_INPUT_ATTACHMENT_BIT VkSurfaceCapabilities2EXT: -------------------------- supportedSurfaceCounters: None VkSurfaceProtectedCapabilitiesKHR: ---------------------------------- supportsProtected = false Groups: ======= Device Group Properties (Group 0): physicalDeviceCount: count = 1 GeForce GTX 1060 with Max-Q Design (ID: 0) subsetAllocation = 0 Device Group Present Capabilities (Group 0): GeForce GTX 1060 with Max-Q Design (ID: 0) Can present images from the following devices: GeForce GTX 1060 with Max-Q Design (ID: 0) Present modes: DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR Device Properties and Extensions: ================================= GPU0: VkPhysicalDeviceProperties: --------------------------- apiVersion = 4202651 (1.2.155) driverVersion = 1930575936 (0x73124040) vendorID = 0x10de deviceID = 0x1c20 deviceType = PHYSICAL_DEVICE_TYPE_DISCRETE_GPU deviceName = GeForce GTX 1060 with Max-Q Design VkPhysicalDeviceLimits: ----------------------- maxImageDimension1D = 32768 maxImageDimension2D = 32768 maxImageDimension3D = 16384 maxImageDimensionCube = 32768 maxImageArrayLayers = 2048 maxTexelBufferElements = 134217728 maxUniformBufferRange = 65536 maxStorageBufferRange = 4294967295 maxPushConstantsSize = 256 maxMemoryAllocationCount = 4294967295 maxSamplerAllocationCount = 4000 bufferImageGranularity = 0x00000400 sparseAddressSpaceSize = 0xffffffffff maxBoundDescriptorSets = 32 maxPerStageDescriptorSamplers = 1048576 maxPerStageDescriptorUniformBuffers = 15 maxPerStageDescriptorStorageBuffers = 1048576 maxPerStageDescriptorSampledImages = 1048576 maxPerStageDescriptorStorageImages = 1048576 maxPerStageDescriptorInputAttachments = 1048576 maxPerStageResources = 4294967295 maxDescriptorSetSamplers = 1048576 maxDescriptorSetUniformBuffers = 180 maxDescriptorSetUniformBuffersDynamic = 15 maxDescriptorSetStorageBuffers = 1048576 maxDescriptorSetStorageBuffersDynamic = 16 maxDescriptorSetSampledImages = 1048576 maxDescriptorSetStorageImages = 1048576 maxDescriptorSetInputAttachments = 1048576 maxVertexInputAttributes = 32 maxVertexInputBindings = 32 maxVertexInputAttributeOffset = 2047 maxVertexInputBindingStride = 2048 maxVertexOutputComponents = 128 maxTessellationGenerationLevel = 64 maxTessellationPatchSize = 32 maxTessellationControlPerVertexInputComponents = 128 maxTessellationControlPerVertexOutputComponents = 128 maxTessellationControlPerPatchOutputComponents = 120 maxTessellationControlTotalOutputComponents = 4216 maxTessellationEvaluationInputComponents = 128 maxTessellationEvaluationOutputComponents = 128 maxGeometryShaderInvocations = 32 maxGeometryInputComponents = 128 maxGeometryOutputComponents = 128 maxGeometryOutputVertices = 1024 maxGeometryTotalOutputComponents = 1024 maxFragmentInputComponents = 128 maxFragmentOutputAttachments = 8 maxFragmentDualSrcAttachments = 1 maxFragmentCombinedOutputResources = 16 maxComputeSharedMemorySize = 49152 maxComputeWorkGroupCount: count = 3 2147483647 65535 65535 maxComputeWorkGroupInvocations = 1536 maxComputeWorkGroupSize: count = 3 1536 1024 64 subPixelPrecisionBits = 8 subTexelPrecisionBits = 8 mipmapPrecisionBits = 8 maxDrawIndexedIndexValue = 4294967295 maxDrawIndirectCount = 4294967295 maxSamplerLodBias = 15 maxSamplerAnisotropy = 16 maxViewports = 16 maxViewportDimensions: count = 2 32768 32768 viewportBoundsRange: count = 2 -65536 65536 viewportSubPixelBits = 8 minMemoryMapAlignment = 64 minTexelBufferOffsetAlignment = 0x00000010 minUniformBufferOffsetAlignment = 0x00000100 minStorageBufferOffsetAlignment = 0x00000010 minTexelOffset = -8 maxTexelOffset = 7 minTexelGatherOffset = -32 maxTexelGatherOffset = 31 minInterpolationOffset = -0.5 maxInterpolationOffset = 0.4375 subPixelInterpolationOffsetBits = 4 maxFramebufferWidth = 32768 maxFramebufferHeight = 32768 maxFramebufferLayers = 2048 framebufferColorSampleCounts: SAMPLE_COUNT_1_BIT SAMPLE_COUNT_2_BIT SAMPLE_COUNT_4_BIT SAMPLE_COUNT_8_BIT framebufferDepthSampleCounts: SAMPLE_COUNT_1_BIT SAMPLE_COUNT_2_BIT SAMPLE_COUNT_4_BIT SAMPLE_COUNT_8_BIT framebufferStencilSampleCounts: SAMPLE_COUNT_1_BIT SAMPLE_COUNT_2_BIT SAMPLE_COUNT_4_BIT SAMPLE_COUNT_8_BIT SAMPLE_COUNT_16_BIT framebufferNoAttachmentsSampleCounts: SAMPLE_COUNT_1_BIT SAMPLE_COUNT_2_BIT SAMPLE_COUNT_4_BIT SAMPLE_COUNT_8_BIT SAMPLE_COUNT_16_BIT maxColorAttachments = 8 sampledImageColorSampleCounts: SAMPLE_COUNT_1_BIT SAMPLE_COUNT_2_BIT SAMPLE_COUNT_4_BIT SAMPLE_COUNT_8_BIT sampledImageIntegerSampleCounts: SAMPLE_COUNT_1_BIT SAMPLE_COUNT_2_BIT SAMPLE_COUNT_4_BIT SAMPLE_COUNT_8_BIT sampledImageDepthSampleCounts: SAMPLE_COUNT_1_BIT SAMPLE_COUNT_2_BIT SAMPLE_COUNT_4_BIT SAMPLE_COUNT_8_BIT sampledImageStencilSampleCounts: SAMPLE_COUNT_1_BIT SAMPLE_COUNT_2_BIT SAMPLE_COUNT_4_BIT SAMPLE_COUNT_8_BIT SAMPLE_COUNT_16_BIT storageImageSampleCounts: SAMPLE_COUNT_1_BIT SAMPLE_COUNT_2_BIT SAMPLE_COUNT_4_BIT SAMPLE_COUNT_8_BIT maxSampleMaskWords = 1 timestampComputeAndGraphics = true timestampPeriod = 1 maxClipDistances = 8 maxCullDistances = 8 maxCombinedClipAndCullDistances = 8 discreteQueuePriorities = 2 pointSizeRange: count = 2 1 2047.94 lineWidthRange: count = 2 1 64 pointSizeGranularity = 0.0625 lineWidthGranularity = 0.0625 strictLines = true standardSampleLocations = true optimalBufferCopyOffsetAlignment = 0x00000001 optimalBufferCopyRowPitchAlignment = 0x00000001 nonCoherentAtomSize = 0x00000040 VkPhysicalDeviceSparseProperties: --------------------------------- residencyStandard2DBlockShape = true residencyStandard2DMultisampleBlockShape = true residencyStandard3DBlockShape = true residencyAlignedMipSize = false residencyNonResidentStrict = true VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT: ---------------------------------------------------- advancedBlendMaxColorAttachments = 8 advancedBlendIndependentBlend = false advancedBlendNonPremultipliedSrcColor = true advancedBlendNonPremultipliedDstColor = true advancedBlendCorrelatedOverlap = true advancedBlendAllOperations = true VkPhysicalDeviceConservativeRasterizationPropertiesEXT: ------------------------------------------------------- primitiveOverestimationSize = 0 maxExtraPrimitiveOverestimationSize = 0.75 extraPrimitiveOverestimationSizeGranularity = 0.25 primitiveUnderestimation = false conservativePointAndLineRasterization = true degenerateTrianglesRasterized = true degenerateLinesRasterized = false fullyCoveredFragmentShaderInputVariable = false conservativeRasterizationPostDepthCoverage = true VkPhysicalDeviceDepthStencilResolvePropertiesKHR: ------------------------------------------------- supportedDepthResolveModes: RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR RESOLVE_MODE_AVERAGE_BIT_KHR RESOLVE_MODE_MIN_BIT_KHR RESOLVE_MODE_MAX_BIT_KHR supportedStencilResolveModes: RESOLVE_MODE_SAMPLE_ZERO_BIT_KHR RESOLVE_MODE_MIN_BIT_KHR RESOLVE_MODE_MAX_BIT_KHR independentResolveNone = true independentResolve = true VkPhysicalDeviceDescriptorIndexingPropertiesEXT: ------------------------------------------------ maxUpdateAfterBindDescriptorsInAllPools = 4294967295 shaderUniformBufferArrayNonUniformIndexingNative = true shaderSampledImageArrayNonUniformIndexingNative = true shaderStorageBufferArrayNonUniformIndexingNative = true shaderStorageImageArrayNonUniformIndexingNative = true shaderInputAttachmentArrayNonUniformIndexingNative = true robustBufferAccessUpdateAfterBind = true quadDivergentImplicitLod = true maxPerStageDescriptorUpdateAfterBindSamplers = 1048576 maxPerStageDescriptorUpdateAfterBindUniformBuffers = 15 maxPerStageDescriptorUpdateAfterBindStorageBuffers = 1048576 maxPerStageDescriptorUpdateAfterBindSampledImages = 1048576 maxPerStageDescriptorUpdateAfterBindStorageImages = 1048576 maxPerStageDescriptorUpdateAfterBindInputAttachments = 1048576 maxPerStageUpdateAfterBindResources = 4294967295 maxDescriptorSetUpdateAfterBindSamplers = 1048576 maxDescriptorSetUpdateAfterBindUniformBuffers = 180 maxDescriptorSetUpdateAfterBindUniformBuffersDynamic = 15 maxDescriptorSetUpdateAfterBindStorageBuffers = 1048576 maxDescriptorSetUpdateAfterBindStorageBuffersDynamic = 16 maxDescriptorSetUpdateAfterBindSampledImages = 1048576 maxDescriptorSetUpdateAfterBindStorageImages = 1048576 maxDescriptorSetUpdateAfterBindInputAttachments = 1048576 VkPhysicalDeviceDiscardRectanglePropertiesEXT: ---------------------------------------------- maxDiscardRectangles = 8 VkPhysicalDeviceDriverPropertiesKHR: ------------------------------------ driverID = DRIVER_ID_NVIDIA_PROPRIETARY_KHR driverName = NVIDIA driverInfo = 460.73.01 conformanceVersion = 1.2.4.0 VkPhysicalDeviceExternalMemoryHostPropertiesEXT: ------------------------------------------------ minImportedHostPointerAlignment = 0x00001000 VkPhysicalDeviceFloatControlsPropertiesKHR: ------------------------------------------- denormBehaviorIndependence = SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR roundingModeIndependence = SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL_KHR shaderSignedZeroInfNanPreserveFloat16 = true shaderSignedZeroInfNanPreserveFloat32 = true shaderSignedZeroInfNanPreserveFloat64 = true shaderDenormPreserveFloat16 = true shaderDenormPreserveFloat32 = false shaderDenormPreserveFloat64 = false shaderDenormFlushToZeroFloat16 = false shaderDenormFlushToZeroFloat32 = false shaderDenormFlushToZeroFloat64 = false shaderRoundingModeRTEFloat16 = true shaderRoundingModeRTEFloat32 = true shaderRoundingModeRTEFloat64 = true shaderRoundingModeRTZFloat16 = false shaderRoundingModeRTZFloat32 = true shaderRoundingModeRTZFloat64 = true VkPhysicalDeviceIDProperties: ----------------------------- deviceUUID = 6fe39399-b429-cc14-6ea9-f440a3cb4992 driverUUID = 6355980-5a2e-a59e-3d36-fac83cfd9310 deviceNodeMask = 1 deviceLUIDValid = false VkPhysicalDeviceInlineUniformBlockPropertiesEXT: ------------------------------------------------ maxInlineUniformBlockSize = 256 maxPerStageDescriptorInlineUniformBlocks = 32 maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks = 32 maxDescriptorSetInlineUniformBlocks = 32 maxDescriptorSetUpdateAfterBindInlineUniformBlocks = 32 VkPhysicalDeviceLineRasterizationPropertiesEXT: ----------------------------------------------- lineSubPixelPrecisionBits = 8 VkPhysicalDeviceMaintenance3Properties: --------------------------------------- maxPerSetDescriptors = 4294967295 maxMemoryAllocationSize = 0xffe00000 VkPhysicalDeviceMultiviewProperties: ------------------------------------ maxMultiviewViewCount = 32 maxMultiviewInstanceIndex = 134217727 VkPhysicalDevicePCIBusInfoPropertiesEXT: ---------------------------------------- pciDomain = 0 pciBus = 1 pciDevice = 0 pciFunction = 0 VkPhysicalDevicePointClippingProperties: ---------------------------------------- pointClippingBehavior = POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY VkPhysicalDeviceProtectedMemoryProperties: ------------------------------------------ protectedNoFault = false VkPhysicalDevicePushDescriptorPropertiesKHR: -------------------------------------------- maxPushDescriptors = 32 VkPhysicalDeviceSampleLocationsPropertiesEXT: --------------------------------------------- sampleLocationSampleCounts: SAMPLE_COUNT_1_BIT SAMPLE_COUNT_2_BIT SAMPLE_COUNT_4_BIT SAMPLE_COUNT_8_BIT SAMPLE_COUNT_16_BIT maxSampleLocationGridSize: width = 1 height = 1 sampleLocationCoordinateRange: count = 2 0 0.9375 sampleLocationSubPixelBits = 4 variableSampleLocations = true VkPhysicalDeviceSamplerFilterMinmaxPropertiesEXT: ------------------------------------------------- filterMinmaxSingleComponentFormats = true filterMinmaxImageComponentMapping = true VkPhysicalDeviceSubgroupProperties: ----------------------------------- subgroupSize = 32 supportedStages: SHADER_STAGE_VERTEX_BIT SHADER_STAGE_TESSELLATION_CONTROL_BIT SHADER_STAGE_TESSELLATION_EVALUATION_BIT SHADER_STAGE_GEOMETRY_BIT SHADER_STAGE_FRAGMENT_BIT SHADER_STAGE_COMPUTE_BIT SHADER_STAGE_ALL_GRAPHICS SHADER_STAGE_ALL SHADER_STAGE_RAYGEN_BIT_NV SHADER_STAGE_ANY_HIT_BIT_NV SHADER_STAGE_CLOSEST_HIT_BIT_NV SHADER_STAGE_MISS_BIT_NV SHADER_STAGE_INTERSECTION_BIT_NV SHADER_STAGE_CALLABLE_BIT_NV supportedOperations: SUBGROUP_FEATURE_BASIC_BIT SUBGROUP_FEATURE_VOTE_BIT SUBGROUP_FEATURE_ARITHMETIC_BIT SUBGROUP_FEATURE_BALLOT_BIT SUBGROUP_FEATURE_SHUFFLE_BIT SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT SUBGROUP_FEATURE_CLUSTERED_BIT SUBGROUP_FEATURE_QUAD_BIT SUBGROUP_FEATURE_PARTITIONED_BIT_NV quadOperationsInAllStages = true VkPhysicalDeviceSubgroupSizeControlPropertiesEXT: ------------------------------------------------- minSubgroupSize = 32 maxSubgroupSize = 32 maxComputeWorkgroupSubgroups = 3145728 requiredSubgroupSizeStages: SHADER_STAGE_VERTEX_BIT SHADER_STAGE_TESSELLATION_CONTROL_BIT SHADER_STAGE_TESSELLATION_EVALUATION_BIT SHADER_STAGE_GEOMETRY_BIT SHADER_STAGE_FRAGMENT_BIT SHADER_STAGE_COMPUTE_BIT SHADER_STAGE_ALL_GRAPHICS SHADER_STAGE_ALL SHADER_STAGE_RAYGEN_BIT_NV SHADER_STAGE_ANY_HIT_BIT_NV SHADER_STAGE_CLOSEST_HIT_BIT_NV SHADER_STAGE_MISS_BIT_NV SHADER_STAGE_INTERSECTION_BIT_NV SHADER_STAGE_CALLABLE_BIT_NV VkPhysicalDeviceTexelBufferAlignmentPropertiesEXT: -------------------------------------------------- storageTexelBufferOffsetAlignmentBytes = 0x00000010 storageTexelBufferOffsetSingleTexelAlignment = true uniformTexelBufferOffsetAlignmentBytes = 0x00000010 uniformTexelBufferOffsetSingleTexelAlignment = true VkPhysicalDeviceTimelineSemaphorePropertiesKHR: ----------------------------------------------- maxTimelineSemaphoreValueDifference = 2147483647 VkPhysicalDeviceTransformFeedbackPropertiesEXT: ----------------------------------------------- maxTransformFeedbackStreams = 4 maxTransformFeedbackBuffers = 4 maxTransformFeedbackBufferSize = 0xffffffffffffffff maxTransformFeedbackStreamDataSize = 2048 maxTransformFeedbackBufferDataSize = 512 maxTransformFeedbackBufferDataStride = 2048 transformFeedbackQueries = true transformFeedbackStreamsLinesTriangles = false transformFeedbackRasterizationStreamSelect = true transformFeedbackDraw = true VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT: ---------------------------------------------------- maxVertexAttribDivisor = 4294967295 Device Extensions: count = 113 VK_EXT_4444_formats : extension revision 1 VK_EXT_blend_operation_advanced : extension revision 2 VK_EXT_buffer_device_address : extension revision 2 VK_EXT_calibrated_timestamps : extension revision 1 VK_EXT_conditional_rendering : extension revision 2 VK_EXT_conservative_rasterization : extension revision 1 VK_EXT_custom_border_color : extension revision 12 VK_EXT_depth_clip_enable : extension revision 1 VK_EXT_depth_range_unrestricted : extension revision 1 VK_EXT_descriptor_indexing : extension revision 2 VK_EXT_discard_rectangles : extension revision 1 VK_EXT_display_control : extension revision 1 VK_EXT_extended_dynamic_state : extension revision 1 VK_EXT_external_memory_host : extension revision 1 VK_EXT_fragment_shader_interlock : extension revision 1 VK_EXT_global_priority : extension revision 2 VK_EXT_host_query_reset : extension revision 1 VK_EXT_image_robustness : extension revision 1 VK_EXT_index_type_uint8 : extension revision 1 VK_EXT_inline_uniform_block : extension revision 1 VK_EXT_line_rasterization : extension revision 1 VK_EXT_memory_budget : extension revision 1 VK_EXT_pci_bus_info : extension revision 2 VK_EXT_pipeline_creation_cache_control : extension revision 3 VK_EXT_pipeline_creation_feedback : extension revision 1 VK_EXT_post_depth_coverage : extension revision 1 VK_EXT_private_data : extension revision 1 VK_EXT_robustness2 : extension revision 1 VK_EXT_sample_locations : extension revision 1 VK_EXT_sampler_filter_minmax : extension revision 2 VK_EXT_scalar_block_layout : extension revision 1 VK_EXT_separate_stencil_usage : extension revision 1 VK_EXT_shader_atomic_float : extension revision 1 VK_EXT_shader_demote_to_helper_invocation : extension revision 1 VK_EXT_shader_image_atomic_int64 : extension revision 1 VK_EXT_shader_subgroup_ballot : extension revision 1 VK_EXT_shader_subgroup_vote : extension revision 1 VK_EXT_shader_viewport_index_layer : extension revision 1 VK_EXT_subgroup_size_control : extension revision 2 VK_EXT_texel_buffer_alignment : extension revision 1 VK_EXT_tooling_info : extension revision 1 VK_EXT_transform_feedback : extension revision 1 VK_EXT_vertex_attribute_divisor : extension revision 3 VK_EXT_ycbcr_image_arrays : extension revision 1 VK_KHR_16bit_storage : extension revision 1 VK_KHR_8bit_storage : extension revision 1 VK_KHR_acceleration_structure : extension revision 11 VK_KHR_bind_memory2 : extension revision 1 VK_KHR_buffer_device_address : extension revision 1 VK_KHR_copy_commands2 : extension revision 1 VK_KHR_create_renderpass2 : extension revision 1 VK_KHR_dedicated_allocation : extension revision 3 VK_KHR_deferred_host_operations : extension revision 3 VK_KHR_depth_stencil_resolve : extension revision 1 VK_KHR_descriptor_update_template : extension revision 1 VK_KHR_device_group : extension revision 4 VK_KHR_draw_indirect_count : extension revision 1 VK_KHR_driver_properties : extension revision 1 VK_KHR_external_fence : extension revision 1 VK_KHR_external_fence_fd : extension revision 1 VK_KHR_external_memory : extension revision 1 VK_KHR_external_memory_fd : extension revision 1 VK_KHR_external_semaphore : extension revision 1 VK_KHR_external_semaphore_fd : extension revision 1 VK_KHR_get_memory_requirements2 : extension revision 1 VK_KHR_image_format_list : extension revision 1 VK_KHR_imageless_framebuffer : extension revision 1 VK_KHR_maintenance1 : extension revision 2 VK_KHR_maintenance2 : extension revision 1 VK_KHR_maintenance3 : extension revision 1 VK_KHR_multiview : extension revision 1 VK_KHR_pipeline_executable_properties : extension revision 1 VK_KHR_pipeline_library : extension revision 1 VK_KHR_push_descriptor : extension revision 2 VK_KHR_ray_tracing_pipeline : extension revision 1 VK_KHR_relaxed_block_layout : extension revision 1 VK_KHR_sampler_mirror_clamp_to_edge : extension revision 3 VK_KHR_sampler_ycbcr_conversion : extension revision 14 VK_KHR_separate_depth_stencil_layouts : extension revision 1 VK_KHR_shader_atomic_int64 : extension revision 1 VK_KHR_shader_clock : extension revision 1 VK_KHR_shader_draw_parameters : extension revision 1 VK_KHR_shader_float16_int8 : extension revision 1 VK_KHR_shader_float_controls : extension revision 4 VK_KHR_shader_non_semantic_info : extension revision 1 VK_KHR_shader_subgroup_extended_types : extension revision 1 VK_KHR_shader_terminate_invocation : extension revision 1 VK_KHR_spirv_1_4 : extension revision 1 VK_KHR_storage_buffer_storage_class : extension revision 1 VK_KHR_swapchain : extension revision 70 VK_KHR_swapchain_mutable_format : extension revision 1 VK_KHR_timeline_semaphore : extension revision 2 VK_KHR_uniform_buffer_standard_layout : extension revision 1 VK_KHR_variable_pointers : extension revision 1 VK_KHR_vulkan_memory_model : extension revision 3 VK_NVX_multiview_per_view_attributes : extension revision 1 VK_NV_clip_space_w_scaling : extension revision 1 VK_NV_coverage_reduction_mode : extension revision 1 VK_NV_dedicated_allocation : extension revision 1 VK_NV_dedicated_allocation_image_aliasing : extension revision 1 VK_NV_device_diagnostic_checkpoints : extension revision 2 VK_NV_device_diagnostics_config : extension revision 1 VK_NV_device_generated_commands : extension revision 3 VK_NV_fill_rectangle : extension revision 1 VK_NV_fragment_coverage_to_color : extension revision 1 VK_NV_framebuffer_mixed_samples : extension revision 1 VK_NV_geometry_shader_passthrough : extension revision 1 VK_NV_ray_tracing : extension revision 3 VK_NV_sample_mask_override_coverage : extension revision 1 VK_NV_shader_sm_builtins : extension revision 1 VK_NV_shader_subgroup_partitioned : extension revision 1 VK_NV_viewport_array2 : extension revision 1 VK_NV_viewport_swizzle : extension revision 1 VkQueueFamilyProperties[0]: ========================== minImageTransferGranularity = (1, 1, 1) queueCount = 16 queueFlags = QUEUE_GRAPHICS | QUEUE_COMPUTE | QUEUE_TRANSFER | QUEUE_SPARSE_BINDING timestampValidBits = 64 present support: VK_KHR_xcb_surface = true VK_KHR_xlib_surface = true VkQueueFamilyProperties[1]: ========================== minImageTransferGranularity = (1, 1, 1) queueCount = 2 queueFlags = QUEUE_TRANSFER | QUEUE_SPARSE_BINDING timestampValidBits = 64 present support = false VkQueueFamilyProperties[2]: ========================== minImageTransferGranularity = (1, 1, 1) queueCount = 8 queueFlags = QUEUE_COMPUTE | QUEUE_TRANSFER | QUEUE_SPARSE_BINDING timestampValidBits = 64 present support: VK_KHR_xcb_surface = true VK_KHR_xlib_surface = true VkPhysicalDeviceMemoryProperties: ================================= memoryHeaps: count = 3 memoryHeaps[0]: size = 6442450944 (0x180000000) (6.00 GiB) budget = 5645598720 usage = 0 flags: MEMORY_HEAP_DEVICE_LOCAL_BIT memoryHeaps[1]: size = 25152251904 (0x5db30e800) (23.42 GiB) budget = 25152251904 usage = 0 flags: None memoryHeaps[2]: size = 257949696 (0x0f600000) (246.00 MiB) budget = 247267328 usage = 10682368 flags: MEMORY_HEAP_DEVICE_LOCAL_BIT memoryTypes: count = 11 memoryTypes[0]: heapIndex = 1 propertyFlags = 0x0000: None usable for: IMAGE_TILING_OPTIMAL: None IMAGE_TILING_LINEAR: None memoryTypes[1]: heapIndex = 1 propertyFlags = 0x0000: None usable for: IMAGE_TILING_OPTIMAL: color images IMAGE_TILING_LINEAR: None memoryTypes[2]: heapIndex = 1 propertyFlags = 0x0000: None usable for: IMAGE_TILING_OPTIMAL: FORMAT_D16_UNORM IMAGE_TILING_LINEAR: None memoryTypes[3]: heapIndex = 1 propertyFlags = 0x0000: None usable for: IMAGE_TILING_OPTIMAL: FORMAT_X8_D24_UNORM_PACK32, FORMAT_D24_UNORM_S8_UINT IMAGE_TILING_LINEAR: None memoryTypes[4]: heapIndex = 1 propertyFlags = 0x0000: None usable for: IMAGE_TILING_OPTIMAL: FORMAT_D32_SFLOAT IMAGE_TILING_LINEAR: None memoryTypes[5]: heapIndex = 1 propertyFlags = 0x0000: None usable for: IMAGE_TILING_OPTIMAL: FORMAT_D32_SFLOAT_S8_UINT IMAGE_TILING_LINEAR: None memoryTypes[6]: heapIndex = 1 propertyFlags = 0x0000: None usable for: IMAGE_TILING_OPTIMAL: FORMAT_S8_UINT IMAGE_TILING_LINEAR: None memoryTypes[7]: heapIndex = 0 propertyFlags = 0x0001: MEMORY_PROPERTY_DEVICE_LOCAL_BIT usable for: IMAGE_TILING_OPTIMAL: color images, FORMAT_D16_UNORM, FORMAT_X8_D24_UNORM_PACK32, FORMAT_D32_SFLOAT, FORMAT_S8_UINT, FORMAT_D24_UNORM_S8_UINT, FORMAT_D32_SFLOAT_S8_UINT IMAGE_TILING_LINEAR: None memoryTypes[8]: heapIndex = 1 propertyFlags = 0x0006: MEMORY_PROPERTY_HOST_VISIBLE_BIT MEMORY_PROPERTY_HOST_COHERENT_BIT usable for: IMAGE_TILING_OPTIMAL: None IMAGE_TILING_LINEAR: None memoryTypes[9]: heapIndex = 1 propertyFlags = 0x000e: MEMORY_PROPERTY_HOST_VISIBLE_BIT MEMORY_PROPERTY_HOST_COHERENT_BIT MEMORY_PROPERTY_HOST_CACHED_BIT usable for: IMAGE_TILING_OPTIMAL: None IMAGE_TILING_LINEAR: None memoryTypes[10]: heapIndex = 2 propertyFlags = 0x0007: MEMORY_PROPERTY_DEVICE_LOCAL_BIT MEMORY_PROPERTY_HOST_VISIBLE_BIT MEMORY_PROPERTY_HOST_COHERENT_BIT usable for: IMAGE_TILING_OPTIMAL: None IMAGE_TILING_LINEAR: None VkPhysicalDeviceFeatures: ========================= robustBufferAccess = true fullDrawIndexUint32 = true imageCubeArray = true independentBlend = true geometryShader = true tessellationShader = true sampleRateShading = true dualSrcBlend = true logicOp = true multiDrawIndirect = true drawIndirectFirstInstance = true depthClamp = true depthBiasClamp = true fillModeNonSolid = true depthBounds = true wideLines = true largePoints = true alphaToOne = true multiViewport = true samplerAnisotropy = true textureCompressionETC2 = false textureCompressionASTC_LDR = false textureCompressionBC = true occlusionQueryPrecise = true pipelineStatisticsQuery = true vertexPipelineStoresAndAtomics = true fragmentStoresAndAtomics = true shaderTessellationAndGeometryPointSize = true shaderImageGatherExtended = true shaderStorageImageExtendedFormats = true shaderStorageImageMultisample = true shaderStorageImageReadWithoutFormat = true shaderStorageImageWriteWithoutFormat = true shaderUniformBufferArrayDynamicIndexing = true shaderSampledImageArrayDynamicIndexing = true shaderStorageBufferArrayDynamicIndexing = true shaderStorageImageArrayDynamicIndexing = true shaderClipDistance = true shaderCullDistance = true shaderFloat64 = true shaderInt64 = true shaderInt16 = true shaderResourceResidency = true shaderResourceMinLod = true sparseBinding = true sparseResidencyBuffer = true sparseResidencyImage2D = true sparseResidencyImage3D = true sparseResidency2Samples = true sparseResidency4Samples = true sparseResidency8Samples = true sparseResidency16Samples = true sparseResidencyAliased = true variableMultisampleRate = true inheritedQueries = true VkPhysicalDevice16BitStorageFeatures: ------------------------------------- storageBuffer16BitAccess = true uniformAndStorageBuffer16BitAccess = true storagePushConstant16 = true storageInputOutput16 = false VkPhysicalDevice8BitStorageFeaturesKHR: --------------------------------------- storageBuffer8BitAccess = true uniformAndStorageBuffer8BitAccess = true storagePushConstant8 = true VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT: -------------------------------------------------- advancedBlendCoherentOperations = true VkPhysicalDeviceBufferDeviceAddressFeaturesEXT: ----------------------------------------------- bufferDeviceAddress = true bufferDeviceAddressCaptureReplay = false bufferDeviceAddressMultiDevice = true VkPhysicalDeviceConditionalRenderingFeaturesEXT: ------------------------------------------------ conditionalRendering = true inheritedConditionalRendering = true VkPhysicalDeviceDepthClipEnableFeaturesEXT: ------------------------------------------- depthClipEnable = true VkPhysicalDeviceDescriptorIndexingFeaturesEXT: ---------------------------------------------- shaderInputAttachmentArrayDynamicIndexing = true shaderUniformTexelBufferArrayDynamicIndexing = true shaderStorageTexelBufferArrayDynamicIndexing = true shaderUniformBufferArrayNonUniformIndexing = true shaderSampledImageArrayNonUniformIndexing = true shaderStorageBufferArrayNonUniformIndexing = true shaderStorageImageArrayNonUniformIndexing = true shaderInputAttachmentArrayNonUniformIndexing = true shaderUniformTexelBufferArrayNonUniformIndexing = true shaderStorageTexelBufferArrayNonUniformIndexing = true descriptorBindingUniformBufferUpdateAfterBind = false descriptorBindingSampledImageUpdateAfterBind = true descriptorBindingStorageImageUpdateAfterBind = true descriptorBindingStorageBufferUpdateAfterBind = true descriptorBindingUniformTexelBufferUpdateAfterBind = true descriptorBindingStorageTexelBufferUpdateAfterBind = true descriptorBindingUpdateUnusedWhilePending = true descriptorBindingPartiallyBound = true descriptorBindingVariableDescriptorCount = true runtimeDescriptorArray = true VkPhysicalDeviceFragmentShaderInterlockFeaturesEXT: --------------------------------------------------- fragmentShaderSampleInterlock = true fragmentShaderPixelInterlock = true fragmentShaderShadingRateInterlock = true VkPhysicalDeviceHostQueryResetFeaturesEXT: ------------------------------------------ hostQueryReset = true VkPhysicalDeviceImagelessFramebufferFeaturesKHR: ------------------------------------------------ imagelessFramebuffer = true VkPhysicalDeviceIndexTypeUint8FeaturesEXT: ------------------------------------------ indexTypeUint8 = true VkPhysicalDeviceInlineUniformBlockFeaturesEXT: ---------------------------------------------- inlineUniformBlock = true descriptorBindingInlineUniformBlockUpdateAfterBind = true VkPhysicalDeviceLineRasterizationFeaturesEXT: --------------------------------------------- rectangularLines = true bresenhamLines = true smoothLines = true stippledRectangularLines = true stippledBresenhamLines = true stippledSmoothLines = true VkPhysicalDeviceMultiviewFeatures: ---------------------------------- multiview = true multiviewGeometryShader = true multiviewTessellationShader = true VkPhysicalDevicePipelineExecutablePropertiesFeaturesKHR: -------------------------------------------------------- pipelineExecutableInfo = true VkPhysicalDeviceProtectedMemoryFeatures: ---------------------------------------- protectedMemory = false VkPhysicalDeviceSamplerYcbcrConversionFeatures: ----------------------------------------------- samplerYcbcrConversion = true VkPhysicalDeviceScalarBlockLayoutFeaturesEXT: --------------------------------------------- scalarBlockLayout = true VkPhysicalDeviceShaderAtomicInt64FeaturesKHR: --------------------------------------------- shaderBufferInt64Atomics = true shaderSharedInt64Atomics = true VkPhysicalDeviceShaderClockFeaturesKHR: --------------------------------------- shaderSubgroupClock = true shaderDeviceClock = true VkPhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT: ---------------------------------------------------------- shaderDemoteToHelperInvocation = true VkPhysicalDeviceShaderDrawParametersFeatures: --------------------------------------------- shaderDrawParameters = true VkPhysicalDeviceShaderFloat16Int8FeaturesKHR: --------------------------------------------- shaderFloat16 = false shaderInt8 = true VkPhysicalDeviceShaderSubgroupExtendedTypesFeaturesKHR: ------------------------------------------------------- shaderSubgroupExtendedTypes = true VkPhysicalDeviceSubgroupSizeControlFeaturesEXT: ----------------------------------------------- subgroupSizeControl = true computeFullSubgroups = true VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT: ------------------------------------------------ texelBufferAlignment = true VkPhysicalDeviceTimelineSemaphoreFeaturesKHR: --------------------------------------------- timelineSemaphore = true VkPhysicalDeviceTransformFeedbackFeaturesEXT: --------------------------------------------- transformFeedback = true geometryStreams = true VkPhysicalDeviceUniformBufferStandardLayoutFeaturesKHR: ------------------------------------------------------- uniformBufferStandardLayout = true VkPhysicalDeviceVariablePointersFeatures: ----------------------------------------- variablePointersStorageBuffer = true variablePointers = true VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT: -------------------------------------------------- vertexAttributeInstanceRateDivisor = true vertexAttributeInstanceRateZeroDivisor = true VkPhysicalDeviceVulkanMemoryModelFeaturesKHR: --------------------------------------------- vulkanMemoryModel = true vulkanMemoryModelDeviceScope = true vulkanMemoryModelAvailabilityVisibilityChains = true VkPhysicalDeviceYcbcrImageArraysFeaturesEXT: -------------------------------------------- ycbcrImageArrays = true ```

What PPSSPP version (standalone/official), and did it work before?

Tested initially on 4ec3ce5ecc15211d069469ebc2c6d861053cbde0 (self-built, SDL version)

Bisect result: 5ade93a091f65f849c7748b72c1fa213d50150ca is the first bad commit

Which game or games?

Beats (NPUG80060)

Checklist

unknownbrackets commented 3 years ago

That commit might trigger a framebuffer download at a later point.

GetOrCreateDescriptorSet shouldn't have really been affected by that commit though, except very indirectly if it affects drawcall order. Strange.

Can you try a debug build? That would mean passing -DCMAKE_BUILD_TYPE=Debug to cmake or --debug to b.sh. That would turn on Vulkan validation layers, a few more asserts, and possibly give a better backtrace. Or was this already in debug?

-[Unknown]

Sanaki commented 3 years ago

This was done in a release build. It'll be a day or two before I have any free time, but I'll be happy to test that for you once I do.

Sanaki commented 3 years ago

Found a bit of time. Seems this may have been fixed (unintentionally?) in new builds, though I can't test current due to a bug (commented on 0fa27ff9d780f8a6ba3c0f0b404850a0aa8fc265). I can't trigger the issue on 17071e7fecaf1b82e1b245f130eb6f61346a0096 (I managed to trigger it after all, RNG was just being RNG. That build actually triggers the issue at 1x as well). It still occurs on 03c79ae0554b1774dedf61681df20181d047c6ea as a consistent freeze.

Just for thoroughness, debug build backtrace using 4ec3ce5ecc15211d069469ebc2c6d861053cbde0 (the same build from the original post), though later builds produced an identical backtrace, including the 1x crash on 17071e7fecaf1b82e1b245f130eb6f61346a0096:

Thread 1 "ppsspp" received signal SIGSEGV, Segmentation fault.
0x00007ffff08a324a in ?? () from /usr/lib/x86_64-linux-gnu/libnvidia-glcore.so.465.27
(gdb) backtrace
#0  0x00007ffff08a324a in ?? () from /usr/lib/x86_64-linux-gnu/libnvidia-glcore.so.465.27
#1  0x00007ffff08a4c51 in ?? () from /usr/lib/x86_64-linux-gnu/libnvidia-glcore.so.465.27
#2  0x0000555555bc14bd in DrawEngineVulkan::GetOrCreateDescriptorSet (this=0x555557bb70b8, imageView=0x0, sampler=0x0, base=0x555557ba1cc8, light=0x555557ba1cc8, bone=0x555557ba1cc8, 
    tess=false) at /home/ccrowley/src/ppsspp/GPU/Vulkan/DrawEngineVulkan.cpp:548
#3  0x0000555555bc3671 in DrawEngineVulkan::DoFlush (this=0x555557bb70b8) at /home/ccrowley/src/ppsspp/GPU/Vulkan/DrawEngineVulkan.cpp:985
#4  0x0000555555a3bf80 in DrawEngineVulkan::Flush (this=0x555557bb70b8) at /home/ccrowley/src/ppsspp/GPU/Vulkan/DrawEngineVulkan.h:149
#5  0x0000555555bc4594 in DrawEngineVulkan::DispatchFlush (this=0x555557bb70b8) at /home/ccrowley/src/ppsspp/GPU/Vulkan/DrawEngineVulkan.h:161
#6  0x0000555555af7b2e in GPUCommon::FastRunLoop (this=0x555557baf870, list=...) at /home/ccrowley/src/ppsspp/GPU/GPUCommon.cpp:1059
#7  0x0000555555af77d4 in GPUCommon::InterpretList (this=0x555557baf870, list=...) at /home/ccrowley/src/ppsspp/GPU/GPUCommon.cpp:1004
#8  0x0000555555af82f2 in GPUCommon::ProcessDLQueue (this=0x555557baf870) at /home/ccrowley/src/ppsspp/GPU/GPUCommon.cpp:1206
#9  0x0000555555af6ecd in GPUCommon::EnqueueList (this=0x555557baf870, listpc=155272000, stall=0, subIntrBase=0, args=..., head=false) at /home/ccrowley/src/ppsspp/GPU/GPUCommon.cpp:797
#10 0x0000555555849002 in sceGeListEnQueue (listAddress=155272000, stallAddress=0, callbackId=0, optParamAddr=167705072) at /home/ccrowley/src/ppsspp/Core/HLE/sceGe.cpp:342
#11 0x000055555584b33d in WrapU_UUIU<&(sceGeListEnQueue(unsigned int, unsigned int, int, unsigned int))> () at /home/ccrowley/src/ppsspp/Core/HLE/FunctionWrappers.h:683
#12 0x000055555580fa71 in CallSyscallWithoutFlags (info=0x555556d4ff10 <sceGe_user+48>) at /home/ccrowley/src/ppsspp/Core/HLE/HLE.cpp:654
#13 0x0000555535dd2518 in ?? ()
#14 0x0000000000000000 in ?? ()

And last ten lines of output before segfault:

49:06:884 idle0        D[SCEKERNEL]: HLE/sceKernelThread.cpp:3093 Context switch: Audio::Synth::PumpThread -> idle0 (411->272, pc: 088611f8->08000000, blocking audio) +52us
49:06:884 idle0        D[CPU]: HLE/sceKernelInterrupt.cpp:153 Entering interrupt handler 08808b50
49:06:884 idle0        D[SCEDISP]: HLE/sceDisplay.cpp:730 Setting latched framebuffer 04000000 (prev: 04088000)
49:06:884 idle0        D[FRAMEBUF]: Common/FramebufferManagerCommon.cpp:1 Displaying FBO 04000000
49:06:895 idle0        D[SCEKERNEL]: HLE/sceKernelTime.cpp:117 sceKernelSysClock2USec(clock = 083ffe10, lo = 083ffe40, hi = 083ffe44)
49:06:896 CoreFrame    D[SCEKERNEL]: HLE/sceKernelThread.cpp:3093 Context switch: idle0 -> CoreFrame (272->402, pc: 08000000->08808a34, left interrupt) +9419us
49:06:896 CoreFrame    D[SCEGE]: HLE/sceGe.cpp:337 sceGeListEnQueue(addr=09414340, stall=00000000, cbid=00000000, param=09fef9f0)
49:06:896 CoreFrame    D[G3D]: GPU/GPUCommon.cpp:1205 Starting DL execution at 09414340 - stall = 00000000
49:06:896 CoreFrame    D[G3D]: Common/FramebufferManagerCommon.cpp:204 Est: 04088000 V: 480x272, R: 480x272, S: 480x272, STR: 512, THR:1, Z:00000000 = 480x272
49:06:896 CoreFrame    D[FRAMEBUF]: Common/FramebufferManagerCommon.cpp:4 Switching render target to FBO for 04088000: 480 x 272 x 3
hrydgard commented 3 years ago

crashes in GetOrCreateDescriptorSet are usually from accidentally referring to a deleted or null resource. Probably a bug in the vulkan backend somewhere else, that accidentally got exposed due to something changing order due to the offending change.

unknownbrackets commented 2 years ago

Is this still an issue in recent git builds (https://buildbot.orphis.net/ppsspp/)? I think we've fixed some bugs here in the last year.

-[Unknown]

Sanaki commented 2 years ago

Unfortunately I still get startup segfaults on this game with increased resolution and vulkan renderer.