mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-25 10:50:10 +01:00
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:
parent
49c3814cd1
commit
e95a462d1f
5 changed files with 24 additions and 29 deletions
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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]),
|
||||
],
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue