mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-23 22:29:39 -06:00
Vulkan: Support logging debug reports without enabling validation layers
There is a caveat, Host GPU must be checked prior to starting the game, as we can't enable the extension at runtime without recreating the instance.
This commit is contained in:
@ -23,7 +23,8 @@ public:
|
||||
static bool CheckValidationLayerAvailablility();
|
||||
|
||||
// Helper method to create a Vulkan instance.
|
||||
static VkInstance CreateVulkanInstance(bool enable_surface, bool enable_validation_layer);
|
||||
static VkInstance CreateVulkanInstance(bool enable_surface, bool enable_debug_report,
|
||||
bool enable_validation_layer);
|
||||
|
||||
// Returns a list of Vulkan-compatible GPUs.
|
||||
using GPUList = std::vector<VkPhysicalDevice>;
|
||||
@ -43,10 +44,10 @@ public:
|
||||
// been called for the specified VideoConfig.
|
||||
static std::unique_ptr<VulkanContext> Create(VkInstance instance, VkPhysicalDevice gpu,
|
||||
VkSurfaceKHR surface, VideoConfig* config,
|
||||
bool enable_debug_reports,
|
||||
bool enable_validation_layer);
|
||||
|
||||
// Enable/disable debug message runtime.
|
||||
// In the future this could be hooked up to the Host GPU logging option.
|
||||
bool EnableDebugReports();
|
||||
void DisableDebugReports();
|
||||
|
||||
@ -106,9 +107,8 @@ public:
|
||||
private:
|
||||
using ExtensionList = std::vector<const char*>;
|
||||
static bool SelectInstanceExtensions(ExtensionList* extension_list, bool enable_surface,
|
||||
bool enable_validation_layer);
|
||||
bool SelectDeviceExtensions(ExtensionList* extension_list, bool enable_surface,
|
||||
bool enable_validation_layer);
|
||||
bool enable_debug_report);
|
||||
bool SelectDeviceExtensions(ExtensionList* extension_list, bool enable_surface);
|
||||
bool SelectDeviceFeatures();
|
||||
bool CreateDevice(VkSurfaceKHR surface, bool enable_validation_layer);
|
||||
|
||||
|
Reference in New Issue
Block a user