glx: inline IMAGE_DRIVER functions

Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30400>
This commit is contained in:
Mike Blumenkrantz 2024-07-22 10:14:27 -04:00 committed by Marge Bot
parent 49c3814cd1
commit e95a462d1f
5 changed files with 24 additions and 29 deletions

View file

@ -80,6 +80,7 @@
#include "loader_dri_helper.h"
#include "dri2.h"
#include "util/u_debug.h"
#include "dri_util.h"
static struct dri3_drawable *
loader_drawable_to_dri3_drawable(struct loader_dri3_drawable *draw) {
@ -287,15 +288,15 @@ dri3_create_context_attribs(struct glx_screen *base,
pcp->renderType = dca.render_type;
pcp->driContext =
psc->image_driver->createContextAttribs(psc->driScreenRenderGPU,
dca.api,
config ? config->driConfig
: NULL,
shared,
num_ctx_attribs / 2,
ctx_attribs,
error,
pcp);
driCreateContextAttribs(psc->driScreenRenderGPU,
dca.api,
config ? config->driConfig
: NULL,
shared,
num_ctx_attribs / 2,
ctx_attribs,
error,
pcp);
*error = dri_context_error_to_glx_error(*error);
@ -706,7 +707,7 @@ dri3_bind_extensions(struct dri3_screen *psc, struct glx_display * priv,
__glXEnableDirectExtension(&psc->base, "GLX_SGI_make_current_read");
__glXEnableDirectExtension(&psc->base, "GLX_INTEL_swap_event");
mask = psc->image_driver->getAPIMask(psc->driScreenRenderGPU);
mask = driGetAPIMask(psc->driScreenRenderGPU);
__glXEnableDirectExtension(&psc->base, "GLX_ARB_create_context");
__glXEnableDirectExtension(&psc->base, "GLX_ARB_create_context_profile");
@ -843,7 +844,6 @@ dri3_create_screen(int screen, struct glx_display * priv, bool driver_name_is_in
static const struct dri_extension_match exts[] = {
{ __DRI_CORE, 1, offsetof(struct dri3_screen, core), false },
{ __DRI_IMAGE_DRIVER, 2, offsetof(struct dri3_screen, image_driver), false },
{ __DRI_MESA, 2, offsetof(struct dri3_screen, mesa), false },
};
if (!loader_bind_extensions(psc, exts, ARRAY_SIZE(exts), extensions))
@ -859,22 +859,20 @@ dri3_create_screen(int screen, struct glx_display * priv, bool driver_name_is_in
* extension pointer is shared because it keeps things simple.
*/
if (strcmp(driverName, driverNameDisplayGPU) == 0) {
psc->driScreenDisplayGPU =
psc->image_driver->createNewScreen3(screen, psc->fd_display_gpu,
loader_extensions,
extensions,
&driver_configs, driver_name_is_inferred, psc);
psc->driScreenDisplayGPU = driCreateNewScreen3(screen, psc->fd_display_gpu,
loader_extensions,
extensions,
&driver_configs, driver_name_is_inferred, psc);
}
free(driverNameDisplayGPU);
}
}
psc->driScreenRenderGPU =
psc->image_driver->createNewScreen3(screen, psc->fd_render_gpu,
loader_extensions,
extensions,
&driver_configs, driver_name_is_inferred, psc);
psc->driScreenRenderGPU = driCreateNewScreen3(screen, psc->fd_render_gpu,
loader_extensions,
extensions,
&driver_configs, driver_name_is_inferred, psc);
if (psc->driScreenRenderGPU == NULL) {
ErrorMessageF("glx: failed to create dri3 screen\n");
@ -915,7 +913,6 @@ dri3_create_screen(int screen, struct glx_display * priv, bool driver_name_is_in
}
psc->loader_dri3_ext.core = psc->core;
psc->loader_dri3_ext.image_driver = psc->image_driver;
psc->loader_dri3_ext.flush = psc->f;
psc->loader_dri3_ext.tex_buffer = psc->texBuffer;
psc->loader_dri3_ext.image = psc->image;

View file

@ -80,7 +80,6 @@ struct dri3_screen {
__DRIscreen *driScreenRenderGPU;
const __DRIimageExtension *image;
const __DRIimageDriverExtension *image_driver;
const __DRIcoreExtension *core;
const __DRImesaCoreExtension *mesa;
const __DRI2flushExtension *f;

View file

@ -115,7 +115,8 @@ endif
libglx = static_library(
'glx',
[files_libglx, glx_generated],
include_directories : [inc_include, inc_src, inc_glapi, inc_loader, inc_loader_x11, inc_loader_dri3, inc_gallium],
include_directories : [inc_include, inc_src, inc_glapi, inc_loader, inc_loader_x11,
inc_loader_dri3, inc_gallium, inc_mesa, inc_st_dri],
c_args : [
'-DGL_LIB_NAME="lib@0@.so.@1@"'.format(gl_lib_name, gl_lib_version.split('.')[0]),
],

View file

@ -39,6 +39,7 @@
#include "util/macros.h"
#include "util/simple_mtx.h"
#include "drm-uapi/drm_fourcc.h"
#include "dri_util.h"
/**
* A cached blit context.
@ -441,10 +442,7 @@ loader_dri3_drawable_init(xcb_connection_t *conn,
dri3_update_max_num_back(draw);
/* Create a new drawable */
draw->dri_drawable =
draw->ext->image_driver->createNewDrawable(dri_screen_render_gpu,
dri_config,
draw);
draw->dri_drawable = driCreateNewDrawable(dri_screen_render_gpu, dri_config, draw);
if (!draw->dri_drawable)
return 1;

View file

@ -8,7 +8,7 @@ if with_platform_x11 and with_dri3
'loader_dri3_helper',
'loader_dri3_helper.c',
gnu_symbol_visibility : 'hidden',
include_directories : [inc_include, inc_src, inc_loader, inc_gallium],
include_directories : [inc_include, inc_src, inc_loader, inc_gallium, inc_mesa, inc_st_dri],
dependencies : [
idep_mesautil,
dep_libdrm, dep_xcb_dri3, dep_xcb_present, dep_xcb_sync, dep_xshmfence,