mirror of
https://github.com/charles-lunarg/vk-bootstrap.git
synced 2024-11-22 23:24:34 +00:00
Removed check_and_add functions for instance layers and extensions
This commit is contained in:
parent
9561e30373
commit
d58b099da8
@ -342,29 +342,17 @@ InstanceBuilder& InstanceBuilder::set_api_version (uint32_t major, uint32_t mino
|
|||||||
info.api_version = VK_MAKE_VERSION (major, minor, patch);
|
info.api_version = VK_MAKE_VERSION (major, minor, patch);
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
InstanceBuilder& InstanceBuilder::must_enable_layer (const char* layer_name) {
|
InstanceBuilder& InstanceBuilder::enable_layer (const char* layer_name) {
|
||||||
if (!layer_name) return *this;
|
if (!layer_name) return *this;
|
||||||
info.layers.push_back (layer_name);
|
info.layers.push_back (layer_name);
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
InstanceBuilder& InstanceBuilder::request_layer (const char* layer_name) {
|
InstanceBuilder& InstanceBuilder::enable_extension (const char* extension_name) {
|
||||||
if (!layer_name) return *this;
|
|
||||||
if (detail::check_layer_supported (system.available_layers, layer_name))
|
|
||||||
info.layers.push_back (layer_name);
|
|
||||||
return *this;
|
|
||||||
}
|
|
||||||
InstanceBuilder& InstanceBuilder::must_enable_extension (const char* extension_name) {
|
|
||||||
if (!extension_name) return *this;
|
if (!extension_name) return *this;
|
||||||
info.extensions.push_back (extension_name);
|
info.extensions.push_back (extension_name);
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
InstanceBuilder& InstanceBuilder::request_extension (const char* extension_name) {
|
InstanceBuilder& InstanceBuilder::enable_validation_layers (bool enable_validation) {
|
||||||
if (!extension_name) return *this;
|
|
||||||
if (detail::check_extension_supported (system.available_extensions, extension_name))
|
|
||||||
info.extensions.push_back (extension_name);
|
|
||||||
return *this;
|
|
||||||
}
|
|
||||||
InstanceBuilder& InstanceBuilder::must_enable_validation_layers (bool enable_validation) {
|
|
||||||
info.enable_validation_layers = enable_validation;
|
info.enable_validation_layers = enable_validation;
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
@ -374,7 +362,6 @@ InstanceBuilder& InstanceBuilder::request_validation_layers (bool enable_validat
|
|||||||
detail::check_extension_supported (system.available_extensions, detail::validation_layer_name);
|
detail::check_extension_supported (system.available_extensions, detail::validation_layer_name);
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
InstanceBuilder& InstanceBuilder::use_default_debug_messenger () {
|
InstanceBuilder& InstanceBuilder::use_default_debug_messenger () {
|
||||||
info.use_debug_messenger = true;
|
info.use_debug_messenger = true;
|
||||||
info.debug_callback = default_debug_callback;
|
info.debug_callback = default_debug_callback;
|
||||||
|
@ -117,7 +117,6 @@ enum class InstanceError {
|
|||||||
requested_extensions_not_present
|
requested_extensions_not_present
|
||||||
};
|
};
|
||||||
const char* to_string (InstanceError err);
|
const char* to_string (InstanceError err);
|
||||||
|
|
||||||
class InstanceBuilder;
|
class InstanceBuilder;
|
||||||
class PhysicalDeviceSelector;
|
class PhysicalDeviceSelector;
|
||||||
|
|
||||||
@ -134,8 +133,6 @@ struct Instance {
|
|||||||
|
|
||||||
void destroy_instance (Instance instance); // release instance resources
|
void destroy_instance (Instance instance); // release instance resources
|
||||||
|
|
||||||
// TODO utility function for users to check if layer/extension is supported
|
|
||||||
|
|
||||||
class InstanceBuilder {
|
class InstanceBuilder {
|
||||||
public:
|
public:
|
||||||
// contains useful information about the available vulkan capabilities, like layers and instance extensions.
|
// contains useful information about the available vulkan capabilities, like layers and instance extensions.
|
||||||
@ -155,21 +152,16 @@ class InstanceBuilder {
|
|||||||
// Sets the vulkan API version to use.
|
// Sets the vulkan API version to use.
|
||||||
InstanceBuilder& set_api_version (uint32_t major, uint32_t minor, uint32_t patch);
|
InstanceBuilder& set_api_version (uint32_t major, uint32_t minor, uint32_t patch);
|
||||||
|
|
||||||
// Loads the specified layer if it is available.
|
|
||||||
InstanceBuilder& request_layer (const char* layer_name);
|
|
||||||
// Adds a layer to be enabled. Will fail to create an instance if the layer isn't available.
|
// Adds a layer to be enabled. Will fail to create an instance if the layer isn't available.
|
||||||
InstanceBuilder& must_enable_layer (const char* layer_name);
|
InstanceBuilder& enable_layer (const char* layer_name);
|
||||||
|
|
||||||
// Enables the specified extension if it is available.
|
|
||||||
InstanceBuilder& request_extension (const char* extension_name);
|
|
||||||
// Adds an extension to be enabled. Will fail to create an instance if the extension isn't available.
|
// Adds an extension to be enabled. Will fail to create an instance if the extension isn't available.
|
||||||
InstanceBuilder& must_enable_extension (const char* extension_name);
|
InstanceBuilder& enable_extension (const char* extension_name);
|
||||||
|
|
||||||
// Headless Mode does not load the required extensions for presentation. Defaults to false.
|
// Headless Mode does not load the required extensions for presentation. Defaults to false.
|
||||||
InstanceBuilder& set_headless (bool headless = false);
|
InstanceBuilder& set_headless (bool headless = false);
|
||||||
|
|
||||||
// Enables the validation layers. Will fail to create an instance if the validation layers aren't available.
|
// Enables the validation layers. Will fail to create an instance if the validation layers aren't available.
|
||||||
InstanceBuilder& must_enable_validation_layers (bool require_validation = true);
|
InstanceBuilder& enable_validation_layers (bool require_validation = true);
|
||||||
// Checks if the validation layers are available and loads them if they are.
|
// Checks if the validation layers are available and loads them if they are.
|
||||||
InstanceBuilder& request_validation_layers (bool enable_validation = true);
|
InstanceBuilder& request_validation_layers (bool enable_validation = true);
|
||||||
|
|
||||||
@ -226,8 +218,6 @@ class InstanceBuilder {
|
|||||||
std::vector<VkValidationFeatureEnableEXT> enabled_validation_features;
|
std::vector<VkValidationFeatureEnableEXT> enabled_validation_features;
|
||||||
std::vector<VkValidationFeatureDisableEXT> disabled_validation_features;
|
std::vector<VkValidationFeatureDisableEXT> disabled_validation_features;
|
||||||
|
|
||||||
// booleans
|
|
||||||
bool ignore_non_critical_issues = true;
|
|
||||||
bool enable_validation_layers = false;
|
bool enable_validation_layers = false;
|
||||||
bool use_debug_messenger = false;
|
bool use_debug_messenger = false;
|
||||||
bool headless_context = false;
|
bool headless_context = false;
|
||||||
|
Loading…
Reference in New Issue
Block a user