ReactOS  0.4.14-dev-606-g14ebc0b
wined3d_main.c File Reference
#include "config.h"
#include "wine/port.h"
#include "initguid.h"
#include "wined3d_private.h"
Include dependency graph for wined3d_main.c:

Go to the source code of this file.

Classes

struct  wined3d_wndproc
 
struct  wined3d_wndproc_table
 

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (d3d)
 
 WINE_DECLARE_DEBUG_CHANNEL (winediag)
 
struct wined3d *CDECL wined3d_create (DWORD flags)
 
static DWORD get_config_key (HKEY defkey, HKEY appkey, const char *name, char *buffer, DWORD size)
 
static DWORD get_config_key_dword (HKEY defkey, HKEY appkey, const char *name, DWORD *value)
 
static BOOL wined3d_dll_init (HINSTANCE hInstDLL)
 
static BOOL wined3d_dll_destroy (HINSTANCE hInstDLL)
 
void WINAPI wined3d_mutex_lock (void)
 
void WINAPI wined3d_mutex_unlock (void)
 
static void wined3d_wndproc_mutex_lock (void)
 
static void wined3d_wndproc_mutex_unlock (void)
 
static struct wined3d_wndprocwined3d_find_wndproc (HWND window)
 
static LRESULT CALLBACK wined3d_wndproc (HWND window, UINT message, WPARAM wparam, LPARAM lparam)
 
BOOL wined3d_register_window (HWND window, struct wined3d_device *device)
 
void wined3d_unregister_window (HWND window)
 
void CDECL wined3d_strictdrawing_set (int value)
 
BOOL WINAPI DllMain (HINSTANCE inst, DWORD reason, void *reserved)
 

Variables

static struct wined3d_wndproc_table wndproc_table
 
static CRITICAL_SECTION wined3d_cs = {&wined3d_cs_debug, -1, 0, 0, 0, 0}
 
static CRITICAL_SECTION_DEBUG wined3d_cs_debug
 
static CRITICAL_SECTION wined3d_wndproc_cs = {&wined3d_wndproc_cs_debug, -1, 0, 0, 0, 0}
 
static CRITICAL_SECTION_DEBUG wined3d_wndproc_cs_debug
 
struct wined3d_settings wined3d_settings
 

Function Documentation

◆ DllMain()

BOOL WINAPI DllMain ( HINSTANCE  inst,
DWORD  reason,
void reserved 
)

Definition at line 525 of file wined3d_main.c.

526 {
527  switch (reason)
528  {
529  case DLL_PROCESS_ATTACH:
530  return wined3d_dll_init(inst);
531 
532  case DLL_PROCESS_DETACH:
533  if (!reserved)
534  return wined3d_dll_destroy(inst);
535  break;
536 
537  case DLL_THREAD_DETACH:
539  {
540  ERR("Failed to clear current context.\n");
541  }
542  return TRUE;
543  }
544  return TRUE;
545 }
#define TRUE
Definition: types.h:120
#define DLL_PROCESS_ATTACH
Definition: compat.h:120
#define DLL_THREAD_DETACH
Definition: compat.h:122
static BOOL wined3d_dll_destroy(HINSTANCE hInstDLL)
Definition: wined3d_main.c:334
r reserved
Definition: btrfs.c:2865
smooth NULL
Definition: ftsmooth.c:416
#define DLL_PROCESS_DETACH
Definition: compat.h:119
static WCHAR reason[MAX_STRING_RESOURCE_LEN]
Definition: object.c:1904
#define ERR(fmt,...)
Definition: debug.h:109
BOOL context_set_current(struct wined3d_context *ctx)
Definition: context.c:1512
static BOOL wined3d_dll_init(HINSTANCE hInstDLL)
Definition: wined3d_main.c:147

◆ get_config_key()

static DWORD get_config_key ( HKEY  defkey,
HKEY  appkey,
const char name,
char buffer,
DWORD  size 
)
static

Definition at line 124 of file wined3d_main.c.

125 {
126  if (appkey && !RegQueryValueExA(appkey, name, 0, NULL, (BYTE *)buffer, &size)) return 0;
127  if (defkey && !RegQueryValueExA(defkey, name, 0, NULL, (BYTE *)buffer, &size)) return 0;
128  return ERROR_FILE_NOT_FOUND;
129 }
LONG WINAPI RegQueryValueExA(_In_ HKEY hkeyorg, _In_ LPCSTR name, _In_ LPDWORD reserved, _Out_opt_ LPDWORD type, _Out_opt_ LPBYTE data, _Inout_opt_ LPDWORD count)
Definition: reg.c:4023
GLuint buffer
Definition: glext.h:5915
smooth NULL
Definition: ftsmooth.c:416
#define ERROR_FILE_NOT_FOUND
Definition: disk.h:79
GLsizeiptr size
Definition: glext.h:5919
unsigned char BYTE
Definition: mem.h:68
Definition: name.c:38

Referenced by wined3d_dll_init().

◆ get_config_key_dword()

static DWORD get_config_key_dword ( HKEY  defkey,
HKEY  appkey,
const char name,
DWORD value 
)
static

Definition at line 131 of file wined3d_main.c.

132 {
133  DWORD type, data, size;
134 
135  size = sizeof(data);
136  if (appkey && !RegQueryValueExA(appkey, name, 0, &type, (BYTE *)&data, &size) && type == REG_DWORD) goto success;
137  size = sizeof(data);
138  if (defkey && !RegQueryValueExA(defkey, name, 0, &type, (BYTE *)&data, &size) && type == REG_DWORD) goto success;
139 
140  return ERROR_FILE_NOT_FOUND;
141 
142 success:
143  *value = data;
144  return 0;
145 }
LONG WINAPI RegQueryValueExA(_In_ HKEY hkeyorg, _In_ LPCSTR name, _In_ LPDWORD reserved, _Out_opt_ LPDWORD type, _Out_opt_ LPBYTE data, _Inout_opt_ LPDWORD count)
Definition: reg.c:4023
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
#define ERROR_FILE_NOT_FOUND
Definition: disk.h:79
GLsizeiptr size
Definition: glext.h:5919
unsigned long DWORD
Definition: ntddk_ex.h:95
#define success(from, fromstr, to, tostr)
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
unsigned char BYTE
Definition: mem.h:68
Definition: name.c:38
#define REG_DWORD
Definition: sdbapi.c:596

Referenced by wined3d_dll_init().

◆ WINE_DECLARE_DEBUG_CHANNEL()

WINE_DECLARE_DEBUG_CHANNEL ( winediag  )

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( d3d  )

◆ wined3d_create()

struct wined3d* CDECL wined3d_create ( DWORD  flags)

Definition at line 97 of file wined3d_main.c.

98 {
99  struct wined3d *object;
100  HRESULT hr;
101 
102  if (!(object = heap_alloc_zero(FIELD_OFFSET(struct wined3d, adapters[1]))))
103  {
104  ERR("Failed to allocate wined3d object memory.\n");
105  return NULL;
106  }
107 
109  flags |= WINED3D_NO3D;
110 
111  hr = wined3d_init(object, flags);
112  if (FAILED(hr))
113  {
114  WARN("Failed to initialize wined3d object, hr %#x.\n", hr);
115  heap_free(object);
116  return NULL;
117  }
118 
119  TRACE("Created wined3d object %p.\n", object);
120 
121  return object;
122 }
struct wined3d_adapter adapters[1]
HRESULT hr
Definition: shlfolder.c:183
#define WARN(fmt,...)
Definition: debug.h:111
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:77
GLbitfield flags
Definition: glext.h:7161
HRESULT wined3d_init(struct wined3d *wined3d, DWORD flags)
Definition: directx.c:6820
#define ERR(fmt,...)
Definition: debug.h:109
#define FIELD_OFFSET(t, f)
Definition: typedefs.h:254
#define WINED3D_NO3D
Definition: wined3d.h:1316
void * object
Definition: jmemsys.h:48
static BOOL heap_free(void *mem)
Definition: appwiz.h:75

Referenced by d3d8_init(), d3d9_init(), ddraw_init(), and DirectDrawEnumerateExA().

◆ wined3d_dll_destroy()

static BOOL wined3d_dll_destroy ( HINSTANCE  hInstDLL)
static

Definition at line 334 of file wined3d_main.c.

335 {
337  unsigned int i;
338 
340  {
341  DWORD err = GetLastError();
342  ERR("Failed to free context TLS index, err %#x.\n", err);
343  }
344 
345  for (i = 0; i < wndproc_table.count; ++i)
346  {
347  /* Trying to unregister these would be futile. These entries can only
348  * exist if either we skipped them in wined3d_unregister_window() due
349  * to the application replacing the wndproc after the entry was
350  * registered, or if the application still has an active wined3d
351  * device. In the latter case the application has bigger problems than
352  * these entries. */
353  WARN("Leftover wndproc table entry %p.\n", &wndproc_table.entries[i]);
354  }
355  heap_free(wndproc_table.entries);
356 
359 
362 
364 
365  return TRUE;
366 }
#define TRUE
Definition: types.h:120
#define WARN(fmt,...)
Definition: debug.h:111
DWORD WINAPI GetLastError(VOID)
Definition: except.c:1059
static struct wined3d_wndproc_table wndproc_table
Definition: wined3d_main.c:49
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
#define WINED3D_OPENGL_WINDOW_CLASS_NAME
BOOL WINAPI TlsFree(IN DWORD Index)
Definition: thread.c:1154
void WINAPI DeleteCriticalSection(PCRITICAL_SECTION)
unsigned long DWORD
Definition: ntddk_ex.h:95
static DWORD wined3d_context_tls_idx
Definition: context.c:48
#define err(...)
static CRITICAL_SECTION wined3d_wndproc_cs
Definition: wined3d_main.c:61
#define ERR(fmt,...)
Definition: debug.h:109
void wined3d_dxtn_free(void)
Definition: dxtn.c:515
DWORD context_get_tls_idx(void)
Definition: context.c:1497
BOOL WINAPI UnregisterClassA(_In_ LPCSTR, HINSTANCE)
static BOOL heap_free(void *mem)
Definition: appwiz.h:75

Referenced by DllMain().

◆ wined3d_dll_init()

static BOOL wined3d_dll_init ( HINSTANCE  hInstDLL)
static

Definition at line 147 of file wined3d_main.c.

148 {
150  char buffer[MAX_PATH+10];
151  DWORD size = sizeof(buffer);
152  HKEY hkey = 0;
153  HKEY appkey = 0;
154  DWORD len, tmpvalue;
155  WNDCLASSA wc;
156 
159  {
160  DWORD err = GetLastError();
161  ERR("Failed to allocate context TLS index, err %#x.\n", err);
162  return FALSE;
163  }
165 
166  /* We need our own window class for a fake window which we use to retrieve GL capabilities */
167  /* We might need CS_OWNDC in the future if we notice strange things on Windows.
168  * Various articles/posts about OpenGL problems on Windows recommend this. */
169  wc.style = CS_HREDRAW | CS_VREDRAW;
171  wc.cbClsExtra = 0;
172  wc.cbWndExtra = 0;
173  wc.hInstance = hInstDLL;
174  wc.hIcon = LoadIconA(NULL, (const char *)IDI_WINLOGO);
175  wc.hCursor = LoadCursorA(NULL, (const char *)IDC_ARROW);
176  wc.hbrBackground = NULL;
177  wc.lpszMenuName = NULL;
179 
180  if (!RegisterClassA(&wc))
181  {
182  ERR("Failed to register window class 'WineD3D_OpenGL'!\n");
184  {
185  DWORD err = GetLastError();
186  ERR("Failed to free context TLS index, err %#x.\n", err);
187  }
188  return FALSE;
189  }
190 
191  DisableThreadLibraryCalls(hInstDLL);
192 
193  /* @@ Wine registry key: HKCU\Software\Wine\Direct3D */
194  if ( RegOpenKeyA( HKEY_CURRENT_USER, "Software\\Wine\\Direct3D", &hkey ) ) hkey = 0;
195 
197  if (len && len < MAX_PATH)
198  {
199  HKEY tmpkey;
200  /* @@ Wine registry key: HKCU\Software\Wine\AppDefaults\app.exe\Direct3D */
201  if (!RegOpenKeyA( HKEY_CURRENT_USER, "Software\\Wine\\AppDefaults", &tmpkey ))
202  {
203  char *p, *appname = buffer;
204  if ((p = strrchr( appname, '/' ))) appname = p + 1;
205  if ((p = strrchr( appname, '\\' ))) appname = p + 1;
206  strcat( appname, "\\Direct3D" );
207  TRACE("appname = [%s]\n", appname);
208  if (RegOpenKeyA( tmpkey, appname, &appkey )) appkey = 0;
209  RegCloseKey( tmpkey );
210  }
211  }
212 
213  if (hkey || appkey)
214  {
215  if (!get_config_key_dword(hkey, appkey, "csmt", &wined3d_settings.cs_multithreaded))
216  ERR_(winediag)("Setting multithreaded command stream to %#x.\n", wined3d_settings.cs_multithreaded);
217  if (!get_config_key_dword(hkey, appkey, "MaxVersionGL", &tmpvalue))
218  {
219  ERR_(winediag)("Setting maximum allowed wined3d GL version to %u.%u.\n",
220  tmpvalue >> 16, tmpvalue & 0xffff);
222  wined3d_settings.max_gl_version = tmpvalue;
223  }
224  if ( !get_config_key( hkey, appkey, "UseGLSL", buffer, size) )
225  {
226  if (!strcmp(buffer,"disabled"))
227  {
228  ERR_(winediag)("The GLSL shader backend has been disabled. You get to keep all the pieces if it breaks.\n");
229  TRACE("Use of GL Shading Language disabled\n");
231  }
232  }
233  if (!get_config_key(hkey, appkey, "OffscreenRenderingMode", buffer, size)
234  && !strcmp(buffer,"backbuffer"))
236  if ( !get_config_key_dword( hkey, appkey, "VideoPciDeviceID", &tmpvalue) )
237  {
238  int pci_device_id = tmpvalue;
239 
240  /* A pci device id is 16-bit */
241  if(pci_device_id > 0xffff)
242  {
243  ERR("Invalid value for VideoPciDeviceID. The value should be smaller or equal to 65535 or 0xffff\n");
244  }
245  else
246  {
247  TRACE("Using PCI Device ID %04x\n", pci_device_id);
248  wined3d_settings.pci_device_id = pci_device_id;
249  }
250  }
251  if ( !get_config_key_dword( hkey, appkey, "VideoPciVendorID", &tmpvalue) )
252  {
253  int pci_vendor_id = tmpvalue;
254 
255  /* A pci device id is 16-bit */
256  if(pci_vendor_id > 0xffff)
257  {
258  ERR("Invalid value for VideoPciVendorID. The value should be smaller or equal to 65535 or 0xffff\n");
259  }
260  else
261  {
262  TRACE("Using PCI Vendor ID %04x\n", pci_vendor_id);
263  wined3d_settings.pci_vendor_id = pci_vendor_id;
264  }
265  }
266  if ( !get_config_key( hkey, appkey, "VideoMemorySize", buffer, size) )
267  {
268  int TmpVideoMemorySize = atoi(buffer);
269  if(TmpVideoMemorySize > 0)
270  {
271  wined3d_settings.emulated_textureram = (UINT64)TmpVideoMemorySize *1024*1024;
272  TRACE("Use %iMiB = 0x%s bytes for emulated_textureram\n",
273  TmpVideoMemorySize,
275  }
276  else
277  ERR("VideoMemorySize is %i but must be >0\n", TmpVideoMemorySize);
278  }
279  if ( !get_config_key( hkey, appkey, "WineLogo", buffer, size) )
280  {
281  size_t len = strlen(buffer) + 1;
282 
284  ERR("Failed to allocate logo path memory.\n");
285  else
287  }
288  if (!get_config_key_dword(hkey, appkey, "MultisampleTextures", &wined3d_settings.multisample_textures))
289  ERR_(winediag)("Setting multisample textures to %#x.\n", wined3d_settings.multisample_textures);
290  if (!get_config_key_dword(hkey, appkey, "SampleCount", &wined3d_settings.sample_count))
291  ERR_(winediag)("Forcing sample count to %u. This may not be compatible with all applications.\n",
293  if (!get_config_key(hkey, appkey, "StrictDrawOrdering", buffer, size)
294  && !strcmp(buffer,"enabled"))
295  {
296  ERR_(winediag)("\"StrictDrawOrdering\" is deprecated, please use \"csmt\" instead.\n");
297  TRACE("Enforcing strict draw ordering.\n");
299  }
300  if (!get_config_key(hkey, appkey, "CheckFloatConstants", buffer, size)
301  && !strcmp(buffer, "enabled"))
302  {
303  TRACE("Checking relative addressing indices in float constants.\n");
305  }
306  if (!get_config_key_dword(hkey, appkey, "MaxShaderModelVS", &wined3d_settings.max_sm_vs))
307  TRACE("Limiting VS shader model to %u.\n", wined3d_settings.max_sm_vs);
308  if (!get_config_key_dword(hkey, appkey, "MaxShaderModelHS", &wined3d_settings.max_sm_hs))
309  TRACE("Limiting HS shader model to %u.\n", wined3d_settings.max_sm_hs);
310  if (!get_config_key_dword(hkey, appkey, "MaxShaderModelDS", &wined3d_settings.max_sm_ds))
311  TRACE("Limiting DS shader model to %u.\n", wined3d_settings.max_sm_ds);
312  if (!get_config_key_dword(hkey, appkey, "MaxShaderModelGS", &wined3d_settings.max_sm_gs))
313  TRACE("Limiting GS shader model to %u.\n", wined3d_settings.max_sm_gs);
314  if (!get_config_key_dword(hkey, appkey, "MaxShaderModelPS", &wined3d_settings.max_sm_ps))
315  TRACE("Limiting PS shader model to %u.\n", wined3d_settings.max_sm_ps);
316  if (!get_config_key_dword(hkey, appkey, "MaxShaderModelCS", &wined3d_settings.max_sm_cs))
317  TRACE("Limiting CS shader model to %u.\n", wined3d_settings.max_sm_cs);
318  if (!get_config_key(hkey, appkey, "DirectDrawRenderer", buffer, size)
319  && !strcmp(buffer, "gdi"))
320  {
321  TRACE("Disabling 3D support.\n");
323  }
324  }
325 
326  if (appkey) RegCloseKey( appkey );
327  if (hkey) RegCloseKey( hkey );
328 
330 
331  return TRUE;
332 }
LONG WINAPI RegOpenKeyA(HKEY hKey, LPCSTR lpSubKey, PHKEY phkResult)
Definition: reg.c:3257
#define TRUE
Definition: types.h:120
char * strcat(char *DstString, const char *SrcString)
Definition: utclib.c:568
ACPI_SIZE strlen(const char *String)
Definition: utclib.c:269
#define HKEY_CURRENT_USER
Definition: winreg.h:11
BOOL wined3d_dxtn_init(void)
Definition: dxtn.c:461
unsigned int sample_count
#define ERR_(ch,...)
Definition: debug.h:156
void context_set_tls_idx(DWORD idx)
Definition: context.c:1502
BOOL WINAPI DisableThreadLibraryCalls(IN HMODULE hLibModule)
Definition: loader.c:85
int cbClsExtra
Definition: winuser.h:3140
DWORD WINAPI GetLastError(VOID)
Definition: except.c:1059
#define CS_HREDRAW
Definition: winuser.h:648
LPCSTR lpszMenuName
Definition: winuser.h:3146
GLuint buffer
Definition: glext.h:5915
HBRUSH hbrBackground
Definition: winuser.h:3145
_Check_return_ _CRTIMP _CONST_RETURN char *__cdecl strrchr(_In_z_ const char *_Str, _In_ int _Ch)
unsigned int max_sm_hs
DWORD WINAPI GetModuleFileNameA(HINSTANCE hModule, LPSTR lpFilename, DWORD nSize)
Definition: loader.c:548
HICON WINAPI LoadIconA(_In_opt_ HINSTANCE, _In_ LPCSTR)
Definition: cursoricon.c:2029
static void * heap_alloc(size_t len)
Definition: appwiz.h:65
int cbWndExtra
Definition: winuser.h:3141
#define WINED3D_OPENGL_WINDOW_CLASS_NAME
LONG WINAPI RegCloseKey(HKEY hKey)
Definition: reg.c:423
HCURSOR hCursor
Definition: winuser.h:3144
#define ORM_BACKBUFFER
smooth NULL
Definition: ftsmooth.c:416
static DWORD get_config_key_dword(HKEY defkey, HKEY appkey, const char *name, DWORD *value)
Definition: wined3d_main.c:131
unsigned int max_sm_gs
#define CS_VREDRAW
Definition: winuser.h:653
#define TRACE(s)
Definition: solgame.cpp:4
GLsizeiptr size
Definition: glext.h:5919
BOOL WINAPI TlsFree(IN DWORD Index)
Definition: thread.c:1154
unsigned int cs_multithreaded
#define MAX_PATH
Definition: compat.h:26
#define IDI_WINLOGO
Definition: winuser.h:704
unsigned short pci_vendor_id
unsigned long DWORD
Definition: ntddk_ex.h:95
static DWORD wined3d_context_tls_idx
Definition: context.c:48
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
GLenum GLsizei len
Definition: glext.h:6722
unsigned short pci_device_id
DWORD WINAPI TlsAlloc(VOID)
Definition: thread.c:1088
#define TLS_OUT_OF_INDEXES
Definition: winbase.h:530
#define err(...)
LRESULT WINAPI DefWindowProcA(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
LPCSTR lpszClassName
Definition: winuser.h:3147
HCURSOR WINAPI LoadCursorA(_In_opt_ HINSTANCE, _In_ LPCSTR)
Definition: cursoricon.c:2059
unsigned int max_sm_ps
UINT style
Definition: winuser.h:3138
#define ERR(fmt,...)
Definition: debug.h:109
HINSTANCE hInstance
Definition: winuser.h:3142
unsigned int multisample_textures
static DWORD get_config_key(HKEY defkey, HKEY appkey, const char *name, char *buffer, DWORD size)
Definition: wined3d_main.c:124
WNDPROC lpfnWndProc
Definition: winuser.h:3139
#define IDC_ARROW
Definition: winuser.h:682
_Check_return_ int __cdecl atoi(_In_z_ const char *_Str)
unsigned int max_sm_ds
static __inline const char * wine_dbgstr_longlong(ULONGLONG ll)
Definition: compat.h:41
int strcmp(const char *String1, const char *String2)
Definition: utclib.c:469
unsigned int max_sm_cs
unsigned long long UINT64
GLfloat GLfloat p
Definition: glext.h:8902
unsigned int max_sm_vs
ATOM WINAPI RegisterClassA(_In_ CONST WNDCLASSA *)
HICON hIcon
Definition: winuser.h:3143

Referenced by DllMain().

◆ wined3d_find_wndproc()

static struct wined3d_wndproc* wined3d_find_wndproc ( HWND  window)
static

Definition at line 388 of file wined3d_main.c.

389 {
390  unsigned int i;
391 
392  for (i = 0; i < wndproc_table.count; ++i)
393  {
394  if (wndproc_table.entries[i].window == window)
395  {
396  return &wndproc_table.entries[i];
397  }
398  }
399 
400  return NULL;
401 }
static struct wined3d_wndproc_table wndproc_table
Definition: wined3d_main.c:49
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
smooth NULL
Definition: ftsmooth.c:416
static IHTMLWindow2 * window
Definition: events.c:77

Referenced by wined3d_register_window(), wined3d_unregister_window(), and wined3d_wndproc().

◆ wined3d_mutex_lock()

void WINAPI wined3d_mutex_lock ( void  )

Definition at line 368 of file wined3d_main.c.

369 {
371 }
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)

Referenced by CF_CreateDirectDraw(), CF_CreateDirectDrawClipper(), cubetexture_init(), d3d2_CreateDevice(), d3d3_CreateDevice(), d3d3_EnumDevices(), d3d7_CreateDevice(), d3d7_EnumDevices(), d3d7_EnumZBufferFormats(), d3d7_EvictManagedTextures(), d3d8_CheckDepthStencilMatch(), d3d8_CheckDeviceFormat(), d3d8_CheckDeviceMultiSampleType(), d3d8_CheckDeviceType(), d3d8_device_ApplyStateBlock(), d3d8_device_BeginScene(), d3d8_device_BeginStateBlock(), d3d8_device_CaptureStateBlock(), d3d8_device_Clear(), d3d8_device_CopyRects(), d3d8_device_create_surface(), d3d8_device_CreateAdditionalSwapChain(), d3d8_device_CreatePixelShader(), d3d8_device_CreateStateBlock(), d3d8_device_CreateVertexShader(), d3d8_device_DeletePixelShader(), d3d8_device_DeleteStateBlock(), d3d8_device_DeleteVertexShader(), d3d8_device_DrawIndexedPrimitive(), d3d8_device_DrawIndexedPrimitiveUP(), d3d8_device_DrawPrimitive(), d3d8_device_DrawPrimitiveUP(), d3d8_device_EndScene(), d3d8_device_EndStateBlock(), d3d8_device_GetAvailableTextureMem(), d3d8_device_GetBackBuffer(), d3d8_device_GetClipPlane(), d3d8_device_GetClipStatus(), d3d8_device_GetCreationParameters(), d3d8_device_GetDepthStencilSurface(), d3d8_device_GetDeviceCaps(), d3d8_device_GetDisplayMode(), d3d8_device_GetFrontBuffer(), d3d8_device_GetGammaRamp(), d3d8_device_GetIndices(), d3d8_device_GetLight(), d3d8_device_GetLightEnable(), d3d8_device_GetMaterial(), d3d8_device_GetPixelShader(), d3d8_device_GetPixelShaderConstant(), d3d8_device_GetPixelShaderFunction(), d3d8_device_GetRasterStatus(), d3d8_device_GetRenderState(), d3d8_device_GetRenderTarget(), d3d8_device_GetStreamSource(), d3d8_device_GetTexture(), d3d8_device_GetTextureStageState(), d3d8_device_GetTransform(), d3d8_device_GetVertexShader(), d3d8_device_GetVertexShaderConstant(), d3d8_device_GetVertexShaderDeclaration(), d3d8_device_GetVertexShaderFunction(), d3d8_device_GetViewport(), d3d8_device_LightEnable(), d3d8_device_MultiplyTransform(), d3d8_device_ProcessVertices(), d3d8_device_Release(), d3d8_device_Reset(), d3d8_device_ResourceManagerDiscardBytes(), d3d8_device_SetClipPlane(), d3d8_device_SetClipStatus(), d3d8_device_SetCursorPosition(), d3d8_device_SetCursorProperties(), d3d8_device_SetGammaRamp(), d3d8_device_SetIndices(), d3d8_device_SetLight(), d3d8_device_SetMaterial(), d3d8_device_SetPixelShader(), d3d8_device_SetPixelShaderConstant(), d3d8_device_SetRenderState(), d3d8_device_SetRenderTarget(), d3d8_device_SetStreamSource(), d3d8_device_SetTexture(), d3d8_device_SetTextureStageState(), d3d8_device_SetTransform(), d3d8_device_SetVertexShader(), d3d8_device_SetVertexShaderConstant(), d3d8_device_SetViewport(), d3d8_device_ShowCursor(), d3d8_device_UpdateTexture(), d3d8_device_ValidateDevice(), d3d8_EnumAdapterModes(), d3d8_GetAdapterCount(), d3d8_GetAdapterDisplayMode(), d3d8_GetAdapterIdentifier(), d3d8_GetAdapterModeCount(), d3d8_GetAdapterMonitor(), d3d8_GetDeviceCaps(), d3d8_indexbuffer_AddRef(), d3d8_indexbuffer_GetDesc(), d3d8_indexbuffer_GetPriority(), d3d8_indexbuffer_Lock(), d3d8_indexbuffer_PreLoad(), d3d8_indexbuffer_Release(), d3d8_indexbuffer_SetPriority(), d3d8_indexbuffer_Unlock(), d3d8_init(), d3d8_pixel_shader_destroy(), d3d8_pixel_shader_init(), d3d8_RegisterSoftwareDevice(), d3d8_Release(), d3d8_resource_free_private_data(), d3d8_resource_get_private_data(), d3d8_resource_set_private_data(), d3d8_surface_AddRef(), d3d8_surface_GetDesc(), d3d8_surface_LockRect(), d3d8_surface_Release(), d3d8_surface_UnlockRect(), d3d8_swapchain_AddRef(), d3d8_swapchain_GetBackBuffer(), d3d8_swapchain_Present(), d3d8_swapchain_Release(), d3d8_texture_2d_AddDirtyRect(), d3d8_texture_2d_AddRef(), d3d8_texture_2d_GetLevelCount(), d3d8_texture_2d_GetLevelDesc(), d3d8_texture_2d_GetLOD(), d3d8_texture_2d_GetPriority(), d3d8_texture_2d_GetSurfaceLevel(), d3d8_texture_2d_LockRect(), d3d8_texture_2d_PreLoad(), d3d8_texture_2d_Release(), d3d8_texture_2d_SetLOD(), d3d8_texture_2d_SetPriority(), d3d8_texture_2d_UnlockRect(), d3d8_texture_3d_AddDirtyBox(), d3d8_texture_3d_AddRef(), d3d8_texture_3d_GetLevelCount(), d3d8_texture_3d_GetLevelDesc(), d3d8_texture_3d_GetLOD(), d3d8_texture_3d_GetPriority(), d3d8_texture_3d_GetVolumeLevel(), d3d8_texture_3d_LockBox(), d3d8_texture_3d_PreLoad(), d3d8_texture_3d_Release(), d3d8_texture_3d_SetLOD(), d3d8_texture_3d_SetPriority(), d3d8_texture_3d_UnlockBox(), d3d8_texture_cube_AddDirtyRect(), d3d8_texture_cube_AddRef(), d3d8_texture_cube_GetCubeMapSurface(), d3d8_texture_cube_GetLevelCount(), d3d8_texture_cube_GetLevelDesc(), d3d8_texture_cube_GetLOD(), d3d8_texture_cube_GetPriority(), d3d8_texture_cube_LockRect(), d3d8_texture_cube_PreLoad(), d3d8_texture_cube_Release(), d3d8_texture_cube_SetLOD(), d3d8_texture_cube_SetPriority(), d3d8_texture_cube_UnlockRect(), d3d8_vertex_declaration_destroy(), d3d8_vertex_declaration_init(), d3d8_vertex_shader_destroy(), d3d8_vertex_shader_init(), d3d8_vertexbuffer_AddRef(), d3d8_vertexbuffer_GetDesc(), d3d8_vertexbuffer_GetPriority(), d3d8_vertexbuffer_Lock(), d3d8_vertexbuffer_PreLoad(), d3d8_vertexbuffer_Release(), d3d8_vertexbuffer_SetPriority(), d3d8_vertexbuffer_Unlock(), d3d8_volume_GetDesc(), d3d8_volume_LockBox(), d3d8_volume_UnlockBox(), d3d9_CheckDepthStencilMatch(), d3d9_CheckDeviceFormat(), d3d9_CheckDeviceFormatConversion(), d3d9_CheckDeviceMultiSampleType(), d3d9_CheckDeviceType(), d3d9_device_BeginScene(), d3d9_device_BeginStateBlock(), d3d9_device_CheckDeviceState(), d3d9_device_Clear(), d3d9_device_ColorFill(), d3d9_device_create_surface(), d3d9_device_CreateAdditionalSwapChain(), d3d9_device_DrawIndexedPrimitive(), d3d9_device_DrawIndexedPrimitiveUP(), d3d9_device_DrawPrimitive(), d3d9_device_DrawPrimitiveUP(), d3d9_device_EndScene(), d3d9_device_EndStateBlock(), d3d9_device_EvictManagedResources(), d3d9_device_GetAvailableTextureMem(), d3d9_device_GetBackBuffer(), d3d9_device_GetClipPlane(), d3d9_device_GetClipStatus(), d3d9_device_GetCreationParameters(), d3d9_device_GetDepthStencilSurface(), d3d9_device_GetDeviceCaps(), d3d9_device_GetDisplayMode(), d3d9_device_GetDisplayModeEx(), d3d9_device_GetFrontBufferData(), d3d9_device_GetFVF(), d3d9_device_GetGammaRamp(), d3d9_device_GetIndices(), d3d9_device_GetLight(), d3d9_device_GetLightEnable(), d3d9_device_GetMaterial(), d3d9_device_GetNPatchMode(), d3d9_device_GetNumberOfSwapChains(), d3d9_device_GetPixelShader(), d3d9_device_GetPixelShaderConstantB(), d3d9_device_GetPixelShaderConstantF(), d3d9_device_GetPixelShaderConstantI(), d3d9_device_GetRasterStatus(), d3d9_device_GetRenderState(), d3d9_device_GetRenderTarget(), d3d9_device_GetRenderTargetData(), d3d9_device_GetSamplerState(), d3d9_device_GetScissorRect(), d3d9_device_GetSoftwareVertexProcessing(), d3d9_device_GetStreamSource(), d3d9_device_GetStreamSourceFreq(), d3d9_device_GetSwapChain(), d3d9_device_GetTexture(), d3d9_device_GetTextureStageState(), d3d9_device_GetTransform(), d3d9_device_GetVertexDeclaration(), d3d9_device_GetVertexShader(), d3d9_device_GetVertexShaderConstantB(), d3d9_device_GetVertexShaderConstantF(), d3d9_device_GetVertexShaderConstantI(), d3d9_device_GetViewport(), d3d9_device_LightEnable(), d3d9_device_MultiplyTransform(), d3d9_device_Present(), d3d9_device_PresentEx(), d3d9_device_ProcessVertices(), d3d9_device_Release(), d3d9_device_reset(), d3d9_device_SetClipPlane(), d3d9_device_SetClipStatus(), d3d9_device_SetCursorPosition(), d3d9_device_SetCursorProperties(), d3d9_device_SetDepthStencilSurface(), d3d9_device_SetDialogBoxMode(), d3d9_device_SetFVF(), d3d9_device_SetGammaRamp(), d3d9_device_SetIndices(), d3d9_device_SetLight(), d3d9_device_SetMaterial(), d3d9_device_SetNPatchMode(), d3d9_device_SetPixelShader(), d3d9_device_SetPixelShaderConstantB(), d3d9_device_SetPixelShaderConstantF(), d3d9_device_SetPixelShaderConstantI(), d3d9_device_SetRenderState(), d3d9_device_SetRenderTarget(), d3d9_device_SetSamplerState(), d3d9_device_SetScissorRect(), d3d9_device_SetSoftwareVertexProcessing(), d3d9_device_SetStreamSource(), d3d9_device_SetStreamSourceFreq(), d3d9_device_SetTexture(), d3d9_device_SetTextureStageState(), d3d9_device_SetTransform(), d3d9_device_SetVertexDeclaration(), d3d9_device_SetVertexShader(), d3d9_device_SetVertexShaderConstantB(), d3d9_device_SetVertexShaderConstantF(), d3d9_device_SetVertexShaderConstantI(), d3d9_device_SetViewport(), d3d9_device_ShowCursor(), d3d9_device_StretchRect(), d3d9_device_UpdateSurface(), d3d9_device_UpdateTexture(), d3d9_device_ValidateDevice(), d3d9_EnumAdapterModes(), d3d9_EnumAdapterModesEx(), d3d9_GetAdapterCount(), d3d9_GetAdapterDisplayMode(), d3d9_GetAdapterDisplayModeEx(), d3d9_GetAdapterIdentifier(), d3d9_GetAdapterLUID(), d3d9_GetAdapterModeCount(), d3d9_GetAdapterModeCountEx(), d3d9_GetAdapterMonitor(), d3d9_GetDeviceCaps(), d3d9_indexbuffer_AddRef(), d3d9_indexbuffer_GetDesc(), d3d9_indexbuffer_GetPriority(), d3d9_indexbuffer_Lock(), d3d9_indexbuffer_PreLoad(), d3d9_indexbuffer_Release(), d3d9_indexbuffer_SetPriority(), d3d9_indexbuffer_Unlock(), d3d9_init(), d3d9_pixelshader_AddRef(), d3d9_pixelshader_GetFunction(), d3d9_pixelshader_Release(), d3d9_query_GetData(), d3d9_query_GetType(), d3d9_query_Issue(), d3d9_query_Release(), d3d9_RegisterSoftwareDevice(), d3d9_Release(), d3d9_resource_free_private_data(), d3d9_resource_get_private_data(), d3d9_resource_set_private_data(), d3d9_stateblock_Apply(), d3d9_stateblock_Capture(), d3d9_stateblock_Release(), d3d9_surface_AddRef(), d3d9_surface_GetDC(), d3d9_surface_GetDesc(), d3d9_surface_LockRect(), d3d9_surface_PreLoad(), d3d9_surface_Release(), d3d9_surface_ReleaseDC(), d3d9_surface_UnlockRect(), d3d9_swapchain_AddRef(), d3d9_swapchain_GetBackBuffer(), d3d9_swapchain_GetDisplayMode(), d3d9_swapchain_GetDisplayModeEx(), d3d9_swapchain_GetFrontBufferData(), d3d9_swapchain_GetPresentParameters(), d3d9_swapchain_GetRasterStatus(), d3d9_swapchain_Present(), d3d9_swapchain_Release(), d3d9_texture_2d_AddDirtyRect(), d3d9_texture_2d_AddRef(), d3d9_texture_2d_GenerateMipSubLevels(), d3d9_texture_2d_GetLevelCount(), d3d9_texture_2d_GetLevelDesc(), d3d9_texture_2d_GetLOD(), d3d9_texture_2d_GetPriority(), d3d9_texture_2d_GetSurfaceLevel(), d3d9_texture_2d_LockRect(), d3d9_texture_2d_PreLoad(), d3d9_texture_2d_SetLOD(), d3d9_texture_2d_SetPriority(), d3d9_texture_2d_UnlockRect(), d3d9_texture_3d_AddDirtyBox(), d3d9_texture_3d_AddRef(), d3d9_texture_3d_GetLevelCount(), d3d9_texture_3d_GetLevelDesc(), d3d9_texture_3d_GetLOD(), d3d9_texture_3d_GetPriority(), d3d9_texture_3d_GetVolumeLevel(), d3d9_texture_3d_LockBox(), d3d9_texture_3d_PreLoad(), d3d9_texture_3d_SetLOD(), d3d9_texture_3d_SetPriority(), d3d9_texture_3d_UnlockBox(), d3d9_texture_cleanup(), d3d9_texture_cube_AddDirtyRect(), d3d9_texture_cube_AddRef(), d3d9_texture_cube_GenerateMipSubLevels(), d3d9_texture_cube_GetCubeMapSurface(), d3d9_texture_cube_GetLevelCount(), d3d9_texture_cube_GetLevelDesc(), d3d9_texture_cube_GetLOD(), d3d9_texture_cube_GetPriority(), d3d9_texture_cube_LockRect(), d3d9_texture_cube_PreLoad(), d3d9_texture_cube_SetLOD(), d3d9_texture_cube_SetPriority(), d3d9_texture_cube_UnlockRect(), d3d9_vertex_declaration_AddRef(), d3d9_vertex_declaration_Release(), d3d9_vertexbuffer_AddRef(), d3d9_vertexbuffer_GetDesc(), d3d9_vertexbuffer_GetPriority(), d3d9_vertexbuffer_Lock(), d3d9_vertexbuffer_PreLoad(), d3d9_vertexbuffer_Release(), d3d9_vertexbuffer_SetPriority(), d3d9_vertexbuffer_Unlock(), d3d9_vertexshader_AddRef(), d3d9_vertexshader_GetFunction(), d3d9_vertexshader_Release(), d3d9_volume_GetDesc(), d3d9_volume_LockBox(), d3d9_volume_UnlockBox(), d3d_device1_CreateMatrix(), d3d_device1_DeleteMatrix(), d3d_device1_Execute(), d3d_device1_GetMatrix(), d3d_device1_SetMatrix(), d3d_device2_EnumTextureFormats(), d3d_device2_SetRenderTarget(), d3d_device2_SwapTextureHandles(), d3d_device3_AddViewport(), d3d_device3_Begin(), d3d_device3_DeleteViewport(), d3d_device3_GetCurrentViewport(), d3d_device3_GetLightState(), d3d_device3_GetRenderState(), d3d_device3_GetTransform(), d3d_device3_MultiplyTransform(), d3d_device3_NextViewport(), d3d_device3_SetCurrentViewport(), d3d_device3_SetLightState(), d3d_device3_SetRenderState(), d3d_device3_SetRenderTarget(), d3d_device3_SetTexture(), d3d_device3_SetTransform(), d3d_device3_Vertex(), d3d_device7_ApplyStateBlock(), d3d_device7_BeginScene(), d3d_device7_BeginStateBlock(), d3d_device7_CaptureStateBlock(), d3d_device7_Clear(), d3d_device7_CreateStateBlock(), d3d_device7_DeleteStateBlock(), d3d_device7_DrawIndexedPrimitive(), d3d_device7_DrawIndexedPrimitiveStrided(), d3d_device7_DrawIndexedPrimitiveVB(), d3d_device7_DrawPrimitive(), d3d_device7_DrawPrimitiveStrided(), d3d_device7_DrawPrimitiveVB(), d3d_device7_EndScene(), d3d_device7_EndStateBlock(), d3d_device7_EnumTextureFormats(), d3d_device7_GetClipPlane(), d3d_device7_GetLight(), d3d_device7_GetLightEnable(), d3d_device7_GetMaterial(), d3d_device7_GetRenderState(), d3d_device7_GetRenderTarget(), d3d_device7_GetTexture(), d3d_device7_GetTextureStageState(), d3d_device7_GetTransform(), d3d_device7_GetViewport(), d3d_device7_LightEnable(), d3d_device7_Load(), d3d_device7_MultiplyTransform(), d3d_device7_PreLoad(), d3d_device7_SetClipPlane(), d3d_device7_SetLight(), d3d_device7_SetMaterial(), d3d_device7_SetRenderState(), d3d_device7_SetRenderTarget(), d3d_device7_SetTexture(), d3d_device7_SetTextureStageState(), d3d_device7_SetTransform(), d3d_device7_SetViewport(), d3d_device7_ValidateDevice(), d3d_device_inner_Release(), d3d_light_GetLight(), d3d_light_SetLight(), d3d_material3_GetHandle(), d3d_material3_GetMaterial(), d3d_material3_Release(), d3d_material3_SetMaterial(), d3d_texture2_GetHandle(), d3d_texture2_Load(), d3d_vertex_buffer7_GetVertexBufferDesc(), d3d_vertex_buffer7_Lock(), d3d_vertex_buffer7_Optimize(), d3d_vertex_buffer7_ProcessVertices(), d3d_vertex_buffer7_Release(), d3d_vertex_buffer7_Unlock(), d3d_vertex_buffer_create(), d3d_viewport_AddLight(), d3d_viewport_Clear(), d3d_viewport_Clear2(), d3d_viewport_DeleteLight(), d3d_viewport_GetBackground(), d3d_viewport_GetViewport(), d3d_viewport_GetViewport2(), d3d_viewport_NextLight(), d3d_viewport_SetBackground(), d3d_viewport_SetViewport(), d3d_viewport_SetViewport2(), d3d_viewport_TransformVertices(), ddraw1_CreateSurface(), ddraw2_CreateSurface(), ddraw4_CreateSurface(), ddraw7_CreatePalette(), ddraw7_CreateSurface(), ddraw7_EnumDisplayModes(), ddraw7_EnumSurfaces(), ddraw7_GetAvailableVidMem(), ddraw7_GetCaps(), ddraw7_GetDeviceIdentifier(), ddraw7_GetDisplayMode(), ddraw7_GetGDISurface(), ddraw7_GetMonitorFrequency(), ddraw7_GetScanLine(), ddraw7_GetSurfaceFromDC(), ddraw7_GetVerticalBlankStatus(), ddraw7_RestoreDisplayMode(), ddraw7_SetDisplayMode(), ddraw_clipper_GetClipList(), ddraw_clipper_GetHWnd(), ddraw_clipper_Initialize(), ddraw_clipper_SetClipList(), ddraw_clipper_SetHWnd(), ddraw_destroy(), ddraw_enumerate_secondary_devices(), ddraw_gamma_control_GetGammaRamp(), ddraw_gamma_control_SetGammaRamp(), ddraw_get_d3dcaps(), ddraw_palette_GetCaps(), ddraw_palette_GetEntries(), ddraw_palette_Release(), ddraw_palette_SetEntries(), ddraw_set_cooperative_level(), ddraw_surface3_GetSurfaceDesc(), ddraw_surface7_Blt(), ddraw_surface7_BltFast(), ddraw_surface7_EnumAttachedSurfaces(), ddraw_surface7_Flip(), ddraw_surface7_FreePrivateData(), ddraw_surface7_GetAttachedSurface(), ddraw_surface7_GetClipper(), ddraw_surface7_GetColorKey(), ddraw_surface7_GetDC(), ddraw_surface7_GetLOD(), ddraw_surface7_GetOverlayPosition(), ddraw_surface7_GetPalette(), ddraw_surface7_GetPixelFormat(), ddraw_surface7_GetPriority(), ddraw_surface7_GetPrivateData(), ddraw_surface7_GetSurfaceDesc(), ddraw_surface7_QueryInterface(), ddraw_surface7_ReleaseDC(), ddraw_surface7_SetClipper(), ddraw_surface7_SetLOD(), ddraw_surface7_SetOverlayPosition(), ddraw_surface7_SetPriority(), ddraw_surface7_SetPrivateData(), ddraw_surface7_SetSurfaceDesc(), ddraw_surface7_Unlock(), ddraw_surface7_UpdateOverlay(), ddraw_surface7_UpdateOverlayZOrder(), ddraw_surface_add_iface(), ddraw_surface_attach_surface(), ddraw_surface_delete_attached_surface(), ddraw_surface_release_iface(), ddraw_surface_set_color_key(), ddraw_surface_set_palette(), device_init(), DirectDrawCreate(), DirectDrawCreateClipper(), DirectDrawCreateEx(), GetSurfaceFromDC(), indexbuffer_init(), pixelshader_init(), prepare_clip_space_planes(), query_init(), stateblock_init(), surface_lock(), swapchain_init(), texture_init(), vertexbuffer_init(), vertexdeclaration_init(), vertexshader_init(), and volumetexture_init().

◆ wined3d_mutex_unlock()

void WINAPI wined3d_mutex_unlock ( void  )

Definition at line 373 of file wined3d_main.c.

374 {
376 }
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)

Referenced by CF_CreateDirectDraw(), CF_CreateDirectDrawClipper(), cubetexture_init(), d3d2_CreateDevice(), d3d3_CreateDevice(), d3d3_EnumDevices(), d3d7_CreateDevice(), d3d7_EnumDevices(), d3d7_EnumZBufferFormats(), d3d7_EvictManagedTextures(), d3d8_CheckDepthStencilMatch(), d3d8_CheckDeviceFormat(), d3d8_CheckDeviceMultiSampleType(), d3d8_CheckDeviceType(), d3d8_device_ApplyStateBlock(), d3d8_device_BeginScene(), d3d8_device_BeginStateBlock(), d3d8_device_CaptureStateBlock(), d3d8_device_Clear(), d3d8_device_CopyRects(), d3d8_device_create_surface(), d3d8_device_CreateAdditionalSwapChain(), d3d8_device_CreatePixelShader(), d3d8_device_CreateStateBlock(), d3d8_device_CreateVertexShader(), d3d8_device_DeletePixelShader(), d3d8_device_DeleteStateBlock(), d3d8_device_DeleteVertexShader(), d3d8_device_DrawIndexedPrimitive(), d3d8_device_DrawIndexedPrimitiveUP(), d3d8_device_DrawPrimitive(), d3d8_device_DrawPrimitiveUP(), d3d8_device_EndScene(), d3d8_device_EndStateBlock(), d3d8_device_GetAvailableTextureMem(), d3d8_device_GetBackBuffer(), d3d8_device_GetClipPlane(), d3d8_device_GetClipStatus(), d3d8_device_GetCreationParameters(), d3d8_device_GetDepthStencilSurface(), d3d8_device_GetDeviceCaps(), d3d8_device_GetDisplayMode(), d3d8_device_GetFrontBuffer(), d3d8_device_GetGammaRamp(), d3d8_device_GetIndices(), d3d8_device_GetLight(), d3d8_device_GetLightEnable(), d3d8_device_GetMaterial(), d3d8_device_GetPixelShader(), d3d8_device_GetPixelShaderConstant(), d3d8_device_GetPixelShaderFunction(), d3d8_device_GetRasterStatus(), d3d8_device_GetRenderState(), d3d8_device_GetRenderTarget(), d3d8_device_GetStreamSource(), d3d8_device_GetTexture(), d3d8_device_GetTextureStageState(), d3d8_device_GetTransform(), d3d8_device_GetVertexShader(), d3d8_device_GetVertexShaderConstant(), d3d8_device_GetVertexShaderDeclaration(), d3d8_device_GetVertexShaderFunction(), d3d8_device_GetViewport(), d3d8_device_LightEnable(), d3d8_device_MultiplyTransform(), d3d8_device_ProcessVertices(), d3d8_device_Release(), d3d8_device_Reset(), d3d8_device_ResourceManagerDiscardBytes(), d3d8_device_SetClipPlane(), d3d8_device_SetClipStatus(), d3d8_device_SetCursorPosition(), d3d8_device_SetCursorProperties(), d3d8_device_SetGammaRamp(), d3d8_device_SetIndices(), d3d8_device_SetLight(), d3d8_device_SetMaterial(), d3d8_device_SetPixelShader(), d3d8_device_SetPixelShaderConstant(), d3d8_device_SetRenderState(), d3d8_device_SetRenderTarget(), d3d8_device_SetStreamSource(), d3d8_device_SetTexture(), d3d8_device_SetTextureStageState(), d3d8_device_SetTransform(), d3d8_device_SetVertexShader(), d3d8_device_SetVertexShaderConstant(), d3d8_device_SetViewport(), d3d8_device_ShowCursor(), d3d8_device_UpdateTexture(), d3d8_device_ValidateDevice(), d3d8_EnumAdapterModes(), d3d8_GetAdapterCount(), d3d8_GetAdapterDisplayMode(), d3d8_GetAdapterIdentifier(), d3d8_GetAdapterModeCount(), d3d8_GetAdapterMonitor(), d3d8_GetDeviceCaps(), d3d8_indexbuffer_AddRef(), d3d8_indexbuffer_GetDesc(), d3d8_indexbuffer_GetPriority(), d3d8_indexbuffer_Lock(), d3d8_indexbuffer_PreLoad(), d3d8_indexbuffer_Release(), d3d8_indexbuffer_SetPriority(), d3d8_indexbuffer_Unlock(), d3d8_init(), d3d8_pixel_shader_destroy(), d3d8_pixel_shader_init(), d3d8_RegisterSoftwareDevice(), d3d8_Release(), d3d8_resource_free_private_data(), d3d8_resource_get_private_data(), d3d8_resource_set_private_data(), d3d8_surface_AddRef(), d3d8_surface_GetDesc(), d3d8_surface_LockRect(), d3d8_surface_Release(), d3d8_surface_UnlockRect(), d3d8_swapchain_AddRef(), d3d8_swapchain_GetBackBuffer(), d3d8_swapchain_Present(), d3d8_swapchain_Release(), d3d8_texture_2d_AddDirtyRect(), d3d8_texture_2d_AddRef(), d3d8_texture_2d_GetLevelCount(), d3d8_texture_2d_GetLevelDesc(), d3d8_texture_2d_GetLOD(), d3d8_texture_2d_GetPriority(), d3d8_texture_2d_GetSurfaceLevel(), d3d8_texture_2d_LockRect(), d3d8_texture_2d_PreLoad(), d3d8_texture_2d_Release(), d3d8_texture_2d_SetLOD(), d3d8_texture_2d_SetPriority(), d3d8_texture_2d_UnlockRect(), d3d8_texture_3d_AddDirtyBox(), d3d8_texture_3d_AddRef(), d3d8_texture_3d_GetLevelCount(), d3d8_texture_3d_GetLevelDesc(), d3d8_texture_3d_GetLOD(), d3d8_texture_3d_GetPriority(), d3d8_texture_3d_GetVolumeLevel(), d3d8_texture_3d_LockBox(), d3d8_texture_3d_PreLoad(), d3d8_texture_3d_Release(), d3d8_texture_3d_SetLOD(), d3d8_texture_3d_SetPriority(), d3d8_texture_3d_UnlockBox(), d3d8_texture_cube_AddDirtyRect(), d3d8_texture_cube_AddRef(), d3d8_texture_cube_GetCubeMapSurface(), d3d8_texture_cube_GetLevelCount(), d3d8_texture_cube_GetLevelDesc(), d3d8_texture_cube_GetLOD(), d3d8_texture_cube_GetPriority(), d3d8_texture_cube_LockRect(), d3d8_texture_cube_PreLoad(), d3d8_texture_cube_Release(), d3d8_texture_cube_SetLOD(), d3d8_texture_cube_SetPriority(), d3d8_texture_cube_UnlockRect(), d3d8_vertex_declaration_destroy(), d3d8_vertex_declaration_init(), d3d8_vertex_shader_destroy(), d3d8_vertex_shader_init(), d3d8_vertexbuffer_AddRef(), d3d8_vertexbuffer_GetDesc(), d3d8_vertexbuffer_GetPriority(), d3d8_vertexbuffer_Lock(), d3d8_vertexbuffer_PreLoad(), d3d8_vertexbuffer_Release(), d3d8_vertexbuffer_SetPriority(), d3d8_vertexbuffer_Unlock(), d3d8_volume_GetDesc(), d3d8_volume_LockBox(), d3d8_volume_UnlockBox(), d3d9_CheckDepthStencilMatch(), d3d9_CheckDeviceFormat(), d3d9_CheckDeviceFormatConversion(), d3d9_CheckDeviceMultiSampleType(), d3d9_CheckDeviceType(), d3d9_device_BeginScene(), d3d9_device_BeginStateBlock(), d3d9_device_CheckDeviceState(), d3d9_device_Clear(), d3d9_device_ColorFill(), d3d9_device_create_surface(), d3d9_device_CreateAdditionalSwapChain(), d3d9_device_DrawIndexedPrimitive(), d3d9_device_DrawIndexedPrimitiveUP(), d3d9_device_DrawPrimitive(), d3d9_device_DrawPrimitiveUP(), d3d9_device_EndScene(), d3d9_device_EndStateBlock(), d3d9_device_EvictManagedResources(), d3d9_device_GetAvailableTextureMem(), d3d9_device_GetBackBuffer(), d3d9_device_GetClipPlane(), d3d9_device_GetClipStatus(), d3d9_device_GetCreationParameters(), d3d9_device_GetDepthStencilSurface(), d3d9_device_GetDeviceCaps(), d3d9_device_GetDisplayMode(), d3d9_device_GetDisplayModeEx(), d3d9_device_GetFrontBufferData(), d3d9_device_GetFVF(), d3d9_device_GetGammaRamp(), d3d9_device_GetIndices(), d3d9_device_GetLight(), d3d9_device_GetLightEnable(), d3d9_device_GetMaterial(), d3d9_device_GetNPatchMode(), d3d9_device_GetNumberOfSwapChains(), d3d9_device_GetPixelShader(), d3d9_device_GetPixelShaderConstantB(), d3d9_device_GetPixelShaderConstantF(), d3d9_device_GetPixelShaderConstantI(), d3d9_device_GetRasterStatus(), d3d9_device_GetRenderState(), d3d9_device_GetRenderTarget(), d3d9_device_GetRenderTargetData(), d3d9_device_GetSamplerState(), d3d9_device_GetScissorRect(), d3d9_device_GetSoftwareVertexProcessing(), d3d9_device_GetStreamSource(), d3d9_device_GetStreamSourceFreq(), d3d9_device_GetSwapChain(), d3d9_device_GetTexture(), d3d9_device_GetTextureStageState(), d3d9_device_GetTransform(), d3d9_device_GetVertexDeclaration(), d3d9_device_GetVertexShader(), d3d9_device_GetVertexShaderConstantB(), d3d9_device_GetVertexShaderConstantF(), d3d9_device_GetVertexShaderConstantI(), d3d9_device_GetViewport(), d3d9_device_LightEnable(), d3d9_device_MultiplyTransform(), d3d9_device_Present(), d3d9_device_PresentEx(), d3d9_device_ProcessVertices(), d3d9_device_Release(), d3d9_device_reset(), d3d9_device_SetClipPlane(), d3d9_device_SetClipStatus(), d3d9_device_SetCursorPosition(), d3d9_device_SetCursorProperties(), d3d9_device_SetDepthStencilSurface(), d3d9_device_SetDialogBoxMode(), d3d9_device_SetFVF(), d3d9_device_SetGammaRamp(), d3d9_device_SetIndices(), d3d9_device_SetLight(), d3d9_device_SetMaterial(), d3d9_device_SetNPatchMode(), d3d9_device_SetPixelShader(), d3d9_device_SetPixelShaderConstantB(), d3d9_device_SetPixelShaderConstantF(), d3d9_device_SetPixelShaderConstantI(), d3d9_device_SetRenderState(), d3d9_device_SetRenderTarget(), d3d9_device_SetSamplerState(), d3d9_device_SetScissorRect(), d3d9_device_SetSoftwareVertexProcessing(), d3d9_device_SetStreamSource(), d3d9_device_SetStreamSourceFreq(), d3d9_device_SetTexture(), d3d9_device_SetTextureStageState(), d3d9_device_SetTransform(), d3d9_device_SetVertexDeclaration(), d3d9_device_SetVertexShader(), d3d9_device_SetVertexShaderConstantB(), d3d9_device_SetVertexShaderConstantF(), d3d9_device_SetVertexShaderConstantI(), d3d9_device_SetViewport(), d3d9_device_ShowCursor(), d3d9_device_StretchRect(), d3d9_device_UpdateSurface(), d3d9_device_UpdateTexture(), d3d9_device_ValidateDevice(), d3d9_EnumAdapterModes(), d3d9_EnumAdapterModesEx(), d3d9_GetAdapterCount(), d3d9_GetAdapterDisplayMode(), d3d9_GetAdapterDisplayModeEx(), d3d9_GetAdapterIdentifier(), d3d9_GetAdapterLUID(), d3d9_GetAdapterModeCount(), d3d9_GetAdapterModeCountEx(), d3d9_GetAdapterMonitor(), d3d9_GetDeviceCaps(), d3d9_indexbuffer_AddRef(), d3d9_indexbuffer_GetDesc(), d3d9_indexbuffer_GetPriority(), d3d9_indexbuffer_Lock(), d3d9_indexbuffer_PreLoad(), d3d9_indexbuffer_Release(), d3d9_indexbuffer_SetPriority(), d3d9_indexbuffer_Unlock(), d3d9_init(), d3d9_pixelshader_AddRef(), d3d9_pixelshader_GetFunction(), d3d9_pixelshader_Release(), d3d9_query_GetData(), d3d9_query_GetType(), d3d9_query_Issue(), d3d9_query_Release(), d3d9_RegisterSoftwareDevice(), d3d9_Release(), d3d9_resource_free_private_data(), d3d9_resource_get_private_data(), d3d9_resource_set_private_data(), d3d9_stateblock_Apply(), d3d9_stateblock_Capture(), d3d9_stateblock_Release(), d3d9_surface_AddRef(), d3d9_surface_GetDC(), d3d9_surface_GetDesc(), d3d9_surface_LockRect(), d3d9_surface_PreLoad(), d3d9_surface_Release(), d3d9_surface_ReleaseDC(), d3d9_surface_UnlockRect(), d3d9_swapchain_AddRef(), d3d9_swapchain_GetBackBuffer(), d3d9_swapchain_GetDisplayMode(), d3d9_swapchain_GetDisplayModeEx(), d3d9_swapchain_GetFrontBufferData(), d3d9_swapchain_GetPresentParameters(), d3d9_swapchain_GetRasterStatus(), d3d9_swapchain_Present(), d3d9_swapchain_Release(), d3d9_texture_2d_AddDirtyRect(), d3d9_texture_2d_AddRef(), d3d9_texture_2d_GenerateMipSubLevels(), d3d9_texture_2d_GetLevelCount(), d3d9_texture_2d_GetLevelDesc(), d3d9_texture_2d_GetLOD(), d3d9_texture_2d_GetPriority(), d3d9_texture_2d_GetSurfaceLevel(), d3d9_texture_2d_LockRect(), d3d9_texture_2d_PreLoad(), d3d9_texture_2d_SetLOD(), d3d9_texture_2d_SetPriority(), d3d9_texture_2d_UnlockRect(), d3d9_texture_3d_AddDirtyBox(), d3d9_texture_3d_AddRef(), d3d9_texture_3d_GetLevelCount(), d3d9_texture_3d_GetLevelDesc(), d3d9_texture_3d_GetLOD(), d3d9_texture_3d_GetPriority(), d3d9_texture_3d_GetVolumeLevel(), d3d9_texture_3d_LockBox(), d3d9_texture_3d_PreLoad(), d3d9_texture_3d_SetLOD(), d3d9_texture_3d_SetPriority(), d3d9_texture_3d_UnlockBox(), d3d9_texture_cleanup(), d3d9_texture_cube_AddDirtyRect(), d3d9_texture_cube_AddRef(), d3d9_texture_cube_GenerateMipSubLevels(), d3d9_texture_cube_GetCubeMapSurface(), d3d9_texture_cube_GetLevelCount(), d3d9_texture_cube_GetLevelDesc(), d3d9_texture_cube_GetLOD(), d3d9_texture_cube_GetPriority(), d3d9_texture_cube_LockRect(), d3d9_texture_cube_PreLoad(), d3d9_texture_cube_SetLOD(), d3d9_texture_cube_SetPriority(), d3d9_texture_cube_UnlockRect(), d3d9_vertex_declaration_AddRef(), d3d9_vertex_declaration_Release(), d3d9_vertexbuffer_AddRef(), d3d9_vertexbuffer_GetDesc(), d3d9_vertexbuffer_GetPriority(), d3d9_vertexbuffer_Lock(), d3d9_vertexbuffer_PreLoad(), d3d9_vertexbuffer_Release(), d3d9_vertexbuffer_SetPriority(), d3d9_vertexbuffer_Unlock(), d3d9_vertexshader_AddRef(), d3d9_vertexshader_GetFunction(), d3d9_vertexshader_Release(), d3d9_volume_GetDesc(), d3d9_volume_LockBox(), d3d9_volume_UnlockBox(), d3d_device1_CreateMatrix(), d3d_device1_DeleteMatrix(), d3d_device1_Execute(), d3d_device1_GetMatrix(), d3d_device1_SetMatrix(), d3d_device2_EnumTextureFormats(), d3d_device2_SetRenderTarget(), d3d_device2_SwapTextureHandles(), d3d_device3_AddViewport(), d3d_device3_Begin(), d3d_device3_DeleteViewport(), d3d_device3_GetCurrentViewport(), d3d_device3_GetLightState(), d3d_device3_GetRenderState(), d3d_device3_GetTransform(), d3d_device3_MultiplyTransform(), d3d_device3_NextViewport(), d3d_device3_SetCurrentViewport(), d3d_device3_SetLightState(), d3d_device3_SetRenderState(), d3d_device3_SetRenderTarget(), d3d_device3_SetTexture(), d3d_device3_SetTransform(), d3d_device3_Vertex(), d3d_device7_ApplyStateBlock(), d3d_device7_BeginScene(), d3d_device7_BeginStateBlock(), d3d_device7_CaptureStateBlock(), d3d_device7_Clear(), d3d_device7_CreateStateBlock(), d3d_device7_DeleteStateBlock(), d3d_device7_DrawIndexedPrimitive(), d3d_device7_DrawIndexedPrimitiveStrided(), d3d_device7_DrawIndexedPrimitiveVB(), d3d_device7_DrawPrimitive(), d3d_device7_DrawPrimitiveStrided(), d3d_device7_DrawPrimitiveVB(), d3d_device7_EndScene(), d3d_device7_EndStateBlock(), d3d_device7_EnumTextureFormats(), d3d_device7_GetClipPlane(), d3d_device7_GetLight(), d3d_device7_GetLightEnable(), d3d_device7_GetMaterial(), d3d_device7_GetRenderState(), d3d_device7_GetRenderTarget(), d3d_device7_GetTexture(), d3d_device7_GetTextureStageState(), d3d_device7_GetTransform(), d3d_device7_GetViewport(), d3d_device7_LightEnable(), d3d_device7_Load(), d3d_device7_MultiplyTransform(), d3d_device7_PreLoad(), d3d_device7_SetClipPlane(), d3d_device7_SetLight(), d3d_device7_SetMaterial(), d3d_device7_SetRenderState(), d3d_device7_SetRenderTarget(), d3d_device7_SetTexture(), d3d_device7_SetTextureStageState(), d3d_device7_SetTransform(), d3d_device7_SetViewport(), d3d_device7_ValidateDevice(), d3d_device_inner_Release(), d3d_light_GetLight(), d3d_light_SetLight(), d3d_material3_GetHandle(), d3d_material3_GetMaterial(), d3d_material3_Release(), d3d_material3_SetMaterial(), d3d_texture2_GetHandle(), d3d_texture2_Load(), d3d_vertex_buffer7_GetVertexBufferDesc(), d3d_vertex_buffer7_Lock(), d3d_vertex_buffer7_Optimize(), d3d_vertex_buffer7_ProcessVertices(), d3d_vertex_buffer7_Release(), d3d_vertex_buffer7_Unlock(), d3d_vertex_buffer_create(), d3d_viewport_AddLight(), d3d_viewport_Clear(), d3d_viewport_Clear2(), d3d_viewport_DeleteLight(), d3d_viewport_GetBackground(), d3d_viewport_GetViewport(), d3d_viewport_GetViewport2(), d3d_viewport_NextLight(), d3d_viewport_SetBackground(), d3d_viewport_SetViewport(), d3d_viewport_SetViewport2(), d3d_viewport_TransformVertices(), ddraw1_CreateSurface(), ddraw2_CreateSurface(), ddraw4_CreateSurface(), ddraw7_CreatePalette(), ddraw7_CreateSurface(), ddraw7_EnumDisplayModes(), ddraw7_EnumSurfaces(), ddraw7_GetAvailableVidMem(), ddraw7_GetCaps(), ddraw7_GetDeviceIdentifier(), ddraw7_GetDisplayMode(), ddraw7_GetGDISurface(), ddraw7_GetMonitorFrequency(), ddraw7_GetScanLine(), ddraw7_GetSurfaceFromDC(), ddraw7_GetVerticalBlankStatus(), ddraw7_RestoreDisplayMode(), ddraw7_SetDisplayMode(), ddraw_clipper_GetClipList(), ddraw_clipper_GetHWnd(), ddraw_clipper_Initialize(), ddraw_clipper_SetClipList(), ddraw_clipper_SetHWnd(), ddraw_destroy(), ddraw_enumerate_secondary_devices(), ddraw_gamma_control_GetGammaRamp(), ddraw_gamma_control_SetGammaRamp(), ddraw_get_d3dcaps(), ddraw_palette_GetCaps(), ddraw_palette_GetEntries(), ddraw_palette_Release(), ddraw_palette_SetEntries(), ddraw_set_cooperative_level(), ddraw_surface3_GetSurfaceDesc(), ddraw_surface7_Blt(), ddraw_surface7_BltFast(), ddraw_surface7_EnumAttachedSurfaces(), ddraw_surface7_Flip(), ddraw_surface7_FreePrivateData(), ddraw_surface7_GetAttachedSurface(), ddraw_surface7_GetClipper(), ddraw_surface7_GetColorKey(), ddraw_surface7_GetDC(), ddraw_surface7_GetLOD(), ddraw_surface7_GetOverlayPosition(), ddraw_surface7_GetPalette(), ddraw_surface7_GetPixelFormat(), ddraw_surface7_GetPriority(), ddraw_surface7_GetPrivateData(), ddraw_surface7_GetSurfaceDesc(), ddraw_surface7_QueryInterface(), ddraw_surface7_ReleaseDC(), ddraw_surface7_SetClipper(), ddraw_surface7_SetLOD(), ddraw_surface7_SetOverlayPosition(), ddraw_surface7_SetPriority(), ddraw_surface7_SetPrivateData(), ddraw_surface7_SetSurfaceDesc(), ddraw_surface7_Unlock(), ddraw_surface7_UpdateOverlay(), ddraw_surface7_UpdateOverlayZOrder(), ddraw_surface_add_iface(), ddraw_surface_attach_surface(), ddraw_surface_delete_attached_surface(), ddraw_surface_release_iface(), ddraw_surface_set_color_key(), ddraw_surface_set_palette(), device_init(), DirectDrawCreate(), DirectDrawCreateClipper(), DirectDrawCreateEx(), GetSurfaceFromDC(), indexbuffer_init(), pixelshader_init(), prepare_clip_space_planes(), query_init(), stateblock_init(), surface_lock(), swapchain_init(), texture_init(), vertexbuffer_init(), vertexdeclaration_init(), vertexshader_init(), and volumetexture_init().

◆ wined3d_register_window()

BOOL wined3d_register_window ( HWND  window,
struct wined3d_device device 
)

Definition at line 432 of file wined3d_main.c.

433 {
434  struct wined3d_wndproc *entry;
435 
437 
439  {
441  WARN("Window %p is already registered with wined3d.\n", window);
442  return TRUE;
443  }
444 
445  if (!wined3d_array_reserve((void **)&wndproc_table.entries, &wndproc_table.size,
446  wndproc_table.count + 1, sizeof(*entry)))
447  {
449  ERR("Failed to grow table.\n");
450  return FALSE;
451  }
452 
453  entry = &wndproc_table.entries[wndproc_table.count++];
454  entry->window = window;
455  entry->unicode = IsWindowUnicode(window);
456  /* Set a window proc that matches the window. Some applications (e.g. NoX)
457  * replace the window proc after we've set ours, and expect to be able to
458  * call the previous one (ours) directly, without using CallWindowProc(). */
459  if (entry->unicode)
461  else
463  entry->device = device;
464 
466 
467  return TRUE;
468 }
static LRESULT CALLBACK wined3d_wndproc(HWND window, UINT message, WPARAM wparam, LPARAM lparam)
Definition: wined3d_main.c:403
#define TRUE
Definition: types.h:120
#define WARN(fmt,...)
Definition: debug.h:111
struct wined3d_device * device
Definition: wined3d_main.c:39
static struct wined3d_wndproc_table wndproc_table
Definition: wined3d_main.c:49
BOOL WINAPI IsWindowUnicode(_In_ HWND)
static struct wined3d_wndproc * wined3d_find_wndproc(HWND window)
Definition: wined3d_main.c:388
BOOL wined3d_array_reserve(void **elements, SIZE_T *capacity, SIZE_T count, SIZE_T size)
Definition: utils.c:6526
static void wined3d_wndproc_mutex_lock(void)
Definition: wined3d_main.c:378
uint32_t entry
Definition: isohybrid.c:63
#define SetWindowLongPtrA
Definition: winuser.h:5320
static IHTMLWindow2 * window
Definition: events.c:77
#define GWLP_WNDPROC
Definition: treelist.c:66
LRESULT(CALLBACK * WNDPROC)(HWND, UINT, WPARAM, LPARAM)
Definition: winuser.h:2881
#define ERR(fmt,...)
Definition: debug.h:109
__int3264 LONG_PTR
Definition: mstsclib_h.h:276
static void wined3d_wndproc_mutex_unlock(void)
Definition: wined3d_main.c:383
#define SetWindowLongPtrW
Definition: winuser.h:5321

Referenced by wined3d_device_acquire_focus_window().

◆ wined3d_strictdrawing_set()

void CDECL wined3d_strictdrawing_set ( int  value)

Definition at line 519 of file wined3d_main.c.

520 {
522 }
GLsizei const GLfloat * value
Definition: glext.h:6069

◆ wined3d_unregister_window()

void wined3d_unregister_window ( HWND  window)

Definition at line 470 of file wined3d_main.c.

471 {
472  struct wined3d_wndproc *entry, *last;
473  LONG_PTR proc;
474 
476 
478  {
480  ERR("Window %p is not registered with wined3d.\n", window);
481  return;
482  }
483 
484  if (entry->unicode)
485  {
487  if (proc != (LONG_PTR)wined3d_wndproc)
488  {
489  entry->device = NULL;
491  WARN("Not unregistering window %p, window proc %#lx doesn't match wined3d window proc %p.\n",
493  return;
494  }
495 
497  }
498  else
499  {
501  if (proc != (LONG_PTR)wined3d_wndproc)
502  {
503  entry->device = NULL;
505  WARN("Not unregistering window %p, window proc %#lx doesn't match wined3d window proc %p.\n",
507  return;
508  }
509 
511  }
512 
513  last = &wndproc_table.entries[--wndproc_table.count];
514  if (entry != last) *entry = *last;
515 
517 }
POINT last
Definition: font.c:46
#define WARN(fmt,...)
Definition: debug.h:111
static HANDLE proc()
Definition: pdb.c:32
#define GetWindowLongPtrW
Definition: winuser.h:4804
static struct wined3d_wndproc_table wndproc_table
Definition: wined3d_main.c:49
smooth NULL
Definition: ftsmooth.c:416
#define GetWindowLongPtrA
Definition: winuser.h:4803
static struct wined3d_wndproc * wined3d_find_wndproc(HWND window)
Definition: wined3d_main.c:388
static void wined3d_wndproc_mutex_lock(void)
Definition: wined3d_main.c:378
uint32_t entry
Definition: isohybrid.c:63
#define SetWindowLongPtrA
Definition: winuser.h:5320
static IHTMLWindow2 * window
Definition: events.c:77
#define GWLP_WNDPROC
Definition: treelist.c:66
#define ERR(fmt,...)
Definition: debug.h:109
__int3264 LONG_PTR
Definition: mstsclib_h.h:276
static void wined3d_wndproc_mutex_unlock(void)
Definition: wined3d_main.c:383
#define SetWindowLongPtrW
Definition: winuser.h:5321

Referenced by device_process_message(), and wined3d_device_release_focus_window().

◆ wined3d_wndproc()

static LRESULT CALLBACK wined3d_wndproc ( HWND  window,
UINT  message,
WPARAM  wparam,
LPARAM  lparam 
)
static

Definition at line 403 of file wined3d_main.c.

404 {
405  struct wined3d_wndproc *entry;
406  struct wined3d_device *device;
407  BOOL unicode;
408  WNDPROC proc;
409 
412 
413  if (!entry)
414  {
416  ERR("Window %p is not registered with wined3d.\n", window);
418  }
419 
420  device = entry->device;
421  unicode = entry->unicode;
422  proc = entry->proc;
424 
425  if (device)
427  if (unicode)
430 }
Definition: tftpd.h:59
static HANDLE proc()
Definition: pdb.c:32
LRESULT WINAPI DefWindowProcW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
LRESULT WINAPI CallWindowProcA(_In_ WNDPROC, _In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
unsigned int BOOL
Definition: ntddk_ex.h:94
Definition: devices.h:37
static UINT WPARAM LPARAM lparam
Definition: combo.c:716
static struct wined3d_wndproc * wined3d_find_wndproc(HWND window)
Definition: wined3d_main.c:388
static void wined3d_wndproc_mutex_lock(void)
Definition: wined3d_main.c:378
uint32_t entry
Definition: isohybrid.c:63
static IHTMLWindow2 * window
Definition: events.c:77
LRESULT(CALLBACK * WNDPROC)(HWND, UINT, WPARAM, LPARAM)
Definition: winuser.h:2881
#define ERR(fmt,...)
Definition: debug.h:109
static void wined3d_wndproc_mutex_unlock(void)
Definition: wined3d_main.c:383
LRESULT WINAPI CallWindowProcW(_In_ WNDPROC, _In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
LRESULT device_process_message(struct wined3d_device *device, HWND window, BOOL unicode, UINT message, WPARAM wparam, LPARAM lparam, WNDPROC proc)
Definition: device.c:5292
static UINT WPARAM wparam
Definition: combo.c:716

Referenced by wined3d_register_window().

◆ wined3d_wndproc_mutex_lock()

static void wined3d_wndproc_mutex_lock ( void  )
static

Definition at line 378 of file wined3d_main.c.

379 {
381 }
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)
static CRITICAL_SECTION wined3d_wndproc_cs
Definition: wined3d_main.c:61

Referenced by wined3d_register_window(), wined3d_unregister_window(), and wined3d_wndproc().

◆ wined3d_wndproc_mutex_unlock()

static void wined3d_wndproc_mutex_unlock ( void  )
static

Definition at line 383 of file wined3d_main.c.

384 {
386 }
static CRITICAL_SECTION wined3d_wndproc_cs
Definition: wined3d_main.c:61
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)

Referenced by wined3d_register_window(), wined3d_unregister_window(), and wined3d_wndproc().

Variable Documentation

◆ wined3d_cs

static CRITICAL_SECTION wined3d_cs = {&wined3d_cs_debug, -1, 0, 0, 0, 0}
static

Definition at line 51 of file wined3d_main.c.

◆ wined3d_cs_debug

CRITICAL_SECTION_DEBUG wined3d_cs_debug
static
Initial value:
=
{
0, 0, &wined3d_cs,
0, 0, {(DWORD_PTR)(__FILE__ ": wined3d_cs")}
}
#define DWORD_PTR
Definition: treelist.c:76
static CRITICAL_SECTION_DEBUG wined3d_cs_debug
Definition: wined3d_main.c:52
static CRITICAL_SECTION wined3d_cs
Definition: wined3d_main.c:51
LIST_ENTRY ProcessLocksList
Definition: winbase.h:855

Definition at line 52 of file wined3d_main.c.

◆ wined3d_settings

Initial value:
=
{
TRUE,
TRUE,
0,
NULL,
TRUE,
~0u,
~0U,
~0U,
~0U,
~0U,
~0U,
~0u,
}
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble * u
Definition: glfuncs.h:240
#define ORM_FBO
#define TRUE
Definition: types.h:120
#define U(x)
Definition: wordpad.c:44
#define PCI_DEVICE_NONE
smooth NULL
Definition: ftsmooth.c:416
#define MAKEDWORD_VERSION(maj, min)
#define PCI_VENDOR_NONE

Definition at line 73 of file wined3d_main.c.

◆ wined3d_wndproc_cs

static CRITICAL_SECTION wined3d_wndproc_cs = {&wined3d_wndproc_cs_debug, -1, 0, 0, 0, 0}
static

◆ wined3d_wndproc_cs_debug

CRITICAL_SECTION_DEBUG wined3d_wndproc_cs_debug
static
Initial value:
=
{
0, 0, {(DWORD_PTR)(__FILE__ ": wined3d_wndproc_cs")}
}
#define DWORD_PTR
Definition: treelist.c:76
static CRITICAL_SECTION_DEBUG wined3d_wndproc_cs_debug
Definition: wined3d_main.c:62
LIST_ENTRY ProcessLocksList
Definition: winbase.h:855
static CRITICAL_SECTION wined3d_wndproc_cs
Definition: wined3d_main.c:61

Definition at line 62 of file wined3d_main.c.

◆ wndproc_table