mirror of
https://github.com/hyprwm/wlroots-hyprland.git
synced 2024-11-25 22:25:58 +01:00
render/vulkan: remove exts arg from vulkan_instance_create()
This commit is contained in:
parent
7a42392da2
commit
2ac2835a1f
3 changed files with 6 additions and 26 deletions
|
@ -25,13 +25,9 @@ struct wlr_vk_instance {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Creates and initializes a vulkan instance.
|
// Creates and initializes a vulkan instance.
|
||||||
// Will try to enable the given extensions but not fail if they are not
|
|
||||||
// available which can later be checked by the caller.
|
|
||||||
// The debug parameter determines if validation layers are enabled and a
|
// The debug parameter determines if validation layers are enabled and a
|
||||||
// debug messenger created.
|
// debug messenger created.
|
||||||
// `compositor_name` and `compositor_version` are passed to the vulkan driver.
|
struct wlr_vk_instance *vulkan_instance_create(bool debug);
|
||||||
struct wlr_vk_instance *vulkan_instance_create(size_t ext_count,
|
|
||||||
const char **exts, bool debug);
|
|
||||||
void vulkan_instance_destroy(struct wlr_vk_instance *ini);
|
void vulkan_instance_destroy(struct wlr_vk_instance *ini);
|
||||||
|
|
||||||
// Logical vulkan device state.
|
// Logical vulkan device state.
|
||||||
|
|
|
@ -1713,7 +1713,7 @@ struct wlr_renderer *wlr_vk_renderer_create_with_drm_fd(int drm_fd) {
|
||||||
// NOTE: we could add functionality to allow the compositor passing its
|
// NOTE: we could add functionality to allow the compositor passing its
|
||||||
// name and version to this function. Just use dummies until then,
|
// name and version to this function. Just use dummies until then,
|
||||||
// shouldn't be relevant to the driver anyways
|
// shouldn't be relevant to the driver anyways
|
||||||
struct wlr_vk_instance *ini = vulkan_instance_create(0, NULL, default_debug);
|
struct wlr_vk_instance *ini = vulkan_instance_create(default_debug);
|
||||||
if (!ini) {
|
if (!ini) {
|
||||||
wlr_log(WLR_ERROR, "creating vulkan instance for renderer failed");
|
wlr_log(WLR_ERROR, "creating vulkan instance for renderer failed");
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
|
@ -84,8 +84,7 @@ static VkBool32 debug_callback(VkDebugUtilsMessageSeverityFlagBitsEXT severity,
|
||||||
|
|
||||||
|
|
||||||
// instance
|
// instance
|
||||||
struct wlr_vk_instance *vulkan_instance_create(size_t ext_count,
|
struct wlr_vk_instance *vulkan_instance_create(bool debug) {
|
||||||
const char **exts, bool debug) {
|
|
||||||
// we require vulkan 1.1
|
// we require vulkan 1.1
|
||||||
PFN_vkEnumerateInstanceVersion pfEnumInstanceVersion =
|
PFN_vkEnumerateInstanceVersion pfEnumInstanceVersion =
|
||||||
(PFN_vkEnumerateInstanceVersion)
|
(PFN_vkEnumerateInstanceVersion)
|
||||||
|
@ -132,22 +131,7 @@ struct wlr_vk_instance *vulkan_instance_create(size_t ext_count,
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t extensions_len = 0;
|
size_t extensions_len = 0;
|
||||||
const char **extensions = calloc(1 + ext_count, sizeof(*extensions));
|
const char *extensions[1] = {0};
|
||||||
if (!extensions) {
|
|
||||||
wlr_log_errno(WLR_ERROR, "allocation failed");
|
|
||||||
goto error;
|
|
||||||
}
|
|
||||||
|
|
||||||
// find extensions
|
|
||||||
for (unsigned i = 0; i < ext_count; ++i) {
|
|
||||||
if (find_extensions(avail_ext_props, avail_extc, &exts[i], 1)) {
|
|
||||||
wlr_log(WLR_DEBUG, "vulkan instance extension %s not found",
|
|
||||||
exts[i]);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
extensions[extensions_len++] = exts[i];
|
|
||||||
}
|
|
||||||
|
|
||||||
bool debug_utils_found = false;
|
bool debug_utils_found = false;
|
||||||
if (debug) {
|
if (debug) {
|
||||||
|
@ -158,6 +142,8 @@ struct wlr_vk_instance *vulkan_instance_create(size_t ext_count,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
assert(extensions_len <= sizeof(extensions) / sizeof(extensions[0]));
|
||||||
|
|
||||||
VkApplicationInfo application_info = {0};
|
VkApplicationInfo application_info = {0};
|
||||||
application_info.sType = VK_STRUCTURE_TYPE_APPLICATION_INFO;
|
application_info.sType = VK_STRUCTURE_TYPE_APPLICATION_INFO;
|
||||||
application_info.pEngineName = "wlroots";
|
application_info.pEngineName = "wlroots";
|
||||||
|
@ -210,8 +196,6 @@ struct wlr_vk_instance *vulkan_instance_create(size_t ext_count,
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
|
||||||
free(extensions);
|
|
||||||
|
|
||||||
// debug callback
|
// debug callback
|
||||||
if (debug_utils_found) {
|
if (debug_utils_found) {
|
||||||
ini->api.createDebugUtilsMessengerEXT =
|
ini->api.createDebugUtilsMessengerEXT =
|
||||||
|
|
Loading…
Reference in a new issue