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:

committed by
Marge Bot

parent
9666756f60
commit
2efa1ae0d5
@@ -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
|
||||
*/
|
||||
|
@@ -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);
|
||||
|
||||
|
@@ -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 *
|
||||
|
@@ -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.
|
||||
|
@@ -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));
|
||||
}
|
||||
|
||||
|
@@ -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;
|
||||
}
|
||||
|
@@ -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;
|
||||
}
|
||||
|
@@ -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;
|
||||
|
@@ -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)
|
||||
|
@@ -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);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -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,
|
||||
|
@@ -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;
|
||||
|
@@ -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;
|
||||
|
@@ -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;
|
||||
};
|
||||
|
@@ -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;
|
||||
|
||||
|
@@ -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");
|
||||
|
@@ -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");
|
||||
|
@@ -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.
|
||||
|
@@ -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;
|
||||
|
@@ -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 {
|
||||
|
@@ -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)
|
||||
|
Reference in New Issue
Block a user