panfrost/midgard: Handle fp16 in embedded_to_inline_constants
[mesa.git] / src / gallium / state_trackers / wgl / stw_device.c
index 6c0f14d4f36ffc1d0c8246294bac38cb1b31fe82..f1b1dfd9a14af9bdc10e89cb7ff074396a0379a1 100644 (file)
@@ -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);