Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Expose 'debugOutputMute' option to the user interface #3190

Closed
wants to merge 4 commits into from
Closed

Expose 'debugOutputMute' option to the user interface #3190

wants to merge 4 commits into from

Conversation

lucoiso
Copy link

@lucoiso lucoiso commented Dec 29, 2023

Description

Add a new check box to the existing option: 'debugOutputMute':

  • Enabled if API Validation is checked
  • Disabled and set to true if API Validation is unchecked

Changed the on_CaptureCallstacks_toggled to use the boolean (now const) parameter
Created the on_APIValidation_toggled based on on_CaptureCallstacks_toggled

image

image

Made these changes after trying to identify an issue that was occurring when I tried to run my application in renderdoc due to an unsupported Vulkan extension, and messages were being suppressed by this option.

@baldurk
Copy link
Owner

baldurk commented Dec 29, 2023

Hi, I do not want to expose this option via the UI. The debug output muting when running through RenderDoc is quite deliberate and almost no one should be relying on getting validation messages while running their program from RenderDoc. Users who want to use validation should do so first from their application directly without involving renderdoc to ensure they get accurate information with no false positives or negatives.

It's not clear from your description why you wanted this but it sounds like your application was not properly checking for features before enabling them. This change is not the right solution to that problem.

The API capture option is provided as an option for the extremely rare care where it's necessary for someone who knows exactly why they need it but should not be exposed in the UI where it may be enabled blindly and cause harm.

@baldurk baldurk closed this Dec 29, 2023
@lucoiso
Copy link
Author

lucoiso commented Dec 29, 2023

Ahhh, thx for the feedback

The application itself is a "field of study" and I faced an issue a few days ago while experimenting some changes and tried to identify what was going on using RenderDoc, but the VK_EXT_dynamic_rendering_unused_attachments extension is not supported, and the application was failing to create the logical device only when launched via renderdoc and any hints about what was going on were being suppressed by this option.

@baldurk
Copy link
Owner

baldurk commented Dec 29, 2023

Yes a Vulkan application must enumerate available extensions before enabling them. You should not rely on validation to check for this but you should use the Vulkan functions to query for what is available. This will work both for RenderDoc as well as normal drivers which may also not support some extensions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants