dri: rename 'implicit' param from earlier series

I accidentally merged the wrong version of this, and this was supposed
to be the correct and more informative name

Acked-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29066>
This commit is contained in:
Mike Blumenkrantz
2024-05-06 08:51:31 -04:00
committed by Marge Bot
parent 9666756f60
commit 2efa1ae0d5
21 changed files with 86 additions and 86 deletions

View File

@@ -968,7 +968,7 @@ struct __DRIswrastExtensionRec {
int (*queryBufferAge)(__DRIdrawable *drawable);
/**
* createNewScreen() with the driver extensions passed in and implicit load flag.
* createNewScreen() with the driver extensions passed in and driver_name_is_inferred load flag.
*
* \since version 6
*/
@@ -976,7 +976,7 @@ struct __DRIswrastExtensionRec {
const __DRIextension **loader_extensions,
const __DRIextension **driver_extensions,
const __DRIconfig ***driver_configs,
bool implicit,
bool driver_name_is_inferred,
void *loaderPrivate);
};
@@ -995,7 +995,7 @@ typedef __DRIscreen *
const __DRIextension **extensions,
const __DRIextension **driver_extensions,
const __DRIconfig ***driver_configs,
bool implicit,
bool driver_name_is_inferred,
void *loaderPrivate);
typedef __DRIdrawable *
@@ -1253,7 +1253,7 @@ struct __DRIdri2ExtensionRec {
__DRIcreateNewScreen2Func createNewScreen2;
/**
* createNewScreen with the driver's extension list passed in and implicit load flag.
* createNewScreen with the driver's extension list passed in and driver_name_is_inferred load flag.
*
* \since version 5
*/

View File

@@ -60,7 +60,7 @@ struct __DRImesaCoreExtensionRec {
__DRIcreateContextAttribsFunc createContext;
/* driver function for finishing initialization inside createNewScreen(). */
const __DRIconfig **(*initScreen)(struct dri_screen *screen, bool implicit);
const __DRIconfig **(*initScreen)(struct dri_screen *screen, bool driver_name_is_inferred);
int (*queryCompatibleRenderOnlyDeviceFd)(int kms_only_fd);

View File

@@ -169,12 +169,12 @@ pipe_loader_get_driinfo_xml(const char *driver_name)
}
struct pipe_screen *
pipe_loader_create_screen_vk(struct pipe_loader_device *dev, bool sw_vk, bool implicit)
pipe_loader_create_screen_vk(struct pipe_loader_device *dev, bool sw_vk, bool driver_name_is_inferred)
{
struct pipe_screen_config config;
pipe_loader_load_options(dev);
config.implicit_driver_load = implicit;
config.driver_name_is_inferred = driver_name_is_inferred;
config.options_info = &dev->option_info;
config.options = &dev->option_cache;
@@ -182,9 +182,9 @@ pipe_loader_create_screen_vk(struct pipe_loader_device *dev, bool sw_vk, bool im
}
struct pipe_screen *
pipe_loader_create_screen(struct pipe_loader_device *dev, bool implicit)
pipe_loader_create_screen(struct pipe_loader_device *dev, bool driver_name_is_inferred)
{
return pipe_loader_create_screen_vk(dev, false, implicit);
return pipe_loader_create_screen_vk(dev, false, driver_name_is_inferred);
}
struct util_dl_library *

View File

@@ -88,19 +88,19 @@ pipe_loader_probe(struct pipe_loader_device **devs, int ndev, bool with_zink);
*
* \param dev Device the screen will be created for.
* \param sw_vk Device is for software vulkan
* \param implicit Whether the driver is being loaded implicitly.
* \param driver_name_is_inferred Whether the driver name has been directly selected.
*/
struct pipe_screen *
pipe_loader_create_screen_vk(struct pipe_loader_device *dev, bool sw_vk, bool implicit);
pipe_loader_create_screen_vk(struct pipe_loader_device *dev, bool sw_vk, bool driver_name_is_inferred);
/**
* Create a pipe_screen for the specified device.
*
* \param dev Device the screen will be created for.
* \param implicit Whether the driver is being loaded implicitly.
* \param driver_name_is_inferred Whether the driver name has been directly selected.
*/
struct pipe_screen *
pipe_loader_create_screen(struct pipe_loader_device *dev, bool implicit);
pipe_loader_create_screen(struct pipe_loader_device *dev, bool driver_name_is_inferred);
/**
* Ensures that the driconf option cache has been parsed for the driver.

View File

@@ -471,7 +471,7 @@ zink_get_physical_device_info(struct zink_screen *screen)
// enumerate device supported extensions
VkResult result = screen->vk.EnumerateDeviceExtensionProperties(screen->pdev, NULL, &num_extensions, NULL);
if (result != VK_SUCCESS) {
if (!screen->implicitly_loaded)
if (!screen->driver_name_is_inferred)
mesa_loge("ZINK: vkEnumerateDeviceExtensionProperties failed (%s)", vk_Result_to_str(result));
} else {
if (num_extensions > 0) {
@@ -479,7 +479,7 @@ zink_get_physical_device_info(struct zink_screen *screen)
if (!extensions) goto fail;
result = screen->vk.EnumerateDeviceExtensionProperties(screen->pdev, NULL, &num_extensions, extensions);
if (result != VK_SUCCESS) {
if (!screen->implicitly_loaded)
if (!screen->driver_name_is_inferred)
mesa_loge("ZINK: vkEnumerateDeviceExtensionProperties failed (%s)", vk_Result_to_str(result));
}

View File

@@ -163,13 +163,13 @@ zink_create_instance(struct zink_screen *screen, bool display_dev)
// Build up the extensions from the reported ones but only for the unnamed layer
uint32_t extension_count = 0;
if (vk_EnumerateInstanceExtensionProperties(NULL, &extension_count, NULL) != VK_SUCCESS) {
if (!screen->implicitly_loaded)
if (!screen->driver_name_is_inferred)
mesa_loge("ZINK: vkEnumerateInstanceExtensionProperties failed");
} else {
VkExtensionProperties *extension_props = malloc(extension_count * sizeof(VkExtensionProperties));
if (extension_props) {
if (vk_EnumerateInstanceExtensionProperties(NULL, &extension_count, extension_props) != VK_SUCCESS) {
if (!screen->implicitly_loaded)
if (!screen->driver_name_is_inferred)
mesa_loge("ZINK: vkEnumerateInstanceExtensionProperties failed");
} else {
for (uint32_t i = 0; i < extension_count; i++) {
@@ -188,13 +188,13 @@ zink_create_instance(struct zink_screen *screen, bool display_dev)
uint32_t layer_count = 0;
if (vk_EnumerateInstanceLayerProperties(&layer_count, NULL) != VK_SUCCESS) {
if (!screen->implicitly_loaded)
if (!screen->driver_name_is_inferred)
mesa_loge("ZINK: vkEnumerateInstanceLayerProperties failed");
} else {
VkLayerProperties *layer_props = malloc(layer_count * sizeof(VkLayerProperties));
if (layer_props) {
if (vk_EnumerateInstanceLayerProperties(&layer_count, layer_props) != VK_SUCCESS) {
if (!screen->implicitly_loaded)
if (!screen->driver_name_is_inferred)
mesa_loge("ZINK: vkEnumerateInstanceLayerProperties failed");
} else {
for (uint32_t i = 0; i < layer_count; i++) {
@@ -270,7 +270,7 @@ zink_create_instance(struct zink_screen *screen, bool display_dev)
VkResult err = vk_CreateInstance(&ici, NULL, &screen->instance);
if (err != VK_SUCCESS) {
if (!screen->implicitly_loaded)
if (!screen->driver_name_is_inferred)
mesa_loge("ZINK: vkCreateInstance failed (%s)", vk_Result_to_str(err));
return false;
}

View File

@@ -1701,7 +1701,7 @@ choose_pdev(struct zink_screen *screen, int64_t dev_major, int64_t dev_minor)
VkPhysicalDevice *pdevs;
VkResult result = VKSCR(EnumeratePhysicalDevices)(screen->instance, &pdev_count, NULL);
if (result != VK_SUCCESS) {
if (!screen->implicitly_loaded)
if (!screen->driver_name_is_inferred)
mesa_loge("ZINK: vkEnumeratePhysicalDevices failed (%s)", vk_Result_to_str(result));
return;
}
@@ -1710,7 +1710,7 @@ choose_pdev(struct zink_screen *screen, int64_t dev_major, int64_t dev_minor)
pdevs = malloc(sizeof(*pdevs) * pdev_count);
if (!pdevs) {
if (!screen->implicitly_loaded)
if (!screen->driver_name_is_inferred)
mesa_loge("ZINK: failed to allocate pdevs!");
return;
}
@@ -1738,7 +1738,7 @@ choose_pdev(struct zink_screen *screen, int64_t dev_major, int64_t dev_minor)
unsigned pdev_count = 1;
VkResult result = VKSCR(EnumeratePhysicalDevices)(screen->instance, &pdev_count, &pdev);
if (result != VK_SUCCESS && result != VK_INCOMPLETE) {
if (!screen->implicitly_loaded)
if (!screen->driver_name_is_inferred)
mesa_loge("ZINK: vkEnumeratePhysicalDevices failed (%s)", vk_Result_to_str(result));
return;
}
@@ -3267,12 +3267,12 @@ zink_internal_create_screen(const struct pipe_screen_config *config, int64_t dev
struct zink_screen *screen = rzalloc(NULL, struct zink_screen);
if (!screen) {
if (!config->implicit_driver_load)
if (!config->driver_name_is_inferred)
mesa_loge("ZINK: failed to allocate screen");
return NULL;
}
screen->implicitly_loaded = config->implicit_driver_load;
screen->driver_name_is_inferred = config->driver_name_is_inferred;
screen->drm_fd = -1;
glsl_type_singleton_init_or_ref();
@@ -3292,7 +3292,7 @@ zink_internal_create_screen(const struct pipe_screen_config *config, int64_t dev
screen->loader_lib = util_dl_open(VK_LIBNAME);
if (!screen->loader_lib) {
if (!screen->implicitly_loaded)
if (!screen->driver_name_is_inferred)
mesa_loge("ZINK: failed to load "VK_LIBNAME);
goto fail;
}
@@ -3301,7 +3301,7 @@ zink_internal_create_screen(const struct pipe_screen_config *config, int64_t dev
screen->vk_GetDeviceProcAddr = (PFN_vkGetDeviceProcAddr)util_dl_get_proc_address(screen->loader_lib, "vkGetDeviceProcAddr");
if (!screen->vk_GetInstanceProcAddr ||
!screen->vk_GetDeviceProcAddr) {
if (!screen->implicitly_loaded)
if (!screen->driver_name_is_inferred)
mesa_loge("ZINK: failed to get proc address");
goto fail;
}
@@ -3322,7 +3322,7 @@ zink_internal_create_screen(const struct pipe_screen_config *config, int64_t dev
if (zink_debug & ZINK_DEBUG_VALIDATION) {
if (!screen->instance_info.have_layer_KHRONOS_validation &&
!screen->instance_info.have_layer_LUNARG_standard_validation) {
if (!screen->implicitly_loaded)
if (!screen->driver_name_is_inferred)
mesa_loge("Failed to load validation layer");
goto fail;
}
@@ -3339,13 +3339,13 @@ zink_internal_create_screen(const struct pipe_screen_config *config, int64_t dev
if (screen->instance_info.have_EXT_debug_utils &&
(zink_debug & ZINK_DEBUG_VALIDATION) && !create_debug(screen)) {
if (!screen->implicitly_loaded)
if (!screen->driver_name_is_inferred)
debug_printf("ZINK: failed to setup debug utils\n");
}
choose_pdev(screen, dev_major, dev_minor);
if (screen->pdev == VK_NULL_HANDLE) {
if (!screen->implicitly_loaded)
if (!screen->driver_name_is_inferred)
mesa_loge("ZINK: failed to choose pdev");
goto fail;
}
@@ -3361,7 +3361,7 @@ zink_internal_create_screen(const struct pipe_screen_config *config, int64_t dev
VK_FORMAT_D32_SFLOAT_S8_UINT);
if (!zink_get_physical_device_info(screen)) {
if (!screen->implicitly_loaded)
if (!screen->driver_name_is_inferred)
debug_printf("ZINK: failed to detect features\n");
goto fail;
}
@@ -3405,20 +3405,20 @@ zink_internal_create_screen(const struct pipe_screen_config *config, int64_t dev
setup_renderdoc(screen);
if (screen->threaded_submit && !util_queue_init(&screen->flush_queue, "zfq", 8, 1, UTIL_QUEUE_INIT_RESIZE_IF_FULL, screen)) {
if (!screen->implicitly_loaded)
if (!screen->driver_name_is_inferred)
mesa_loge("zink: Failed to create flush queue.\n");
goto fail;
}
zink_internal_setup_moltenvk(screen);
if (!screen->info.have_KHR_timeline_semaphore && !screen->info.feats12.timelineSemaphore) {
if (!screen->implicitly_loaded)
if (!screen->driver_name_is_inferred)
mesa_loge("zink: KHR_timeline_semaphore is required");
goto fail;
}
if (zink_debug & ZINK_DEBUG_DGC) {
if (!screen->info.have_NV_device_generated_commands) {
if (!screen->implicitly_loaded)
if (!screen->driver_name_is_inferred)
mesa_loge("zink: can't use DGC without NV_device_generated_commands");
goto fail;
}
@@ -3538,7 +3538,7 @@ zink_internal_create_screen(const struct pipe_screen_config *config, int64_t dev
if (!zink_screen_resource_init(&screen->base))
goto fail;
if (!zink_bo_init(screen)) {
if (!screen->implicitly_loaded)
if (!screen->driver_name_is_inferred)
mesa_loge("ZINK: failed to initialize suballocator");
goto fail;
}
@@ -3548,7 +3548,7 @@ zink_internal_create_screen(const struct pipe_screen_config *config, int64_t dev
screen->driver_workarounds.io_opt = true;
zink_screen_init_compiler(screen);
if (!disk_cache_init(screen)) {
if (!screen->implicitly_loaded)
if (!screen->driver_name_is_inferred)
mesa_loge("ZINK: failed to initialize disk cache");
goto fail;
}
@@ -3565,13 +3565,13 @@ zink_internal_create_screen(const struct pipe_screen_config *config, int64_t dev
screen->total_video_mem = get_video_mem(screen);
screen->clamp_video_mem = screen->total_video_mem * 0.8;
if (!os_get_total_physical_memory(&screen->total_mem)) {
if (!screen->implicitly_loaded)
if (!screen->driver_name_is_inferred)
mesa_loge("ZINK: failed to get total physical memory");
goto fail;
}
if (!zink_screen_init_semaphore(screen)) {
if (!screen->implicitly_loaded)
if (!screen->driver_name_is_inferred)
mesa_loge("zink: failed to create timeline semaphore");
goto fail;
}
@@ -3580,7 +3580,7 @@ zink_internal_create_screen(const struct pipe_screen_config *config, int64_t dev
{
if (!screen->info.have_EXT_descriptor_buffer) {
if (zink_descriptor_mode == ZINK_DESCRIPTOR_MODE_DB) {
if (!screen->implicitly_loaded)
if (!screen->driver_name_is_inferred)
mesa_loge("Cannot use db descriptor mode without EXT_descriptor_buffer");
goto fail;
}
@@ -3588,7 +3588,7 @@ zink_internal_create_screen(const struct pipe_screen_config *config, int64_t dev
}
if (!screen->resizable_bar) {
if (zink_descriptor_mode == ZINK_DESCRIPTOR_MODE_DB) {
if (!screen->implicitly_loaded)
if (!screen->driver_name_is_inferred)
mesa_loge("Cannot use db descriptor mode without resizable bar");
goto fail;
}
@@ -3596,7 +3596,7 @@ zink_internal_create_screen(const struct pipe_screen_config *config, int64_t dev
}
if (!screen->info.have_EXT_non_seamless_cube_map) {
if (zink_descriptor_mode == ZINK_DESCRIPTOR_MODE_DB) {
if (!screen->implicitly_loaded)
if (!screen->driver_name_is_inferred)
mesa_loge("Cannot use db descriptor mode without EXT_non_seamless_cube_map");
goto fail;
}
@@ -3604,7 +3604,7 @@ zink_internal_create_screen(const struct pipe_screen_config *config, int64_t dev
}
if (!screen->info.rb2_feats.nullDescriptor) {
if (zink_descriptor_mode == ZINK_DESCRIPTOR_MODE_DB) {
if (!screen->implicitly_loaded)
if (!screen->driver_name_is_inferred)
mesa_loge("Cannot use db descriptor mode without robustness2.nullDescriptor");
goto fail;
}
@@ -3612,7 +3612,7 @@ zink_internal_create_screen(const struct pipe_screen_config *config, int64_t dev
}
if (ZINK_FBFETCH_DESCRIPTOR_SIZE < screen->info.db_props.inputAttachmentDescriptorSize) {
if (zink_descriptor_mode == ZINK_DESCRIPTOR_MODE_DB) {
if (!screen->implicitly_loaded)
if (!screen->driver_name_is_inferred)
mesa_loge("Cannot use db descriptor mode with inputAttachmentDescriptorSize(%u) > %u", (unsigned)screen->info.db_props.inputAttachmentDescriptorSize, ZINK_FBFETCH_DESCRIPTOR_SIZE);
goto fail;
}
@@ -3672,13 +3672,13 @@ zink_internal_create_screen(const struct pipe_screen_config *config, int64_t dev
zink_init_screen_pipeline_libs(screen);
if (!init_layouts(screen)) {
if (!screen->implicitly_loaded)
if (!screen->driver_name_is_inferred)
mesa_loge("ZINK: failed to initialize layouts");
goto fail;
}
if (!zink_descriptor_layouts_init(screen)) {
if (!screen->implicitly_loaded)
if (!screen->driver_name_is_inferred)
mesa_loge("ZINK: failed to initialize descriptor layouts");
goto fail;
}

View File

@@ -1415,7 +1415,7 @@ struct zink_screen {
bool is_cpu;
bool abort_on_hang;
bool frame_marker_emitted;
bool implicitly_loaded;
bool driver_name_is_inferred;
uint64_t curr_batch; //the current batch id
uint32_t last_finished;
VkSemaphore sem;

View File

@@ -2332,7 +2332,7 @@ dri2_create_drawable(struct dri_screen *screen, const struct gl_config *visual,
* Returns the struct gl_config supported by this driver.
*/
static const __DRIconfig **
dri2_init_screen(struct dri_screen *screen, bool implicit)
dri2_init_screen(struct dri_screen *screen, bool driver_name_is_inferred)
{
const __DRIconfig **configs;
struct pipe_screen *pscreen = NULL;
@@ -2341,7 +2341,7 @@ dri2_init_screen(struct dri_screen *screen, bool implicit)
#ifdef HAVE_LIBDRM
if (pipe_loader_drm_probe_fd(&screen->dev, screen->fd, false))
pscreen = pipe_loader_create_screen(screen->dev, implicit);
pscreen = pipe_loader_create_screen(screen->dev, driver_name_is_inferred);
#endif
if (!pscreen)
@@ -2390,7 +2390,7 @@ fail:
* Returns the struct gl_config supported by this driver.
*/
static const __DRIconfig **
dri_swrast_kms_init_screen(struct dri_screen *screen, bool implicit)
dri_swrast_kms_init_screen(struct dri_screen *screen, bool driver_name_is_inferred)
{
#if defined(GALLIUM_SOFTPIPE)
const __DRIconfig **configs;
@@ -2398,7 +2398,7 @@ dri_swrast_kms_init_screen(struct dri_screen *screen, bool implicit)
#ifdef HAVE_DRISW_KMS
if (pipe_loader_sw_probe_kms(&screen->dev, screen->fd))
pscreen = pipe_loader_create_screen(screen->dev, implicit);
pscreen = pipe_loader_create_screen(screen->dev, driver_name_is_inferred);
#endif
if (!pscreen)

View File

@@ -100,7 +100,7 @@ __DRIscreen *
driCreateNewScreen3(int scrn, int fd,
const __DRIextension **loader_extensions,
const __DRIextension **driver_extensions,
const __DRIconfig ***driver_configs, bool implicit, void *data)
const __DRIconfig ***driver_configs, bool driver_name_is_inferred, void *data)
{
static const __DRIextension *emptyExtensionList[] = { NULL };
struct dri_screen *screen;
@@ -137,7 +137,7 @@ driCreateNewScreen3(int scrn, int fd,
driParseConfigFiles(&screen->optionCache, &screen->optionInfo, screen->myNum,
"dri2", NULL, NULL, NULL, 0, NULL, 0);
*driver_configs = mesa->initScreen(screen, implicit);
*driver_configs = mesa->initScreen(screen, driver_name_is_inferred);
if (*driver_configs == NULL) {
dri_destroy_screen(screen);
return NULL;
@@ -226,10 +226,10 @@ driSWRastCreateNewScreen2(int scrn, const __DRIextension **extensions,
static __DRIscreen *
driSWRastCreateNewScreen3(int scrn, const __DRIextension **extensions,
const __DRIextension **driver_extensions,
const __DRIconfig ***driver_configs, bool implicit, void *data)
const __DRIconfig ***driver_configs, bool driver_name_is_inferred, void *data)
{
return driCreateNewScreen3(scrn, -1, extensions, driver_extensions,
driver_configs, implicit, data);
driver_configs, driver_name_is_inferred, data);
}
/**

View File

@@ -107,7 +107,7 @@ __DRIscreen *
driCreateNewScreen3(int scrn, int fd,
const __DRIextension **loader_extensions,
const __DRIextension **driver_extensions,
const __DRIconfig ***driver_configs, bool implicit, void *data);
const __DRIconfig ***driver_configs, bool driver_name_is_inferred, void *data);
__DRIscreen *
driCreateNewScreen2(int scrn, int fd,
const __DRIextension **loader_extensions,

View File

@@ -575,7 +575,7 @@ drisw_create_drawable(struct dri_screen *screen, const struct gl_config * visual
}
static const __DRIconfig **
drisw_init_screen(struct dri_screen *screen, bool implicit)
drisw_init_screen(struct dri_screen *screen, bool driver_name_is_inferred)
{
const __DRIswrastLoaderExtension *loader = screen->swrast_loader;
const __DRIconfig **configs;
@@ -598,7 +598,7 @@ drisw_init_screen(struct dri_screen *screen, bool implicit)
success = pipe_loader_sw_probe_dri(&screen->dev, lf);
if (success)
pscreen = pipe_loader_create_screen(screen->dev, implicit);
pscreen = pipe_loader_create_screen(screen->dev, driver_name_is_inferred);
if (!pscreen)
goto fail;

View File

@@ -111,7 +111,7 @@ static const __DRIextension *drivk_sw_screen_extensions[] = {
};
static const __DRIconfig **
kopper_init_screen(struct dri_screen *screen, bool implicit)
kopper_init_screen(struct dri_screen *screen, bool driver_name_is_inferred)
{
const __DRIconfig **configs;
struct pipe_screen *pscreen = NULL;
@@ -136,7 +136,7 @@ kopper_init_screen(struct dri_screen *screen, bool implicit)
#endif
if (success)
pscreen = pipe_loader_create_screen(screen->dev, implicit);
pscreen = pipe_loader_create_screen(screen->dev, driver_name_is_inferred);
if (!pscreen)
goto fail;

View File

@@ -810,7 +810,7 @@ struct pipe_screen {
* Global configuration options for screen creation.
*/
struct pipe_screen_config {
bool implicit_driver_load;
bool driver_name_is_inferred;
struct driOptionCache *options;
const struct driOptionCache *options_info;
};

View File

@@ -287,7 +287,7 @@ dri_open_driver(struct gbm_dri_device *dri)
}
static int
dri_screen_create_for_driver(struct gbm_dri_device *dri, char *driver_name, bool implicit)
dri_screen_create_for_driver(struct gbm_dri_device *dri, char *driver_name, bool driver_name_is_inferred)
{
bool swrast = driver_name == NULL; /* If it's pure swrast, not just swkms. */
@@ -318,7 +318,7 @@ dri_screen_create_for_driver(struct gbm_dri_device *dri, char *driver_name, bool
dri->screen = dri->mesa->createNewScreen3(0, swrast ? -1 : dri->base.v0.fd,
dri->loader_extensions,
dri->driver_extensions,
&dri->driver_configs, implicit, dri);
&dri->driver_configs, driver_name_is_inferred, dri);
if (dri->screen == NULL)
goto close_driver;
@@ -348,7 +348,7 @@ fail:
}
static int
dri_screen_create(struct gbm_dri_device *dri, bool implicit)
dri_screen_create(struct gbm_dri_device *dri, bool driver_name_is_inferred)
{
char *driver_name;
@@ -356,11 +356,11 @@ dri_screen_create(struct gbm_dri_device *dri, bool implicit)
if (!driver_name)
return -1;
return dri_screen_create_for_driver(dri, driver_name, implicit);
return dri_screen_create_for_driver(dri, driver_name, driver_name_is_inferred);
}
static int
dri_screen_create_sw(struct gbm_dri_device *dri, bool implicit)
dri_screen_create_sw(struct gbm_dri_device *dri, bool driver_name_is_inferred)
{
char *driver_name;
int ret;
@@ -369,9 +369,9 @@ dri_screen_create_sw(struct gbm_dri_device *dri, bool implicit)
if (!driver_name)
return -errno;
ret = dri_screen_create_for_driver(dri, driver_name, implicit);
ret = dri_screen_create_for_driver(dri, driver_name, driver_name_is_inferred);
if (ret != 0)
ret = dri_screen_create_for_driver(dri, NULL, implicit);
ret = dri_screen_create_for_driver(dri, NULL, driver_name_is_inferred);
if (ret != 0)
return ret;

View File

@@ -1001,7 +1001,7 @@ static const struct glx_screen_vtable dri2_screen_vtable = {
};
static struct glx_screen *
dri2CreateScreen(int screen, struct glx_display * priv, bool implicit)
dri2CreateScreen(int screen, struct glx_display * priv, bool driver_name_is_inferred)
{
const __DRIconfig **driver_configs;
const __DRIextension **extensions;
@@ -1074,7 +1074,7 @@ dri2CreateScreen(int screen, struct glx_display * priv, bool implicit)
psc->dri2->createNewScreen3(screen, psc->fd,
(const __DRIextension **)&pdp->loader_extensions[0],
extensions,
&driver_configs, implicit, psc);
&driver_configs, driver_name_is_inferred, psc);
if (psc->driScreen == NULL) {
ErrorMessageF("glx: failed to create dri2 screen\n");

View File

@@ -790,7 +790,7 @@ static const struct glx_screen_vtable dri3_screen_vtable = {
*/
static struct glx_screen *
dri3_create_screen(int screen, struct glx_display * priv, bool implicit)
dri3_create_screen(int screen, struct glx_display * priv, bool driver_name_is_inferred)
{
xcb_connection_t *c = XGetXCBConnection(priv->dpy);
const __DRIconfig **driver_configs;
@@ -868,7 +868,7 @@ dri3_create_screen(int screen, struct glx_display * priv, bool implicit)
psc->image_driver->createNewScreen3(screen, psc->fd_display_gpu,
pdp->loader_extensions,
extensions,
&driver_configs, implicit, psc);
&driver_configs, driver_name_is_inferred, psc);
}
free(driverNameDisplayGPU);
@@ -879,7 +879,7 @@ dri3_create_screen(int screen, struct glx_display * priv, bool implicit)
psc->image_driver->createNewScreen3(screen, psc->fd_render_gpu,
pdp->loader_extensions,
extensions,
&driver_configs, implicit, psc);
&driver_configs, driver_name_is_inferred, psc);
if (psc->driScreenRenderGPU == NULL) {
ErrorMessageF("glx: failed to create dri3 screen\n");

View File

@@ -934,7 +934,7 @@ kopperGetSwapInterval(__GLXDRIdrawable *pdraw)
static struct glx_screen *
driswCreateScreenDriver(int screen, struct glx_display *priv,
const char *driver, bool implicit)
const char *driver, bool driver_name_is_inferred)
{
__GLXDRIscreen *psp;
const __DRIconfig **driver_configs;
@@ -978,9 +978,9 @@ driswCreateScreenDriver(int screen, struct glx_display *priv,
psc->driScreen =
psc->swrast->createNewScreen3(screen, loader_extensions_local,
extensions,
&driver_configs, implicit, psc);
&driver_configs, driver_name_is_inferred, psc);
if (psc->driScreen == NULL) {
if (!pdpyp->zink || !implicit)
if (!pdpyp->zink || !driver_name_is_inferred)
ErrorMessageF("glx: failed to create drisw screen\n");
goto handle_error;
}
@@ -1054,21 +1054,21 @@ driswCreateScreenDriver(int screen, struct glx_display *priv,
glx_screen_cleanup(&psc->base);
free(psc);
if (pdpyp->zink == TRY_ZINK_YES && !implicit)
if (pdpyp->zink == TRY_ZINK_YES && !driver_name_is_inferred)
CriticalErrorMessageF("failed to load driver: %s\n", driver);
return NULL;
}
static struct glx_screen *
driswCreateScreen(int screen, struct glx_display *priv, bool implicit)
driswCreateScreen(int screen, struct glx_display *priv, bool driver_name_is_inferred)
{
const struct drisw_display *pdpyp = (struct drisw_display *)priv->driswDisplay;
if (pdpyp->zink && !debug_get_bool_option("LIBGL_KOPPER_DISABLE", false)) {
return driswCreateScreenDriver(screen, priv, "zink", implicit);
return driswCreateScreenDriver(screen, priv, "zink", driver_name_is_inferred);
}
return driswCreateScreenDriver(screen, priv, "swrast", implicit);
return driswCreateScreenDriver(screen, priv, "swrast", driver_name_is_inferred);
}
/* Called from __glXFreeDisplayPrivate.

View File

@@ -461,7 +461,7 @@ driwindowsMapConfigs(struct glx_display *priv, int screen, struct glx_config *co
}
static struct glx_screen *
driwindowsCreateScreen(int screen, struct glx_display *priv, bool implicit)
driwindowsCreateScreen(int screen, struct glx_display *priv, bool driver_name_is_inferred)
{
__GLXDRIscreen *psp;
struct driwindows_screen *psc;

View File

@@ -87,7 +87,7 @@ struct __GLXDRIdisplayRec
*/
void (*destroyDisplay) (__GLXDRIdisplay * display);
struct glx_screen *(*createScreen)(int screen, struct glx_display * priv, bool implicit);
struct glx_screen *(*createScreen)(int screen, struct glx_display * priv, bool driver_name_is_inferred);
};
struct __GLXDRIscreenRec {

View File

@@ -763,7 +763,7 @@ glx_screen_cleanup(struct glx_screen *psc)
** If that works then fetch the per screen configs data.
*/
static Bool
AllocAndFetchScreenConfigs(Display * dpy, struct glx_display * priv, Bool zink, Bool implicit)
AllocAndFetchScreenConfigs(Display * dpy, struct glx_display * priv, Bool zink, Bool driver_name_is_inferred)
{
struct glx_screen *psc;
GLint i, screens;
@@ -783,19 +783,19 @@ AllocAndFetchScreenConfigs(Display * dpy, struct glx_display * priv, Bool zink,
#if defined(GLX_USE_DRM)
#if defined(HAVE_DRI3)
if (priv->dri3Display)
psc = priv->dri3Display->createScreen(i, priv, implicit);
psc = priv->dri3Display->createScreen(i, priv, driver_name_is_inferred);
#endif /* HAVE_DRI3 */
if (psc == NULL && priv->dri2Display)
psc = priv->dri2Display->createScreen(i, priv, implicit);
psc = priv->dri2Display->createScreen(i, priv, driver_name_is_inferred);
#endif /* GLX_USE_DRM */
#ifdef GLX_USE_WINDOWSGL
if (psc == NULL && priv->windowsdriDisplay)
psc = priv->windowsdriDisplay->createScreen(i, priv, implicit);
psc = priv->windowsdriDisplay->createScreen(i, priv, driver_name_is_inferred);
#endif
if ((psc == GLX_LOADER_USE_ZINK || psc == NULL) && priv->driswDisplay)
psc = priv->driswDisplay->createScreen(i, priv, psc == GLX_LOADER_USE_ZINK ? false : implicit);
psc = priv->driswDisplay->createScreen(i, priv, psc == GLX_LOADER_USE_ZINK ? false : driver_name_is_inferred);
#endif /* GLX_DIRECT_RENDERING && !GLX_USE_APPLEGL */
#if defined(GLX_USE_APPLE)