#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"
debug_disable_error_message_boxes();
debug_printf("%s\n", __FUNCTION__);
-
+
assert(!stw_dev);
stw_tls_init();
#ifdef DEBUG
stw_dev->memdbg_no = debug_memory_begin();
#endif
-
+
stw_dev->stw_winsys = stw_winsys;
stw_dev->stapi = stw_st_create_api();
goto error1;
screen = stw_winsys->create_screen();
- if(!screen)
+ if (!screen)
goto error1;
- if(stw_winsys->get_adapter_luid)
+ if (stw_winsys->get_adapter_luid)
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_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);
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);
}
if (!stw_dev)
return;
-
+
/*
* Abort cleanup if there are still active contexts. In some situations
* this DLL may be unloaded before the DLL that is using GL contexts is.
handle_table_destroy(stw_dev->ctx_table);
stw_framebuffer_cleanup();
-
+
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);
void APIENTRY
-DrvSetCallbackProcs(
- INT nProcs,
- PROC *pProcs )
+DrvSetCallbackProcs(INT nProcs, PROC *pProcs)
{
size_t size;
BOOL APIENTRY
-DrvValidateVersion(
- ULONG ulVersion )
+DrvValidateVersion(ULONG ulVersion)
{
/* ulVersion is the version reported by the KMD:
* - via D3DKMTQueryAdapterInfo(KMTQAITYPE_UMOPENGLINFO) on WDDM,