X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fgallium%2Fstate_trackers%2Fwgl%2Fstw_device.c;h=4ece4e4979abb3ed4a6cadeb45aab87915653ee0;hb=bb770af3a59e5935c108c05ee45490fc5668d4a3;hp=61b207525cada81f5d468792daa12a777b16de89;hpb=e4c54d404959aa1bce26caa313c0a47e65ff211a;p=mesa.git diff --git a/src/gallium/state_trackers/wgl/stw_device.c b/src/gallium/state_trackers/wgl/stw_device.c index 61b207525ca..4ece4e4979a 100644 --- a/src/gallium/state_trackers/wgl/stw_device.c +++ b/src/gallium/state_trackers/wgl/stw_device.c @@ -27,7 +27,7 @@ #include -#include "glapi/glthread.h" +#include "glapi/glapi.h" #include "util/u_debug.h" #include "util/u_math.h" #include "util/u_memory.h" @@ -41,13 +41,17 @@ #include "stw_framebuffer.h" #include "stw_st.h" -#ifdef WIN32_THREADS extern _glthread_Mutex OneTimeLock; -#endif struct stw_device *stw_dev = NULL; +static int +stw_get_param(struct st_manager *smapi, + enum st_manager_param param) +{ + return 0; +} boolean stw_init(const struct stw_winsys *stw_winsys) @@ -70,9 +74,7 @@ stw_init(const struct stw_winsys *stw_winsys) stw_dev->stw_winsys = stw_winsys; -#ifdef WIN32_THREADS _glthread_INIT_MUTEX(OneTimeLock); -#endif stw_dev->stapi = stw_st_create_api(); stw_dev->smapi = CALLOC_STRUCT(st_manager); @@ -87,8 +89,13 @@ stw_init(const struct stw_winsys *stw_winsys) stw_winsys->get_adapter_luid(screen, &stw_dev->AdapterLuid); stw_dev->smapi->screen = screen; + stw_dev->smapi->get_param = stw_get_param; stw_dev->screen = screen; + stw_dev->max_2d_levels = + screen->get_param(screen, PIPE_CAP_MAX_TEXTURE_2D_LEVELS); + stw_dev->max_2d_length = 1 << (stw_dev->max_2d_levels - 1); + pipe_mutex_init( stw_dev->ctx_mutex ); pipe_mutex_init( stw_dev->fb_mutex ); @@ -161,9 +168,10 @@ stw_cleanup(void) stw_dev->screen->destroy(stw_dev->screen); -#ifdef WIN32_THREADS _glthread_DESTROY_MUTEX(OneTimeLock); + /* glapi is statically linked: we can call the local destroy function. */ +#ifdef _GLAPI_NO_EXPORTS _glapi_destroy_multithread(); #endif