X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fgallium%2Fstate_trackers%2Fwgl%2Fstw_device.c;h=f1b1dfd9a14af9bdc10e89cb7ff074396a0379a1;hb=e92caad74476b915bb73baedbddce8af89bd62b0;hp=6c0f14d4f36ffc1d0c8246294bac38cb1b31fe82;hpb=48faedbc7e67e7bb54e3ae051272e87281683301;p=mesa.git diff --git a/src/gallium/state_trackers/wgl/stw_device.c b/src/gallium/state_trackers/wgl/stw_device.c index 6c0f14d4f36..f1b1dfd9a14 100644 --- a/src/gallium/state_trackers/wgl/stw_device.c +++ b/src/gallium/state_trackers/wgl/stw_device.c @@ -29,6 +29,7 @@ #include "glapi/glapi.h" #include "util/u_debug.h" +#include "util/u_debug_gallium.h" #include "util/u_math.h" #include "util/u_memory.h" #include "pipe/p_screen.h" @@ -120,8 +121,8 @@ stw_init(const struct stw_winsys *stw_winsys) 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_levels = util_last_bit(screen->get_param(screen, + PIPE_CAP_MAX_TEXTURE_2D_SIZE)); stw_dev->max_2d_length = 1 << (stw_dev->max_2d_levels - 1); InitializeCriticalSection(&stw_dev->ctx_mutex); @@ -135,7 +136,7 @@ stw_init(const struct stw_winsys *stw_winsys) stw_pixelformat_init(); /* env var override for WGL_EXT_swap_control, useful for testing/debugging */ - const char *s = os_get_option("SVGA_SWAP_INTERVAL"); + const char *s = os_get_option("WGL_SWAP_INTERVAL"); if (s) { stw_dev->swap_interval = atoi(s); } @@ -199,6 +200,9 @@ stw_cleanup(void) DeleteCriticalSection(&stw_dev->fb_mutex); DeleteCriticalSection(&stw_dev->ctx_mutex); + if (stw_dev->smapi->destroy) + stw_dev->smapi->destroy(stw_dev->smapi); + FREE(stw_dev->smapi); stw_dev->stapi->destroy(stw_dev->stapi);