vk_screenshot_layer issue

34 views
Skip to first unread message

Abhishek Deshpande

unread,
Feb 10, 2025, 11:30:22 PMFeb 10
to angleproject
Hi,

Currently, my inhouse version of vk_screenshot_layer.dll does not support the extension "VK_KHR_imageless_framebuffer" .

And this extension is conspicuously used in the ANGLE for some caching/perf optimization techniques.

For debugging purposes, Is there anyway I can force disable the use of above extension so that usual vkImage + vkImageView based framebuffer will be used ?

This will help in dumping the screenshots for frames and draws.

Thanks,
Abhishek

Shahbaz Youssefi

unread,
Feb 11, 2025, 9:32:13 AMFeb 11
to angleproject
Hello,

Yes there is! You can toggle ANGLE's "features" through environment variables like so:

    $ ANGLE_FEATURE_OVERRIDES_ENABLED=foo:bar ANGLE_FEATURE_OVERRIDES_DISABLED=baz:qux ./executable

In this case, the feature that makes ANGLE use imageless framebuffers is supportsImagelessFramebuffer, which you want to disable so this should do it:

    $ ANGLE_FEATURE_OVERRIDES_DISABLED=supportsImagelessFramebuffer ./executable

FWIW, what the `vk_screenshot_layer` layer should have done is to hook into vkEnumerateDeviceExtensionProperties and filter out the extensions it cannot use (unless it was made before the newer extensions came?). If you upgrade your driver to one that supports VK_KHR_dynamic_rendering_local_read in the future, you will face a similar problem with dynamic rendering. You can disable the `preferDynamicRendering` feature too in that case.

Cheers,

Abhishek Deshpande

unread,
Feb 17, 2025, 3:30:48 AMFeb 17
to angleproject
Thanks, this suggestion worked. :) 
Reply all
Reply to author
Forward
0 new messages