glx: inline DRI2_CONFIG_QUERY

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30450>
This commit is contained in:
Mike Blumenkrantz 2024-07-25 12:35:32 -04:00 committed by Marge Bot
parent 2932d021aa
commit bcd63ffa9b
7 changed files with 14 additions and 29 deletions

View file

@ -872,7 +872,6 @@ dri2BindExtensions(struct dri2_screen *psc, struct glx_display * priv,
}
static const struct dri_extension_match exts[] = {
{ __DRI2_CONFIG_QUERY, 1, offsetof(struct dri2_screen, config), true },
{ __DRI2_THROTTLE, 1, offsetof(struct dri2_screen, throttle), true },
{ __DRI2_INTEROP, 1, offsetof(struct dri2_screen, interop), true },
};
@ -1026,26 +1025,24 @@ dri2CreateScreen(int screen, struct glx_display * priv, bool driver_name_is_infe
__glXEnableDirectExtension(&psc->base, "GLX_OML_sync_control");
__glXEnableDirectExtension(&psc->base, "GLX_SGI_video_sync");
if (psc->config->base.version > 1 &&
psc->config->configQuerys(psc->driScreen, "glx_extension_override",
if (dri2GalliumConfigQuerys(psc->driScreen, "glx_extension_override",
&tmp) == 0)
__glXParseExtensionOverride(&psc->base, tmp);
if (psc->config->base.version > 1 &&
psc->config->configQuerys(psc->driScreen,
if (dri2GalliumConfigQuerys(psc->driScreen,
"indirect_gl_extension_override",
&tmp) == 0)
__IndirectGlParseExtensionOverride(&psc->base, tmp);
if (psc->config->base.version > 1) {
{
uint8_t force = false;
if (psc->config->configQueryb(psc->driScreen, "force_direct_glx_context",
if (dri2GalliumConfigQueryb(psc->driScreen, "force_direct_glx_context",
&force) == 0) {
psc->base.force_direct_context = force;
}
uint8_t invalid_glx_destroy_window = false;
if (psc->config->configQueryb(psc->driScreen,
if (dri2GalliumConfigQueryb(psc->driScreen,
"allow_invalid_glx_destroy_window",
&invalid_glx_destroy_window) == 0) {
psc->base.allow_invalid_glx_destroy_window = invalid_glx_destroy_window;

View file

@ -45,7 +45,6 @@ struct dri2_screen {
__DRIscreen *driScreen;
__GLXDRIscreen vtable;
const __DRI2configQueryExtension *config;
const __DRI2throttleExtension *throttle;
const __DRI2interopExtension *interop;
const __DRIconfig **driver_configs;

View file

@ -700,7 +700,6 @@ dri3_bind_extensions(struct dri3_screen *psc, struct glx_display * priv,
static const struct dri_extension_match exts[] = {
{ __DRI_IMAGE, 1, offsetof(struct dri3_screen, image), true },
{ __DRI2_INTEROP, 1, offsetof(struct dri3_screen, interop), true },
{ __DRI2_CONFIG_QUERY, 1, offsetof(struct dri3_screen, config), true },
};
loader_bind_extensions(psc, exts, ARRAY_SIZE(exts), extensions);
@ -900,33 +899,31 @@ dri3_create_screen(int screen, struct glx_display * priv, bool driver_name_is_in
psp->getBufferAge = dri3_get_buffer_age;
__glXEnableDirectExtension(&psc->base, "GLX_EXT_buffer_age");
if (psc->config->base.version > 1 &&
psc->config->configQuerys(psc->driScreenRenderGPU, "glx_extension_override",
if (dri2GalliumConfigQuerys(psc->driScreenRenderGPU, "glx_extension_override",
&tmp) == 0)
__glXParseExtensionOverride(&psc->base, tmp);
if (psc->config->base.version > 1 &&
psc->config->configQuerys(psc->driScreenRenderGPU,
if (dri2GalliumConfigQuerys(psc->driScreenRenderGPU,
"indirect_gl_extension_override",
&tmp) == 0)
__IndirectGlParseExtensionOverride(&psc->base, tmp);
if (psc->config->base.version > 1) {
{
uint8_t force = false;
if (psc->config->configQueryb(psc->driScreenRenderGPU, "force_direct_glx_context",
if (dri2GalliumConfigQueryb(psc->driScreenRenderGPU, "force_direct_glx_context",
&force) == 0) {
psc->base.force_direct_context = force;
}
uint8_t invalid_glx_destroy_window = false;
if (psc->config->configQueryb(psc->driScreenRenderGPU,
if (dri2GalliumConfigQueryb(psc->driScreenRenderGPU,
"allow_invalid_glx_destroy_window",
&invalid_glx_destroy_window) == 0) {
psc->base.allow_invalid_glx_destroy_window = invalid_glx_destroy_window;
}
uint8_t keep_native_window_glx_drawable = false;
if (psc->config->configQueryb(psc->driScreenRenderGPU,
if (dri2GalliumConfigQueryb(psc->driScreenRenderGPU,
"keep_native_window_glx_drawable",
&keep_native_window_glx_drawable) == 0) {
psc->base.keep_native_window_glx_drawable = keep_native_window_glx_drawable;

View file

@ -80,7 +80,6 @@ struct dri3_screen {
__DRIscreen *driScreenRenderGPU;
const __DRIimageExtension *image;
const __DRI2configQueryExtension *config;
const __DRI2interopExtension *interop;
const __DRIconfig **driver_configs;

View file

@ -793,12 +793,6 @@ driswBindExtensions(struct drisw_screen *psc, const __DRIextension **extensions)
if (!(psc->base.display->driver & (GLX_DRIVER_ZINK_INFER | GLX_DRIVER_ZINK_YES)))
__glXEnableDirectExtension(&psc->base, "GLX_MESA_copy_sub_buffer");
/* FIXME: Figure out what other extensions can be ported here from dri2. */
static const struct dri_extension_match exts[] = {
{ __DRI2_CONFIG_QUERY, 1, offsetof(struct drisw_screen, config), true },
};
loader_bind_extensions(psc, exts, ARRAY_SIZE(exts), extensions);
/* Extensions where we don't care about the extension struct */
for (i = 0; extensions[i]; i++) {
if (strcmp(extensions[i]->name, __DRI2_ROBUSTNESS) == 0)

View file

@ -39,7 +39,6 @@ struct drisw_screen
__DRIscreen *driScreen;
__GLXDRIscreen vtable;
const __DRI2configQueryExtension *config;
const __DRIconfig **driver_configs;

View file

@ -415,17 +415,17 @@ loader_dri3_drawable_init(xcb_connection_t *conn,
mtx_init(&draw->mtx, mtx_plain);
cnd_init(&draw->event_cnd);
if (draw->ext->config) {
{
unsigned char adaptive_sync = 0;
unsigned char block_on_depleted_buffers = 0;
draw->ext->config->configQueryb(draw->dri_screen_render_gpu,
dri2GalliumConfigQueryb(draw->dri_screen_render_gpu,
"adaptive_sync",
&adaptive_sync);
draw->adaptive_sync = adaptive_sync;
draw->ext->config->configQueryb(draw->dri_screen_render_gpu,
dri2GalliumConfigQueryb(draw->dri_screen_render_gpu,
"block_on_depleted_buffers",
&block_on_depleted_buffers);