ReactOS  0.4.15-dev-1070-ge1a01de
shader.c File Reference
#include "config.h"
#include "d3d9_private.h"
Include dependency graph for shader.c:

Go to the source code of this file.

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (d3d9)
 
static struct d3d9_vertexshaderimpl_from_IDirect3DVertexShader9 (IDirect3DVertexShader9 *iface)
 
static HRESULT WINAPI d3d9_vertexshader_QueryInterface (IDirect3DVertexShader9 *iface, REFIID riid, void **out)
 
static ULONG WINAPI d3d9_vertexshader_AddRef (IDirect3DVertexShader9 *iface)
 
static ULONG WINAPI d3d9_vertexshader_Release (IDirect3DVertexShader9 *iface)
 
static HRESULT WINAPI d3d9_vertexshader_GetDevice (IDirect3DVertexShader9 *iface, IDirect3DDevice9 **device)
 
static HRESULT WINAPI d3d9_vertexshader_GetFunction (IDirect3DVertexShader9 *iface, void *data, UINT *data_size)
 
static void STDMETHODCALLTYPE d3d9_vertexshader_wined3d_object_destroyed (void *parent)
 
HRESULT vertexshader_init (struct d3d9_vertexshader *shader, struct d3d9_device *device, const DWORD *byte_code)
 
struct d3d9_vertexshaderunsafe_impl_from_IDirect3DVertexShader9 (IDirect3DVertexShader9 *iface)
 
static struct d3d9_pixelshaderimpl_from_IDirect3DPixelShader9 (IDirect3DPixelShader9 *iface)
 
static HRESULT WINAPI d3d9_pixelshader_QueryInterface (IDirect3DPixelShader9 *iface, REFIID riid, void **out)
 
static ULONG WINAPI d3d9_pixelshader_AddRef (IDirect3DPixelShader9 *iface)
 
static ULONG WINAPI d3d9_pixelshader_Release (IDirect3DPixelShader9 *iface)
 
static HRESULT WINAPI d3d9_pixelshader_GetDevice (IDirect3DPixelShader9 *iface, IDirect3DDevice9 **device)
 
static HRESULT WINAPI d3d9_pixelshader_GetFunction (IDirect3DPixelShader9 *iface, void *data, UINT *data_size)
 
static void STDMETHODCALLTYPE d3d9_pixelshader_wined3d_object_destroyed (void *parent)
 
HRESULT pixelshader_init (struct d3d9_pixelshader *shader, struct d3d9_device *device, const DWORD *byte_code)
 
struct d3d9_pixelshaderunsafe_impl_from_IDirect3DPixelShader9 (IDirect3DPixelShader9 *iface)
 

Variables

static const IDirect3DVertexShader9Vtbl d3d9_vertexshader_vtbl
 
static const struct wined3d_parent_ops d3d9_vertexshader_wined3d_parent_ops
 
static const IDirect3DPixelShader9Vtbl d3d9_pixelshader_vtbl
 
static const struct wined3d_parent_ops d3d9_pixelshader_wined3d_parent_ops
 

Function Documentation

◆ d3d9_pixelshader_AddRef()

static ULONG WINAPI d3d9_pixelshader_AddRef ( IDirect3DPixelShader9 *  iface)
static

Definition at line 202 of file shader.c.

203 {
206 
207  TRACE("%p increasing refcount to %u.\n", iface, refcount);
208 
209  if (refcount == 1)
210  {
211  IDirect3DDevice9Ex_AddRef(shader->parent_device);
213  wined3d_shader_incref(shader->wined3d_shader);
215  }
216 
217  return refcount;
218 }
void WINAPI wined3d_mutex_lock(void)
Definition: wined3d_main.c:368
ULONG CDECL wined3d_shader_incref(struct wined3d_shader *shader)
Definition: shader.c:3339
#define IDirect3DDevice9Ex_AddRef(p)
Definition: d3d9.h:1916
GLuint shader
Definition: glext.h:6030
#define TRACE(s)
Definition: solgame.cpp:4
#define InterlockedIncrement
Definition: armddk.h:53
unsigned int ULONG
Definition: retypes.h:1
void WINAPI wined3d_mutex_unlock(void)
Definition: wined3d_main.c:373
static struct d3d9_pixelshader * impl_from_IDirect3DPixelShader9(IDirect3DPixelShader9 *iface)
Definition: shader.c:179

◆ d3d9_pixelshader_GetDevice()

static HRESULT WINAPI d3d9_pixelshader_GetDevice ( IDirect3DPixelShader9 *  iface,
IDirect3DDevice9 **  device 
)
static

Definition at line 242 of file shader.c.

243 {
245 
246  TRACE("iface %p, device %p.\n", iface, device);
247 
248  *device = (IDirect3DDevice9 *)shader->parent_device;
250 
251  TRACE("Returning device %p.\n", *device);
252 
253  return D3D_OK;
254 }
Definition: devices.h:37
GLuint shader
Definition: glext.h:6030
#define TRACE(s)
Definition: solgame.cpp:4
#define IDirect3DDevice9_AddRef(p)
Definition: d3d9.h:1507
#define D3D_OK
Definition: d3d.h:106
static struct d3d9_pixelshader * impl_from_IDirect3DPixelShader9(IDirect3DPixelShader9 *iface)
Definition: shader.c:179

◆ d3d9_pixelshader_GetFunction()

static HRESULT WINAPI d3d9_pixelshader_GetFunction ( IDirect3DPixelShader9 *  iface,
void data,
UINT data_size 
)
static

Definition at line 256 of file shader.c.

257 {
259  HRESULT hr;
260 
261  TRACE("iface %p, data %p, data_size %p.\n", iface, data, data_size);
262 
264  hr = wined3d_shader_get_byte_code(shader->wined3d_shader, data, data_size);
266 
267  return hr;
268 }
HRESULT hr
Definition: shlfolder.c:183
void WINAPI wined3d_mutex_lock(void)
Definition: wined3d_main.c:368
GLuint shader
Definition: glext.h:6030
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:79
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
HRESULT CDECL wined3d_shader_get_byte_code(const struct wined3d_shader *shader, void *byte_code, UINT *byte_code_size)
Definition: shader.c:3386
void WINAPI wined3d_mutex_unlock(void)
Definition: wined3d_main.c:373
static struct d3d9_pixelshader * impl_from_IDirect3DPixelShader9(IDirect3DPixelShader9 *iface)
Definition: shader.c:179

◆ d3d9_pixelshader_QueryInterface()

static HRESULT WINAPI d3d9_pixelshader_QueryInterface ( IDirect3DPixelShader9 *  iface,
REFIID  riid,
void **  out 
)
static

Definition at line 184 of file shader.c.

185 {
186  TRACE("iface %p, riid %s, out %p.\n", iface, debugstr_guid(riid), out);
187 
188  if (IsEqualGUID(riid, &IID_IDirect3DPixelShader9)
190  {
192  *out = iface;
193  return S_OK;
194  }
195 
196  WARN("%s not implemented, returning E_NOINTERFACE.\n", debugstr_guid(riid));
197 
198  *out = NULL;
199  return E_NOINTERFACE;
200 }
#define E_NOINTERFACE
Definition: winerror.h:2364
REFIID riid
Definition: precomp.h:44
#define WARN(fmt,...)
Definition: debug.h:112
#define IDirect3DPixelShader9_AddRef(p)
Definition: d3d9.h:1260
smooth NULL
Definition: ftsmooth.c:416
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
const GUID IID_IUnknown
static FILE * out
Definition: regtests2xml.c:44
#define S_OK
Definition: intsafe.h:51
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
Definition: compobj.c:4112

◆ d3d9_pixelshader_Release()

static ULONG WINAPI d3d9_pixelshader_Release ( IDirect3DPixelShader9 *  iface)
static

Definition at line 220 of file shader.c.

221 {
224 
225  TRACE("%p decreasing refcount to %u.\n", iface, refcount);
226 
227  if (!refcount)
228  {
229  IDirect3DDevice9Ex *device = shader->parent_device;
230 
232  wined3d_shader_decref(shader->wined3d_shader);
234 
235  /* Release the device last, as it may cause the device to be destroyed. */
237  }
238 
239  return refcount;
240 }
void WINAPI wined3d_mutex_lock(void)
Definition: wined3d_main.c:368
#define IDirect3DDevice9Ex_Release(p)
Definition: d3d9.h:1917
Definition: devices.h:37
GLuint shader
Definition: glext.h:6030
#define TRACE(s)
Definition: solgame.cpp:4
ULONG CDECL wined3d_shader_decref(struct wined3d_shader *shader)
Definition: shader.c:3364
#define InterlockedDecrement
Definition: armddk.h:52
unsigned int ULONG
Definition: retypes.h:1
void WINAPI wined3d_mutex_unlock(void)
Definition: wined3d_main.c:373
static struct d3d9_pixelshader * impl_from_IDirect3DPixelShader9(IDirect3DPixelShader9 *iface)
Definition: shader.c:179

◆ d3d9_pixelshader_wined3d_object_destroyed()

static void STDMETHODCALLTYPE d3d9_pixelshader_wined3d_object_destroyed ( void parent)
static

Definition at line 281 of file shader.c.

282 {
283  heap_free(parent);
284 }
r parent
Definition: btrfs.c:2944
static BOOL heap_free(void *mem)
Definition: appwiz.h:75

◆ d3d9_vertexshader_AddRef()

static ULONG WINAPI d3d9_vertexshader_AddRef ( IDirect3DVertexShader9 *  iface)
static

Definition at line 48 of file shader.c.

49 {
52 
53  TRACE("%p increasing refcount to %u.\n", iface, refcount);
54 
55  if (refcount == 1)
56  {
57  IDirect3DDevice9Ex_AddRef(shader->parent_device);
59  wined3d_shader_incref(shader->wined3d_shader);
61  }
62 
63  return refcount;
64 }
void WINAPI wined3d_mutex_lock(void)
Definition: wined3d_main.c:368
ULONG CDECL wined3d_shader_incref(struct wined3d_shader *shader)
Definition: shader.c:3339
#define IDirect3DDevice9Ex_AddRef(p)
Definition: d3d9.h:1916
GLuint shader
Definition: glext.h:6030
#define TRACE(s)
Definition: solgame.cpp:4
#define InterlockedIncrement
Definition: armddk.h:53
unsigned int ULONG
Definition: retypes.h:1
static struct d3d9_vertexshader * impl_from_IDirect3DVertexShader9(IDirect3DVertexShader9 *iface)
Definition: shader.c:25
void WINAPI wined3d_mutex_unlock(void)
Definition: wined3d_main.c:373

◆ d3d9_vertexshader_GetDevice()

static HRESULT WINAPI d3d9_vertexshader_GetDevice ( IDirect3DVertexShader9 *  iface,
IDirect3DDevice9 **  device 
)
static

Definition at line 88 of file shader.c.

89 {
91 
92  TRACE("iface %p, device %p.\n", iface, device);
93 
94  *device = (IDirect3DDevice9 *)shader->parent_device;
96 
97  TRACE("Returning device %p.\n", *device);
98 
99  return D3D_OK;
100 }
Definition: devices.h:37
GLuint shader
Definition: glext.h:6030
#define TRACE(s)
Definition: solgame.cpp:4
#define IDirect3DDevice9_AddRef(p)
Definition: d3d9.h:1507
#define D3D_OK
Definition: d3d.h:106
static struct d3d9_vertexshader * impl_from_IDirect3DVertexShader9(IDirect3DVertexShader9 *iface)
Definition: shader.c:25

◆ d3d9_vertexshader_GetFunction()

static HRESULT WINAPI d3d9_vertexshader_GetFunction ( IDirect3DVertexShader9 *  iface,
void data,
UINT data_size 
)
static

Definition at line 102 of file shader.c.

103 {
105  HRESULT hr;
106 
107  TRACE("iface %p, data %p, data_size %p.\n", iface, data, data_size);
108 
110  hr = wined3d_shader_get_byte_code(shader->wined3d_shader, data, data_size);
112 
113  return hr;
114 }
HRESULT hr
Definition: shlfolder.c:183
void WINAPI wined3d_mutex_lock(void)
Definition: wined3d_main.c:368
GLuint shader
Definition: glext.h:6030
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:79
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
HRESULT CDECL wined3d_shader_get_byte_code(const struct wined3d_shader *shader, void *byte_code, UINT *byte_code_size)
Definition: shader.c:3386
static struct d3d9_vertexshader * impl_from_IDirect3DVertexShader9(IDirect3DVertexShader9 *iface)
Definition: shader.c:25
void WINAPI wined3d_mutex_unlock(void)
Definition: wined3d_main.c:373

◆ d3d9_vertexshader_QueryInterface()

static HRESULT WINAPI d3d9_vertexshader_QueryInterface ( IDirect3DVertexShader9 *  iface,
REFIID  riid,
void **  out 
)
static

Definition at line 30 of file shader.c.

31 {
32  TRACE("iface %p, riid %s, out %p.\n", iface, debugstr_guid(riid), out);
33 
34  if (IsEqualGUID(riid, &IID_IDirect3DVertexShader9)
36  {
38  *out = iface;
39  return S_OK;
40  }
41 
42  WARN("%s not implemented, returning E_NOINTERFACE.\n", debugstr_guid(riid));
43 
44  *out = NULL;
45  return E_NOINTERFACE;
46 }
#define E_NOINTERFACE
Definition: winerror.h:2364
REFIID riid
Definition: precomp.h:44
#define WARN(fmt,...)
Definition: debug.h:112
smooth NULL
Definition: ftsmooth.c:416
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
const GUID IID_IUnknown
static FILE * out
Definition: regtests2xml.c:44
#define IDirect3DVertexShader9_AddRef(p)
Definition: d3d9.h:1222
#define S_OK
Definition: intsafe.h:51
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
Definition: compobj.c:4112

◆ d3d9_vertexshader_Release()

static ULONG WINAPI d3d9_vertexshader_Release ( IDirect3DVertexShader9 *  iface)
static

Definition at line 66 of file shader.c.

67 {
70 
71  TRACE("%p decreasing refcount to %u.\n", iface, refcount);
72 
73  if (!refcount)
74  {
75  IDirect3DDevice9Ex *device = shader->parent_device;
76 
78  wined3d_shader_decref(shader->wined3d_shader);
80 
81  /* Release the device last, as it may cause the device to be destroyed. */
83  }
84 
85  return refcount;
86 }
void WINAPI wined3d_mutex_lock(void)
Definition: wined3d_main.c:368
#define IDirect3DDevice9Ex_Release(p)
Definition: d3d9.h:1917
Definition: devices.h:37
GLuint shader
Definition: glext.h:6030
#define TRACE(s)
Definition: solgame.cpp:4
ULONG CDECL wined3d_shader_decref(struct wined3d_shader *shader)
Definition: shader.c:3364
#define InterlockedDecrement
Definition: armddk.h:52
unsigned int ULONG
Definition: retypes.h:1
static struct d3d9_vertexshader * impl_from_IDirect3DVertexShader9(IDirect3DVertexShader9 *iface)
Definition: shader.c:25
void WINAPI wined3d_mutex_unlock(void)
Definition: wined3d_main.c:373

◆ d3d9_vertexshader_wined3d_object_destroyed()

static void STDMETHODCALLTYPE d3d9_vertexshader_wined3d_object_destroyed ( void parent)
static

Definition at line 127 of file shader.c.

128 {
129  heap_free(parent);
130 }
r parent
Definition: btrfs.c:2944
static BOOL heap_free(void *mem)
Definition: appwiz.h:75

◆ impl_from_IDirect3DPixelShader9()

static struct d3d9_pixelshader* impl_from_IDirect3DPixelShader9 ( IDirect3DPixelShader9 *  iface)
inlinestatic

Definition at line 179 of file shader.c.

180 {
181  return CONTAINING_RECORD(iface, struct d3d9_pixelshader, IDirect3DPixelShader9_iface);
182 }
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
Definition: Messaging.c:560

Referenced by d3d9_pixelshader_AddRef(), d3d9_pixelshader_GetDevice(), d3d9_pixelshader_GetFunction(), d3d9_pixelshader_Release(), and unsafe_impl_from_IDirect3DPixelShader9().

◆ impl_from_IDirect3DVertexShader9()

static struct d3d9_vertexshader* impl_from_IDirect3DVertexShader9 ( IDirect3DVertexShader9 *  iface)
inlinestatic

Definition at line 25 of file shader.c.

26 {
28 }
IDirect3DVertexShader9 IDirect3DVertexShader9_iface
Definition: d3d9_private.h:256
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
Definition: Messaging.c:560

Referenced by d3d9_vertexshader_AddRef(), d3d9_vertexshader_GetDevice(), d3d9_vertexshader_GetFunction(), d3d9_vertexshader_Release(), and unsafe_impl_from_IDirect3DVertexShader9().

◆ pixelshader_init()

HRESULT pixelshader_init ( struct d3d9_pixelshader shader,
struct d3d9_device device,
const DWORD byte_code 
)

Definition at line 291 of file shader.c.

292 {
293  struct wined3d_shader_desc desc;
294  HRESULT hr;
295 
296  shader->refcount = 1;
297  shader->IDirect3DPixelShader9_iface.lpVtbl = &d3d9_pixelshader_vtbl;
298 
299  desc.byte_code = byte_code;
300  desc.byte_code_size = ~(size_t)0;
302  desc.input_signature.element_count = 0;
303  desc.output_signature.element_count = 0;
304  desc.patch_constant_signature.element_count = 0;
305  desc.max_version = 3;
306 
308  hr = wined3d_shader_create_ps(device->wined3d_device, &desc, shader,
309  &d3d9_pixelshader_wined3d_parent_ops, &shader->wined3d_shader);
311  if (FAILED(hr))
312  {
313  WARN("Failed to created wined3d pixel shader, hr %#x.\n", hr);
314  return hr;
315  }
316 
317  shader->parent_device = &device->IDirect3DDevice9Ex_iface;
318  IDirect3DDevice9Ex_AddRef(shader->parent_device);
319 
320  return D3D_OK;
321 }
HRESULT hr
Definition: shlfolder.c:183
#define WARN(fmt,...)
Definition: debug.h:112
void WINAPI wined3d_mutex_lock(void)
Definition: wined3d_main.c:368
const DWORD * byte_code
Definition: wined3d.h:2051
HRESULT CDECL wined3d_shader_create_ps(struct wined3d_device *device, const struct wined3d_shader_desc *desc, void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_shader **shader)
Definition: shader.c:4205
D3DXCONSTANT_DESC desc
Definition: shader.c:1767
Definition: devices.h:37
#define IDirect3DDevice9Ex_AddRef(p)
Definition: d3d9.h:1916
static const struct wined3d_parent_ops d3d9_pixelshader_wined3d_parent_ops
Definition: shader.c:286
__kernel_size_t size_t
Definition: linux.h:237
GLuint shader
Definition: glext.h:6030
LONG HRESULT
Definition: typedefs.h:79
#define D3D_OK
Definition: d3d.h:106
static const IDirect3DPixelShader9Vtbl d3d9_pixelshader_vtbl
Definition: shader.c:270
void WINAPI wined3d_mutex_unlock(void)
Definition: wined3d_main.c:373

Referenced by d3d9_device_CreatePixelShader().

◆ unsafe_impl_from_IDirect3DPixelShader9()

struct d3d9_pixelshader* unsafe_impl_from_IDirect3DPixelShader9 ( IDirect3DPixelShader9 *  iface)

Definition at line 323 of file shader.c.

324 {
325  if (!iface)
326  return NULL;
327  if (iface->lpVtbl != &d3d9_pixelshader_vtbl)
328  WARN("Pixel shader %p with the wrong vtbl %p\n", iface, iface->lpVtbl);
329 
330  return impl_from_IDirect3DPixelShader9(iface);
331 }
#define WARN(fmt,...)
Definition: debug.h:112
smooth NULL
Definition: ftsmooth.c:416
static const IDirect3DPixelShader9Vtbl d3d9_pixelshader_vtbl
Definition: shader.c:270
static struct d3d9_pixelshader * impl_from_IDirect3DPixelShader9(IDirect3DPixelShader9 *iface)
Definition: shader.c:179

Referenced by d3d9_device_SetPixelShader().

◆ unsafe_impl_from_IDirect3DVertexShader9()

struct d3d9_vertexshader* unsafe_impl_from_IDirect3DVertexShader9 ( IDirect3DVertexShader9 *  iface)

Definition at line 169 of file shader.c.

170 {
171  if (!iface)
172  return NULL;
173  if (iface->lpVtbl != &d3d9_vertexshader_vtbl)
174  WARN("Vertex shader %p with the wrong vtbl %p\n", iface, iface->lpVtbl);
175 
176  return impl_from_IDirect3DVertexShader9(iface);
177 }
#define WARN(fmt,...)
Definition: debug.h:112
static const IDirect3DVertexShader9Vtbl d3d9_vertexshader_vtbl
Definition: shader.c:116
smooth NULL
Definition: ftsmooth.c:416
static struct d3d9_vertexshader * impl_from_IDirect3DVertexShader9(IDirect3DVertexShader9 *iface)
Definition: shader.c:25

Referenced by d3d9_device_SetVertexShader().

◆ vertexshader_init()

HRESULT vertexshader_init ( struct d3d9_vertexshader shader,
struct d3d9_device device,
const DWORD byte_code 
)

Definition at line 137 of file shader.c.

138 {
139  struct wined3d_shader_desc desc;
140  HRESULT hr;
141 
142  shader->refcount = 1;
143  shader->IDirect3DVertexShader9_iface.lpVtbl = &d3d9_vertexshader_vtbl;
144 
145  desc.byte_code = byte_code;
146  desc.byte_code_size = ~(size_t)0;
148  desc.input_signature.element_count = 0;
149  desc.output_signature.element_count = 0;
150  desc.patch_constant_signature.element_count = 0;
151  desc.max_version = 3;
152 
154  hr = wined3d_shader_create_vs(device->wined3d_device, &desc, shader,
155  &d3d9_vertexshader_wined3d_parent_ops, &shader->wined3d_shader);
157  if (FAILED(hr))
158  {
159  WARN("Failed to create wined3d vertex shader, hr %#x.\n", hr);
160  return hr;
161  }
162 
163  shader->parent_device = &device->IDirect3DDevice9Ex_iface;
164  IDirect3DDevice9Ex_AddRef(shader->parent_device);
165 
166  return D3D_OK;
167 }
HRESULT hr
Definition: shlfolder.c:183
#define WARN(fmt,...)
Definition: debug.h:112
void WINAPI wined3d_mutex_lock(void)
Definition: wined3d_main.c:368
const DWORD * byte_code
Definition: wined3d.h:2051
static const IDirect3DVertexShader9Vtbl d3d9_vertexshader_vtbl
Definition: shader.c:116
D3DXCONSTANT_DESC desc
Definition: shader.c:1767
Definition: devices.h:37
#define IDirect3DDevice9Ex_AddRef(p)
Definition: d3d9.h:1916
__kernel_size_t size_t
Definition: linux.h:237
GLuint shader
Definition: glext.h:6030
LONG HRESULT
Definition: typedefs.h:79
HRESULT CDECL wined3d_shader_create_vs(struct wined3d_device *device, const struct wined3d_shader_desc *desc, void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_shader **shader)
Definition: shader.c:4230
#define D3D_OK
Definition: d3d.h:106
static const struct wined3d_parent_ops d3d9_vertexshader_wined3d_parent_ops
Definition: shader.c:132
void WINAPI wined3d_mutex_unlock(void)
Definition: wined3d_main.c:373

Referenced by d3d9_device_CreateVertexShader().

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( d3d9  )

Variable Documentation

◆ d3d9_pixelshader_vtbl

const IDirect3DPixelShader9Vtbl d3d9_pixelshader_vtbl
static
Initial value:
=
{
}
static ULONG WINAPI d3d9_pixelshader_Release(IDirect3DPixelShader9 *iface)
Definition: shader.c:220
static HRESULT WINAPI d3d9_pixelshader_GetFunction(IDirect3DPixelShader9 *iface, void *data, UINT *data_size)
Definition: shader.c:256
static ULONG WINAPI d3d9_pixelshader_AddRef(IDirect3DPixelShader9 *iface)
Definition: shader.c:202
static HRESULT WINAPI d3d9_pixelshader_GetDevice(IDirect3DPixelShader9 *iface, IDirect3DDevice9 **device)
Definition: shader.c:242
static HRESULT WINAPI d3d9_pixelshader_QueryInterface(IDirect3DPixelShader9 *iface, REFIID riid, void **out)
Definition: shader.c:184

Definition at line 270 of file shader.c.

Referenced by pixelshader_init(), and unsafe_impl_from_IDirect3DPixelShader9().

◆ d3d9_pixelshader_wined3d_parent_ops

const struct wined3d_parent_ops d3d9_pixelshader_wined3d_parent_ops
static
Initial value:
=
{
}
static void STDMETHODCALLTYPE d3d9_pixelshader_wined3d_object_destroyed(void *parent)
Definition: shader.c:281

Definition at line 286 of file shader.c.

Referenced by pixelshader_init().

◆ d3d9_vertexshader_vtbl

const IDirect3DVertexShader9Vtbl d3d9_vertexshader_vtbl
static
Initial value:
=
{
}
static HRESULT WINAPI d3d9_vertexshader_GetDevice(IDirect3DVertexShader9 *iface, IDirect3DDevice9 **device)
Definition: shader.c:88
static HRESULT WINAPI d3d9_vertexshader_GetFunction(IDirect3DVertexShader9 *iface, void *data, UINT *data_size)
Definition: shader.c:102
static HRESULT WINAPI d3d9_vertexshader_QueryInterface(IDirect3DVertexShader9 *iface, REFIID riid, void **out)
Definition: shader.c:30
static ULONG WINAPI d3d9_vertexshader_Release(IDirect3DVertexShader9 *iface)
Definition: shader.c:66
static ULONG WINAPI d3d9_vertexshader_AddRef(IDirect3DVertexShader9 *iface)
Definition: shader.c:48

Definition at line 116 of file shader.c.

Referenced by unsafe_impl_from_IDirect3DVertexShader9(), and vertexshader_init().

◆ d3d9_vertexshader_wined3d_parent_ops

const struct wined3d_parent_ops d3d9_vertexshader_wined3d_parent_ops
static
Initial value:
=
{
}
static void STDMETHODCALLTYPE d3d9_vertexshader_wined3d_object_destroyed(void *parent)
Definition: shader.c:127

Definition at line 132 of file shader.c.

Referenced by vertexshader_init().