mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-30 18:40:13 +01:00
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:
parent
2932d021aa
commit
bcd63ffa9b
7 changed files with 14 additions and 29 deletions
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -45,7 +45,6 @@ struct dri2_screen {
|
|||
__DRIscreen *driScreen;
|
||||
__GLXDRIscreen vtable;
|
||||
|
||||
const __DRI2configQueryExtension *config;
|
||||
const __DRI2throttleExtension *throttle;
|
||||
const __DRI2interopExtension *interop;
|
||||
const __DRIconfig **driver_configs;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -80,7 +80,6 @@ struct dri3_screen {
|
|||
__DRIscreen *driScreenRenderGPU;
|
||||
|
||||
const __DRIimageExtension *image;
|
||||
const __DRI2configQueryExtension *config;
|
||||
const __DRI2interopExtension *interop;
|
||||
const __DRIconfig **driver_configs;
|
||||
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -39,7 +39,6 @@ struct drisw_screen
|
|||
|
||||
__DRIscreen *driScreen;
|
||||
__GLXDRIscreen vtable;
|
||||
const __DRI2configQueryExtension *config;
|
||||
|
||||
const __DRIconfig **driver_configs;
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue