mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-24 06:40:11 +01:00
egl/wgl: Support EGL_MESA_query_driver
Acked-by: Daniel Stone <daniels@collabora.com> Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Acked-by: Sidney Just <justsid@x-plane.com> Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com> Tested-by: Yonggang Luo <luoyonggang@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12964>
This commit is contained in:
parent
52e663959e
commit
e08d2dde22
4 changed files with 29 additions and 4 deletions
|
|
@ -34,6 +34,7 @@
|
|||
#include <stw_context.h>
|
||||
#include <stw_framebuffer.h>
|
||||
#include <stw_image.h>
|
||||
#include <stw_winsys.h>
|
||||
|
||||
#include <GL/wglext.h>
|
||||
|
||||
|
|
@ -1035,6 +1036,18 @@ wgl_destroy_image_khr(_EGLDisplay *disp, _EGLImage *img)
|
|||
return EGL_TRUE;
|
||||
}
|
||||
|
||||
static const char *
|
||||
wgl_query_driver_name(_EGLDisplay *disp)
|
||||
{
|
||||
return stw_get_device()->stw_winsys->get_name();
|
||||
}
|
||||
|
||||
static char *
|
||||
wgl_query_driver_config(_EGLDisplay *disp)
|
||||
{
|
||||
return stw_get_config_xml();
|
||||
}
|
||||
|
||||
struct _egl_driver _eglDriver = {
|
||||
.Initialize = wgl_initialize,
|
||||
.Terminate = wgl_terminate,
|
||||
|
|
@ -1054,5 +1067,7 @@ struct _egl_driver _eglDriver = {
|
|||
.WaitNative = wgl_wait_native,
|
||||
.CreateImageKHR = wgl_create_image_khr,
|
||||
.DestroyImageKHR = wgl_destroy_image_khr,
|
||||
.QueryDriverName = wgl_query_driver_name,
|
||||
.QueryDriverConfig = wgl_query_driver_config,
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -102,13 +102,13 @@ init_screen(const struct stw_winsys *stw_winsys, HDC hdc)
|
|||
return true;
|
||||
}
|
||||
|
||||
static const driOptionDescription gallium_driconf[] = {
|
||||
#include "pipe-loader/driinfo_gallium.h"
|
||||
};
|
||||
|
||||
static void
|
||||
init_options()
|
||||
{
|
||||
const driOptionDescription gallium_driconf[] = {
|
||||
#include "pipe-loader/driinfo_gallium.h"
|
||||
};
|
||||
|
||||
const char *driver_name = stw_dev->stw_winsys->get_name ? stw_dev->stw_winsys->get_name() : NULL;
|
||||
driParseOptionInfo(&stw_dev->option_info, gallium_driconf, ARRAY_SIZE(gallium_driconf));
|
||||
driParseConfigFiles(&stw_dev->option_cache, &stw_dev->option_info, 0,
|
||||
|
|
@ -117,6 +117,12 @@ init_options()
|
|||
u_driconf_fill_st_options(&stw_dev->st_options, &stw_dev->option_cache);
|
||||
}
|
||||
|
||||
char *
|
||||
stw_get_config_xml(void)
|
||||
{
|
||||
return driGetOptionsXml(gallium_driconf, ARRAY_SIZE(gallium_driconf));
|
||||
}
|
||||
|
||||
boolean
|
||||
stw_init(const struct stw_winsys *stw_winsys)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -103,6 +103,9 @@ stw_init_screen(HDC hdc);
|
|||
struct stw_device *
|
||||
stw_get_device(void);
|
||||
|
||||
char *
|
||||
stw_get_config_xml(void);
|
||||
|
||||
static inline struct stw_context *
|
||||
stw_lookup_context_locked( DHGLRC dhglrc )
|
||||
{
|
||||
|
|
|
|||
|
|
@ -43,3 +43,4 @@ stw_create_image_from_texture
|
|||
stw_create_image_from_renderbuffer
|
||||
stw_destroy_image
|
||||
stw_translate_image
|
||||
stw_get_config_xml
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue