wgl: Add a driver name for driconf
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Charmaine Lee <charmainel@vmware.com> Reviewed-by: Neha Bhende <bhenden@vmware.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12158>
This commit is contained in:
@@ -107,9 +107,10 @@ init_options()
|
||||
#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,
|
||||
"", NULL, NULL, NULL, 0, NULL, 0);
|
||||
driver_name ? driver_name : "", NULL, NULL, NULL, 0, NULL, 0);
|
||||
|
||||
u_driconf_fill_st_options(&stw_dev->st_options, &stw_dev->option_cache);
|
||||
}
|
||||
|
||||
@@ -133,6 +133,12 @@ struct stw_winsys
|
||||
(*create_framebuffer)( struct pipe_screen *screen,
|
||||
HDC hDC,
|
||||
int iPixelFormat );
|
||||
|
||||
/**
|
||||
* Get the name of the screen that was created
|
||||
*/
|
||||
const char *
|
||||
(*get_name)(void);
|
||||
};
|
||||
|
||||
boolean
|
||||
|
||||
@@ -100,6 +100,11 @@ gdi_create_framebuffer(struct pipe_screen *screen,
|
||||
return d3d12_wgl_create_framebuffer(screen, hDC, iPixelFormat);
|
||||
}
|
||||
|
||||
static const char *
|
||||
get_name(void)
|
||||
{
|
||||
return "d3d12";
|
||||
}
|
||||
|
||||
static const struct stw_winsys stw_winsys = {
|
||||
&gdi_screen_create,
|
||||
@@ -109,7 +114,8 @@ static const struct stw_winsys stw_winsys = {
|
||||
NULL, /* shared_surface_close */
|
||||
NULL, /* compose */
|
||||
&gdi_get_pfd_flags,
|
||||
&gdi_create_framebuffer
|
||||
&gdi_create_framebuffer,
|
||||
&get_name,
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -80,6 +80,8 @@ static boolean use_d3d12 = FALSE;
|
||||
static boolean use_zink = FALSE;
|
||||
#endif
|
||||
|
||||
static const char *created_driver_name = NULL;
|
||||
|
||||
static struct pipe_screen *
|
||||
gdi_screen_create_by_name(HDC hDC, const char* driver, struct sw_winsys *winsys)
|
||||
{
|
||||
@@ -153,8 +155,10 @@ gdi_screen_create(HDC hDC)
|
||||
*/
|
||||
for (unsigned i = 0; i < ARRAY_SIZE(drivers); ++i) {
|
||||
struct pipe_screen* screen = gdi_screen_create_by_name(hDC, drivers[i], winsys);
|
||||
if (screen)
|
||||
if (screen) {
|
||||
created_driver_name = drivers[i];
|
||||
return screen;
|
||||
}
|
||||
if (i == 0 && drivers[i][0] != '\0')
|
||||
break;
|
||||
}
|
||||
@@ -259,6 +263,12 @@ gdi_create_framebuffer(struct pipe_screen *screen,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static const char *
|
||||
gdi_get_name(void)
|
||||
{
|
||||
return created_driver_name;
|
||||
}
|
||||
|
||||
|
||||
static const struct stw_winsys stw_winsys = {
|
||||
&gdi_screen_create,
|
||||
@@ -273,6 +283,7 @@ static const struct stw_winsys stw_winsys = {
|
||||
NULL, /* compose */
|
||||
&gdi_get_pfd_flags,
|
||||
&gdi_create_framebuffer,
|
||||
&gdi_get_name,
|
||||
};
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user