dri: declare IMAGE_DRIVER symbols PUBLIC

this is a temporary hackaround for a linker issue where dri frontend
functions need to be called directly by (glx/egl/gbm) but can't due
to linkage/visibility

eventually all of these frontends will be a single linkage into a single
library, which will avoid the intermediate linking and solve the problem

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:11:59 -04:00 committed by Marge Bot
parent f9f8652445
commit 49c3814cd1
3 changed files with 10 additions and 5 deletions

View file

@ -762,7 +762,7 @@ static int driUnbindContext(__DRIcontext *pcp)
/*@}*/
static __DRIdrawable *
__DRIdrawable *
driCreateNewDrawable(__DRIscreen *psp,
const __DRIconfig *config,
void *data)
@ -855,7 +855,7 @@ dri2ConfigQuerys(__DRIscreen *psp, const char *var, char **val)
return 0;
}
static unsigned int
unsigned int
driGetAPIMask(__DRIscreen *screen)
{
return dri_screen(screen)->api_mask;

View file

@ -103,7 +103,7 @@ struct __DriverContextConfig {
#define __DRIVER_CONTEXT_ATTRIB_NO_ERROR (1 << 3)
#define __DRIVER_CONTEXT_ATTRIB_PROTECTED (1 << 4)
__DRIscreen *
PUBLIC __DRIscreen *
driCreateNewScreen3(int scrn, int fd,
const __DRIextension **loader_extensions,
const __DRIextension **driver_extensions,
@ -113,7 +113,7 @@ driCreateNewScreen2(int scrn, int fd,
const __DRIextension **loader_extensions,
const __DRIextension **driver_extensions,
const __DRIconfig ***driver_configs, void *data);
__DRIcontext *
PUBLIC __DRIcontext *
driCreateContextAttribs(__DRIscreen *psp, int api,
const __DRIconfig *config,
__DRIcontext *shared,
@ -124,7 +124,10 @@ driCreateContextAttribs(__DRIscreen *psp, int api,
extern uint32_t
driImageFormatToSizedInternalGLFormat(uint32_t image_format);
PUBLIC unsigned int
driGetAPIMask(__DRIscreen *screen);
PUBLIC __DRIdrawable *
driCreateNewDrawable(__DRIscreen *psp, const __DRIconfig *config, void *data);
extern const __DRIimageDriverExtension driImageDriverExtension;
#endif /* _DRI_UTIL_H_ */

View file

@ -1,6 +1,8 @@
{
global:
__driDriverGetExtensions*;
driCreate*;
driGet*;
dri_loader_get_extensions;
@nouveau_drm_screen_create@
@radeon_drm_winsys_create@