ReactOS  0.4.13-dev-247-g0f29b3f
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)
 
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 512 of file wined3d_main.c.

513 {
514  switch (reason)
515  {
516  case DLL_PROCESS_ATTACH:
517  return wined3d_dll_init(inst);
518 
519  case DLL_PROCESS_DETACH:
520  if (!reserved)
521  return wined3d_dll_destroy(inst);
522  break;
523 
524  case DLL_THREAD_DETACH:
526  {
527  ERR("Failed to clear current context.\n");
528  }
529  return TRUE;
530  }
531  return TRUE;
532 }
#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:326
r reserved
Definition: btrfs.c:2673
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:1500
static BOOL wined3d_dll_init(HINSTANCE hInstDLL)
Definition: wined3d_main.c:146

◆ get_config_key()

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

Definition at line 123 of file wined3d_main.c.

124 {
125  if (appkey && !RegQueryValueExA(appkey, name, 0, NULL, (BYTE *)buffer, &size)) return 0;
126  if (defkey && !RegQueryValueExA(defkey, name, 0, NULL, (BYTE *)buffer, &size)) return 0;
127  return ERROR_FILE_NOT_FOUND;
128 }
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:4041
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:36

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 130 of file wined3d_main.c.

131 {
132  DWORD type, data, size;
133 
134  size = sizeof(data);
135  if (appkey && !RegQueryValueExA(appkey, name, 0, &type, (BYTE *)&data, &size) && type == REG_DWORD) goto success;
136  size = sizeof(data);
137  if (defkey && !RegQueryValueExA(defkey, name, 0, &type, (BYTE *)&data, &size) && type == REG_DWORD) goto success;
138 
139  return ERROR_FILE_NOT_FOUND;
140 
141 success:
142  *value = data;
143  return 0;
144 }
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:4041
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:36
#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 96 of file wined3d_main.c.

97 {
98  struct wined3d *object;
99  HRESULT hr;
100 
101  if (!(object = heap_alloc_zero(FIELD_OFFSET(struct wined3d, adapters[1]))))
102  {
103  ERR("Failed to allocate wined3d object memory.\n");
104  return NULL;
105  }
106 
108  flags |= WINED3D_NO3D;
109 
110  hr = wined3d_init(object, flags);
111  if (FAILED(hr))
112  {
113  WARN("Failed to initialize wined3d object, hr %#x.\n", hr);
114  heap_free(object);
115  return NULL;
116  }
117 
118  TRACE("Created wined3d object %p.\n", object);
119 
120  return object;
121 }
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:6786
#define ERR(fmt,...)
Definition: debug.h:109
#define FIELD_OFFSET(t, f)
Definition: typedefs.h:254
#define WINED3D_NO3D
Definition: wined3d.h:1318
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 326 of file wined3d_main.c.

327 {
329  unsigned int i;
330 
332  {
333  DWORD err = GetLastError();
334  ERR("Failed to free context TLS index, err %#x.\n", err);
335  }
336 
337  for (i = 0; i < wndproc_table.count; ++i)
338  {
339  /* Trying to unregister these would be futile. These entries can only
340  * exist if either we skipped them in wined3d_unregister_window() due
341  * to the application replacing the wndproc after the entry was
342  * registered, or if the application still has an active wined3d
343  * device. In the latter case the application has bigger problems than
344  * these entries. */
345  WARN("Leftover wndproc table entry %p.\n", &wndproc_table.entries[i]);
346  }
347  heap_free(wndproc_table.entries);
348 
351 
354 
356 
357  return TRUE;
358 }
#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:1116
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:1485
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 146 of file wined3d_main.c.

147 {
149  char buffer[MAX_PATH+10];
150  DWORD size = sizeof(buffer);
151  HKEY hkey = 0;
152  HKEY appkey = 0;
153  DWORD len, tmpvalue;
154  WNDCLASSA wc;
155 
158  {
159  DWORD err = GetLastError();
160  ERR("Failed to allocate context TLS index, err %#x.\n", err);
161  return FALSE;
162  }
164 
165  /* We need our own window class for a fake window which we use to retrieve GL capabilities */
166  /* We might need CS_OWNDC in the future if we notice strange things on Windows.
167  * Various articles/posts about OpenGL problems on Windows recommend this. */
168  wc.style = CS_HREDRAW | CS_VREDRAW;
170  wc.cbClsExtra = 0;
171  wc.cbWndExtra = 0;
172  wc.hInstance = hInstDLL;
173  wc.hIcon = LoadIconA(NULL, (const char *)IDI_WINLOGO);
174  wc.hCursor = LoadCursorA(NULL, (const char *)IDC_ARROW);
175  wc.hbrBackground = NULL;
176  wc.lpszMenuName = NULL;
178 
179  if (!RegisterClassA(&wc))
180  {
181  ERR("Failed to register window class 'WineD3D_OpenGL'!\n");
183  {
184  DWORD err = GetLastError();
185  ERR("Failed to free context TLS index, err %#x.\n", err);
186  }
187  return FALSE;
188  }
189 
190  DisableThreadLibraryCalls(hInstDLL);
191 
192  /* @@ Wine registry key: HKCU\Software\Wine\Direct3D */
193  if ( RegOpenKeyA( HKEY_CURRENT_USER, "Software\\Wine\\Direct3D", &hkey ) ) hkey = 0;
194 
196  if (len && len < MAX_PATH)
197  {
198  HKEY tmpkey;
199  /* @@ Wine registry key: HKCU\Software\Wine\AppDefaults\app.exe\Direct3D */
200  if (!RegOpenKeyA( HKEY_CURRENT_USER, "Software\\Wine\\AppDefaults", &tmpkey ))
201  {
202  char *p, *appname = buffer;
203  if ((p = strrchr( appname, '/' ))) appname = p + 1;
204  if ((p = strrchr( appname, '\\' ))) appname = p + 1;
205  strcat( appname, "\\Direct3D" );
206  TRACE("appname = [%s]\n", appname);
207  if (RegOpenKeyA( tmpkey, appname, &appkey )) appkey = 0;
208  RegCloseKey( tmpkey );
209  }
210  }
211 
212  if (hkey || appkey)
213  {
214  if (!get_config_key_dword(hkey, appkey, "csmt", &wined3d_settings.cs_multithreaded))
215  ERR_(winediag)("Setting multithreaded command stream to %#x.\n", wined3d_settings.cs_multithreaded);
216  if (!get_config_key_dword(hkey, appkey, "MaxVersionGL", &tmpvalue))
217  {
218  ERR_(winediag)("Setting maximum allowed wined3d GL version to %u.%u.\n",
219  tmpvalue >> 16, tmpvalue & 0xffff);
221  wined3d_settings.max_gl_version = tmpvalue;
222  }
223  if ( !get_config_key( hkey, appkey, "UseGLSL", buffer, size) )
224  {
225  if (!strcmp(buffer,"disabled"))
226  {
227  ERR_(winediag)("The GLSL shader backend has been disabled. You get to keep all the pieces if it breaks.\n");
228  TRACE("Use of GL Shading Language disabled\n");
230  }
231  }
232  if (!get_config_key(hkey, appkey, "OffscreenRenderingMode", buffer, size)
233  && !strcmp(buffer,"backbuffer"))
235  if ( !get_config_key_dword( hkey, appkey, "VideoPciDeviceID", &tmpvalue) )
236  {
237  int pci_device_id = tmpvalue;
238 
239  /* A pci device id is 16-bit */
240  if(pci_device_id > 0xffff)
241  {
242  ERR("Invalid value for VideoPciDeviceID. The value should be smaller or equal to 65535 or 0xffff\n");
243  }
244  else
245  {
246  TRACE("Using PCI Device ID %04x\n", pci_device_id);
247  wined3d_settings.pci_device_id = pci_device_id;
248  }
249  }
250  if ( !get_config_key_dword( hkey, appkey, "VideoPciVendorID", &tmpvalue) )
251  {
252  int pci_vendor_id = tmpvalue;
253 
254  /* A pci device id is 16-bit */
255  if(pci_vendor_id > 0xffff)
256  {
257  ERR("Invalid value for VideoPciVendorID. The value should be smaller or equal to 65535 or 0xffff\n");
258  }
259  else
260  {
261  TRACE("Using PCI Vendor ID %04x\n", pci_vendor_id);
262  wined3d_settings.pci_vendor_id = pci_vendor_id;
263  }
264  }
265  if ( !get_config_key( hkey, appkey, "VideoMemorySize", buffer, size) )
266  {
267  int TmpVideoMemorySize = atoi(buffer);
268  if(TmpVideoMemorySize > 0)
269  {
270  wined3d_settings.emulated_textureram = (UINT64)TmpVideoMemorySize *1024*1024;
271  TRACE("Use %iMiB = 0x%s bytes for emulated_textureram\n",
272  TmpVideoMemorySize,
274  }
275  else
276  ERR("VideoMemorySize is %i but must be >0\n", TmpVideoMemorySize);
277  }
278  if ( !get_config_key( hkey, appkey, "WineLogo", buffer, size) )
279  {
280  size_t len = strlen(buffer) + 1;
281 
283  ERR("Failed to allocate logo path memory.\n");
284  else
286  }
287  if (!get_config_key_dword(hkey, appkey, "MultisampleTextures", &wined3d_settings.multisample_textures))
288  ERR_(winediag)("Setting multisample textures to %#x.\n", wined3d_settings.multisample_textures);
289  if (!get_config_key_dword(hkey, appkey, "SampleCount", &wined3d_settings.sample_count))
290  ERR_(winediag)("Forcing sample count to %u. This may not be compatible with all applications.\n",
292  if (!get_config_key(hkey, appkey, "CheckFloatConstants", buffer, size)
293  && !strcmp(buffer, "enabled"))
294  {
295  TRACE("Checking relative addressing indices in float constants.\n");
297  }
298  if (!get_config_key_dword(hkey, appkey, "MaxShaderModelVS", &wined3d_settings.max_sm_vs))
299  TRACE("Limiting VS shader model to %u.\n", wined3d_settings.max_sm_vs);
300  if (!get_config_key_dword(hkey, appkey, "MaxShaderModelHS", &wined3d_settings.max_sm_hs))
301  TRACE("Limiting HS shader model to %u.\n", wined3d_settings.max_sm_hs);
302  if (!get_config_key_dword(hkey, appkey, "MaxShaderModelDS", &wined3d_settings.max_sm_ds))
303  TRACE("Limiting DS shader model to %u.\n", wined3d_settings.max_sm_ds);
304  if (!get_config_key_dword(hkey, appkey, "MaxShaderModelGS", &wined3d_settings.max_sm_gs))
305  TRACE("Limiting GS shader model to %u.\n", wined3d_settings.max_sm_gs);
306  if (!get_config_key_dword(hkey, appkey, "MaxShaderModelPS", &wined3d_settings.max_sm_ps))
307  TRACE("Limiting PS shader model to %u.\n", wined3d_settings.max_sm_ps);
308  if (!get_config_key_dword(hkey, appkey, "MaxShaderModelCS", &wined3d_settings.max_sm_cs))
309  TRACE("Limiting CS shader model to %u.\n", wined3d_settings.max_sm_cs);
310  if (!get_config_key(hkey, appkey, "DirectDrawRenderer", buffer, size)
311  && !strcmp(buffer, "gdi"))
312  {
313  TRACE("Disabling 3D support.\n");
315  }
316  }
317 
318  if (appkey) RegCloseKey( appkey );
319  if (hkey) RegCloseKey( hkey );
320 
322 
323  return TRUE;
324 }
LONG WINAPI RegOpenKeyA(HKEY hKey, LPCSTR lpSubKey, PHKEY phkResult)
Definition: reg.c:3272
#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:1490
BOOL WINAPI DisableThreadLibraryCalls(IN HMODULE hLibModule)
Definition: loader.c:85
int cbClsExtra
Definition: winuser.h:3118
DWORD WINAPI GetLastError(VOID)
Definition: except.c:1059
#define CS_HREDRAW
Definition: winuser.h:648
LPCSTR lpszMenuName
Definition: winuser.h:3124
GLuint buffer
Definition: glext.h:5915
HBRUSH hbrBackground
Definition: winuser.h:3123
_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:546
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:3119
#define WINED3D_OPENGL_WINDOW_CLASS_NAME
LONG WINAPI RegCloseKey(HKEY hKey)
Definition: reg.c:423
HCURSOR hCursor
Definition: winuser.h:3122
#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:130
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:1116
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:1050
#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:3125
HCURSOR WINAPI LoadCursorA(_In_opt_ HINSTANCE, _In_ LPCSTR)
Definition: cursoricon.c:2059
unsigned int max_sm_ps
UINT style
Definition: winuser.h:3116
#define ERR(fmt,...)
Definition: debug.h:109
HINSTANCE hInstance
Definition: winuser.h:3120
unsigned int multisample_textures
static DWORD get_config_key(HKEY defkey, HKEY appkey, const char *name, char *buffer, DWORD size)
Definition: wined3d_main.c:123
WNDPROC lpfnWndProc
Definition: winuser.h:3117
#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:3121

Referenced by DllMain().

◆ wined3d_find_wndproc()

static struct wined3d_wndproc* wined3d_find_wndproc ( HWND  window)
static

Definition at line 380 of file wined3d_main.c.

381 {
382  unsigned int i;
383 
384  for (i = 0; i < wndproc_table.count; ++i)
385  {
386  if (wndproc_table.entries[i].window == window)
387  {
388  return &wndproc_table.entries[i];
389  }
390  }
391 
392  return NULL;
393 }
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 360 of file wined3d_main.c.

361 {
363 }
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_GetMaximumFrameLatency(), 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_SetMaximumFrameLatency(), 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 365 of file wined3d_main.c.

366 {
368 }
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_GetMaximumFrameLatency(), 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_SetMaximumFrameLatency(), 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 424 of file wined3d_main.c.

425 {
426  struct wined3d_wndproc *entry;
427 
429 
431  {
433  WARN("Window %p is already registered with wined3d.\n", window);
434  return TRUE;
435  }
436 
437  if (!wined3d_array_reserve((void **)&wndproc_table.entries, &wndproc_table.size,
438  wndproc_table.count + 1, sizeof(*entry)))
439  {
441  ERR("Failed to grow table.\n");
442  return FALSE;
443  }
444 
445  entry = &wndproc_table.entries[wndproc_table.count++];
446  entry->window = window;
447  entry->unicode = IsWindowUnicode(window);
448  /* Set a window proc that matches the window. Some applications (e.g. NoX)
449  * replace the window proc after we've set ours, and expect to be able to
450  * call the previous one (ours) directly, without using CallWindowProc(). */
451  if (entry->unicode)
453  else
455  entry->device = device;
456 
458 
459  return TRUE;
460 }
static LRESULT CALLBACK wined3d_wndproc(HWND window, UINT message, WPARAM wparam, LPARAM lparam)
Definition: wined3d_main.c:395
#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:380
BOOL wined3d_array_reserve(void **elements, SIZE_T *capacity, SIZE_T count, SIZE_T size)
Definition: utils.c:6436
static void wined3d_wndproc_mutex_lock(void)
Definition: wined3d_main.c:370
uint32_t entry
Definition: isohybrid.c:63
#define SetWindowLongPtrA
Definition: winuser.h:5214
static IHTMLWindow2 * window
Definition: events.c:77
#define GWLP_WNDPROC
Definition: treelist.c:66
LRESULT(CALLBACK * WNDPROC)(HWND, UINT, WPARAM, LPARAM)
Definition: winuser.h:2859
#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:375
#define SetWindowLongPtrW
Definition: winuser.h:5215

Referenced by wined3d_device_acquire_focus_window().

◆ wined3d_unregister_window()

void wined3d_unregister_window ( HWND  window)

Definition at line 462 of file wined3d_main.c.

463 {
464  struct wined3d_wndproc *entry, *last;
465  LONG_PTR proc;
466 
468 
470  {
472  ERR("Window %p is not registered with wined3d.\n", window);
473  return;
474  }
475 
476  if (entry->unicode)
477  {
479  if (proc != (LONG_PTR)wined3d_wndproc)
480  {
481  entry->device = NULL;
483  WARN("Not unregistering window %p, window proc %#lx doesn't match wined3d window proc %p.\n",
485  return;
486  }
487 
489  }
490  else
491  {
493  if (proc != (LONG_PTR)wined3d_wndproc)
494  {
495  entry->device = NULL;
497  WARN("Not unregistering window %p, window proc %#lx doesn't match wined3d window proc %p.\n",
499  return;
500  }
501 
503  }
504 
505  last = &wndproc_table.entries[--wndproc_table.count];
506  if (entry != last) *entry = *last;
507 
509 }
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:4698
static struct wined3d_wndproc_table wndproc_table
Definition: wined3d_main.c:49
smooth NULL
Definition: ftsmooth.c:416
#define GetWindowLongPtrA
Definition: winuser.h:4697
static struct wined3d_wndproc * wined3d_find_wndproc(HWND window)
Definition: wined3d_main.c:380
static void wined3d_wndproc_mutex_lock(void)
Definition: wined3d_main.c:370
uint32_t entry
Definition: isohybrid.c:63
#define SetWindowLongPtrA
Definition: winuser.h:5214
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:375
#define SetWindowLongPtrW
Definition: winuser.h:5215

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 395 of file wined3d_main.c.

396 {
397  struct wined3d_wndproc *entry;
398  struct wined3d_device *device;
399  BOOL unicode;
400  WNDPROC proc;
401 
404 
405  if (!entry)
406  {
408  ERR("Window %p is not registered with wined3d.\n", window);
410  }
411 
412  device = entry->device;
413  unicode = entry->unicode;
414  proc = entry->proc;
416 
417  if (device)
419  if (unicode)
422 }
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:380
static void wined3d_wndproc_mutex_lock(void)
Definition: wined3d_main.c:370
uint32_t entry
Definition: isohybrid.c:63
static IHTMLWindow2 * window
Definition: events.c:77
LRESULT(CALLBACK * WNDPROC)(HWND, UINT, WPARAM, LPARAM)
Definition: winuser.h:2859
#define ERR(fmt,...)
Definition: debug.h:109
static void wined3d_wndproc_mutex_unlock(void)
Definition: wined3d_main.c:375
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:5322
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 370 of file wined3d_main.c.

371 {
373 }
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 375 of file wined3d_main.c.

376 {
378 }
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:848

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:848
static CRITICAL_SECTION wined3d_wndproc_cs
Definition: wined3d_main.c:61

Definition at line 62 of file wined3d_main.c.

◆ wndproc_table