Hi,
About VK_EXT_fragment_density_map(VkPhysicalDeviceFragmentDensityMapFeaturesEXT) (registry.khronos.org/.../vkspec.html
when used VK_EXT_fragment_density_map , mali gpu (Device1 & Device2) has crashed In vkCmdEndRenderPass (crash stack in attachment , No Validation Error),and Adreno gpu (Device3) has succeed
Device1(mali)
Device2(mali)
Device3(Adreno)
Code Setting:
Is Vulkan driver (mali) bug ?
11-15 11:23:35.249 25220 25220 E DEBUG : failed to read /proc/uptime: Permission denied --------- beginning of crash 11-15 11:23:35.460 25220 25220 F DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** 11-15 11:23:35.460 25220 25220 F DEBUG : Build fingerprint: 'OPPO/PDSM00/OP4EA3:12/SP1A.210812.016/R.202210172234:user/release-keys' 11-15 11:23:35.461 25220 25220 F DEBUG : Revision: '0' 11-15 11:23:35.461 25220 25220 F DEBUG : ABI: 'arm64' 11-15 11:23:35.461 25220 25220 F DEBUG : Timestamp: 2022-11-15 11:23:35.249080644+0800 11-15 11:23:35.461 25220 25220 F DEBUG : Process uptime: 0s 11-15 11:23:35.461 25220 25220 F DEBUG : Cmdline: 11-15 11:23:35.461 25220 25220 F DEBUG : pid: 24814, tid: 24923, name: GameThread >>> <<< 11-15 11:23:35.461 25220 25220 F DEBUG : uid: 10359 11-15 11:23:35.461 25220 25220 F DEBUG : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0 11-15 11:23:35.461 25220 25220 F DEBUG : Cause: null pointer dereference 11-15 11:23:35.461 25220 25220 F DEBUG : x0 00000076f3d435e8 x1 0000000000000000 x2 0000000000000002 x3 00000076f3d43660 11-15 11:23:35.461 25220 25220 F DEBUG : x4 0000000000000000 x5 0000000000000000 x6 0000000000000000 x7 0000000000000000 11-15 11:23:35.461 25220 25220 F DEBUG : x8 00000076df66b6cc x9 0000000000000000 x10 00000076f3d43c28 x11 0000000000000018 11-15 11:23:35.461 25220 25220 F DEBUG : x12 00000075d657c428 x13 0000000000000003 x14 0000000000000000 x15 0000005efcb90780 11-15 11:23:35.461 25220 25220 F DEBUG : x16 00000076e18a8878 x17 00000077a1b5c9b0 x18 472e736c69745565 x19 00000076f3d43808 11-15 11:23:35.461 25220 25220 F DEBUG : x20 0000000000000020 x21 00000076f3d43b80 x22 00000076f3d43690 x23 0000005efcb90a60 11-15 11:23:35.461 25220 25220 F DEBUG : x24 00000076f3d43660 x25 00000076f3d43630 x26 0000005efcb90640 x27 0000000000000020 11-15 11:23:35.461 25220 25220 F DEBUG : x28 000000760107cf98 x29 0000007619adb5d0 11-15 11:23:35.461 25220 25220 F DEBUG : lr 00000076dfcf36d8 sp 00000076f3d435a0 pc 00000076dfcf3720 pst 0000000040001000 11-15 11:23:35.461 25220 25220 F DEBUG : backtrace: 11-15 11:23:35.461 25220 25220 F DEBUG : NOTE: Function names and BuildId information is missing for some frames due 11-15 11:23:35.461 25220 25220 F DEBUG : NOTE: to unreadable libraries. For unwinds of apps, only shared libraries 11-15 11:23:35.461 25220 25220 F DEBUG : NOTE: found under the lib/ directory are readable. 11-15 11:23:35.461 25220 25220 F DEBUG : NOTE: On this device, run setenforce 0 to make the libraries readable. 11-15 11:23:35.461 25220 25220 F DEBUG : #00 pc 000000000082e720 /vendor/lib64/egl/libGLES_mali.so (BuildId: 2ec4b9d18b1e2317) 11-15 11:23:35.461 25220 25220 F DEBUG : #01 pc 00000000008353a0 /vendor/lib64/egl/libGLES_mali.so (BuildId: 2ec4b9d18b1e2317) 11-15 11:23:35.461 25220 25220 F DEBUG : #02 pc 00000000007f3100 /vendor/lib64/egl/libGLES_mali.so (BuildId: 2ec4b9d18b1e2317) 11-15 11:23:35.461 25220 25220 F DEBUG : #03 pc 00000000007f2bf8 /vendor/lib64/egl/libGLES_mali.so (BuildId: 2ec4b9d18b1e2317) 11-15 11:23:35.461 25220 25220 F DEBUG : #04 pc 00000000006b1270 /vendor/lib64/egl/libGLES_mali.so (BuildId: 2ec4b9d18b1e2317) 11-15 11:23:35.461 25220 25220 F DEBUG : #05 pc 00000000006b10b8 /vendor/lib64/egl/libGLES_mali.so (BuildId: 2ec4b9d18b1e2317) 11-15 11:23:35.461 25220 25220 F DEBUG : #06 pc 00000000010c5184 /data/app/~~cI-LhU7Wz4s5-KcFdGVjAQ==/rFJW-NxE6IGXUw4s6jjX5w==/lib/arm64/libVkLayer_khronos_validation.so (BuildId: c2ad5fb544be299babc18300b749b6fbf5f92b43)
Conclusion:In ARM(VK_EXT_fragment_density_map), each element of pAttachments must have been created with a flags value including VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT unless that element is the fragment density map attachment
Conclusion:In ARM(
VK_EXT_fragment_density_map
), each element of pAttachments must have been created with a flags value including VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT unless that element is the fragment density map attachment
Key Point:
https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VkPhysicalDeviceFragmentDensityMapPropertiesEXT
VkPhysicalDeviceFragmentDensityMapFeaturesEXT::fragmentDensityMapNonSubsampledImages,that is supported by adreno,but not supported by arm.Thanks For Everyone!
VkPhysicalDeviceFragmentDensityMapFeaturesEXT::
fragmentDensityMapNonSubsampledImages,that is supported by adreno,but not supported by arm.Thanks For Everyone!