zink: pass screen to extension getter macro
This is just prep-work to reduce the size of the final commit; this allows us to store the extension-getter function in the screen object. Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com> Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11550>
This commit is contained in:
committed by
Marge Bot
parent
57293dee2b
commit
9e9ead2c15
@@ -1602,9 +1602,9 @@ zink_internal_setup_moltenvk(struct zink_screen *screen)
|
||||
if (!screen->instance_info.have_MVK_moltenvk)
|
||||
return true;
|
||||
|
||||
GET_PROC_ADDR_INSTANCE_LOCAL(screen->instance, GetMoltenVKConfigurationMVK);
|
||||
GET_PROC_ADDR_INSTANCE_LOCAL(screen->instance, SetMoltenVKConfigurationMVK);
|
||||
GET_PROC_ADDR_INSTANCE_LOCAL(screen->instance, GetVersionStringsMVK);
|
||||
GET_PROC_ADDR_INSTANCE_LOCAL(screen, screen->instance, GetMoltenVKConfigurationMVK);
|
||||
GET_PROC_ADDR_INSTANCE_LOCAL(screen, screen->instance, SetMoltenVKConfigurationMVK);
|
||||
GET_PROC_ADDR_INSTANCE_LOCAL(screen, screen->instance, GetVersionStringsMVK);
|
||||
|
||||
if (vk_GetVersionStringsMVK) {
|
||||
char molten_version[64] = {0};
|
||||
@@ -1739,13 +1739,13 @@ zink_screen_timeline_wait(struct zink_screen *screen, uint32_t batch_id, uint64_
|
||||
}
|
||||
|
||||
static uint32_t
|
||||
zink_get_loader_version(void)
|
||||
zink_get_loader_version(struct zink_screen *screen)
|
||||
{
|
||||
|
||||
uint32_t loader_version = VK_API_VERSION_1_0;
|
||||
|
||||
// Get the Loader version
|
||||
GET_PROC_ADDR_INSTANCE_LOCAL(NULL, EnumerateInstanceVersion);
|
||||
GET_PROC_ADDR_INSTANCE_LOCAL(screen, NULL, EnumerateInstanceVersion);
|
||||
if (vk_EnumerateInstanceVersion) {
|
||||
uint32_t loader_version_temp = VK_API_VERSION_1_0;
|
||||
if (VK_SUCCESS == (*vk_EnumerateInstanceVersion)(&loader_version_temp)) {
|
||||
@@ -2045,7 +2045,8 @@ zink_internal_create_screen(const struct pipe_screen_config *config)
|
||||
abort();
|
||||
}
|
||||
|
||||
screen->instance_info.loader_version = zink_get_loader_version();
|
||||
screen->instance_info.loader_version = zink_get_loader_version(screen);
|
||||
|
||||
#if WITH_XMLCONFIG
|
||||
if (config) {
|
||||
driParseConfigFiles(config->options, config->options_info, 0, "zink",
|
||||
|
||||
@@ -265,7 +265,7 @@ zink_screen_timeline_wait(struct zink_screen *screen, uint32_t batch_id, uint64_
|
||||
bool
|
||||
zink_is_depth_format_supported(struct zink_screen *screen, VkFormat format);
|
||||
|
||||
#define GET_PROC_ADDR_INSTANCE_LOCAL(instance, x) PFN_vk##x vk_##x = (PFN_vk##x)vkGetInstanceProcAddr(instance, "vk"#x)
|
||||
#define GET_PROC_ADDR_INSTANCE_LOCAL(screen, instance, x) PFN_vk##x vk_##x = (PFN_vk##x)vkGetInstanceProcAddr(instance, "vk"#x)
|
||||
|
||||
void
|
||||
zink_screen_update_pipeline_cache(struct zink_screen *screen, struct zink_program *pg);
|
||||
|
||||
Reference in New Issue
Block a user