Open FilippoLeon opened 3 years ago
Running with the metal validation, the resolving of depth textures does give an error,
Which means that we really do need to disable VK_KHR_depth_stencil_resolve
on those GPUs. That's kinda sad. It means no Vulkan 1.2 support on those GPUs.
but the floating texture (an RBGA16 float) does not (instead crashes at submit time).
This is a bug in Metal. You should file a feedback with Apple, preferably with a reproducer.
Which means that we really do need to disable
VK_KHR_depth_stencil_resolve
on those GPUs. That's kinda sad. It means no Vulkan 1.2 support on those GPUs.
Or maybe we don't. I think it should be possible to resolve them manually, by using a render pass which loads the multisample texture and stores it to a non-multisampled texture.
I'm trying multisampling on an old iMac with an Nvidia 740M, and I'm having troubles with vkCmdResolve with floating textures or resolving depth textures (with renderpass2). I guess it is not supported by metal on this architecture (anyone knows if the list of format support that exists for iOS exists also for Mac?). Running with the metal validation, the resolving of depth textures does give an error, but the floating texture (an RBGA16 float) does not (instead crashes at submit time). However, querying the VkFormat support, returns support for "ColorAttachmentOutput" for all textures. I guess this is not specific enough for metal? Because, I think it is possible to use a format as color attachment, but not as resolve destination in metal (there is no such thing in vulkan: afaik the specs say that the format requirement for "dst" are "color attachment output"). So my question/issue boils down to: is there a good way to determine that the resolve is not supported in this case? I'm scrambling my head and besides "blacklisting" the individual GPUs, I cannot find a good way. Hopefully I'm not doing anything wrong with resolve.