#include "config.h"
#include "d3d9_private.h"
Go to the source code of this file.
|
| WINE_DEFAULT_DEBUG_CHANNEL (d3d9) |
|
static struct d3d9_vertexshader * | impl_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_vertexshader * | unsafe_impl_from_IDirect3DVertexShader9 (IDirect3DVertexShader9 *iface) |
|
static struct d3d9_pixelshader * | impl_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_pixelshader * | unsafe_impl_from_IDirect3DPixelShader9 (IDirect3DPixelShader9 *iface) |
|
◆ d3d9_pixelshader_AddRef()
static ULONG WINAPI d3d9_pixelshader_AddRef |
( |
IDirect3DPixelShader9 * |
iface | ) |
|
|
static |
Definition at line 202 of file shader.c.
203{
206
208
210 {
215 }
216
218}
#define InterlockedIncrement
#define IDirect3DDevice9Ex_AddRef(p)
static struct d3d9_pixelshader * impl_from_IDirect3DPixelShader9(IDirect3DPixelShader9 *iface)
ULONG CDECL wined3d_shader_incref(struct wined3d_shader *shader)
void WINAPI wined3d_mutex_unlock(void)
void WINAPI wined3d_mutex_lock(void)
◆ d3d9_pixelshader_GetDevice()
static HRESULT WINAPI d3d9_pixelshader_GetDevice |
( |
IDirect3DPixelShader9 * |
iface, |
|
|
IDirect3DDevice9 ** |
device |
|
) |
| |
|
static |
Definition at line 242 of file shader.c.
243{
245
247
250
252
254}
#define IDirect3DDevice9_AddRef(p)
◆ 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{
260
261 TRACE(
"iface %p, data %p, data_size %p.\n", iface,
data, data_size);
262
266
268}
HRESULT CDECL wined3d_shader_get_byte_code(const struct wined3d_shader *shader, void *byte_code, UINT *byte_code_size)
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
◆ d3d9_pixelshader_QueryInterface()
Definition at line 184 of file shader.c.
185{
187
190 {
194 }
195
197
200}
#define IDirect3DPixelShader9_AddRef(p)
#define IsEqualGUID(rguid1, rguid2)
◆ d3d9_pixelshader_Release()
static ULONG WINAPI d3d9_pixelshader_Release |
( |
IDirect3DPixelShader9 * |
iface | ) |
|
|
static |
Definition at line 220 of file shader.c.
221{
224
226
228 {
230
234
235
237 }
238
240}
#define InterlockedDecrement
#define IDirect3DDevice9Ex_Release(p)
ULONG CDECL wined3d_shader_decref(struct wined3d_shader *shader)
◆ d3d9_pixelshader_wined3d_object_destroyed()
Definition at line 281 of file shader.c.
282{
284}
static BOOL heap_free(void *mem)
◆ d3d9_vertexshader_AddRef()
static ULONG WINAPI d3d9_vertexshader_AddRef |
( |
IDirect3DVertexShader9 * |
iface | ) |
|
|
static |
Definition at line 48 of file shader.c.
49{
52
54
56 {
61 }
62
64}
static struct d3d9_vertexshader * impl_from_IDirect3DVertexShader9(IDirect3DVertexShader9 *iface)
◆ d3d9_vertexshader_GetDevice()
static HRESULT WINAPI d3d9_vertexshader_GetDevice |
( |
IDirect3DVertexShader9 * |
iface, |
|
|
IDirect3DDevice9 ** |
device |
|
) |
| |
|
static |
◆ 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{
106
107 TRACE(
"iface %p, data %p, data_size %p.\n", iface,
data, data_size);
108
112
114}
◆ 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{
33
36 {
40 }
41
43
46}
#define IDirect3DVertexShader9_AddRef(p)
◆ d3d9_vertexshader_Release()
static ULONG WINAPI d3d9_vertexshader_Release |
( |
IDirect3DVertexShader9 * |
iface | ) |
|
|
static |
Definition at line 66 of file shader.c.
67{
70
72
74 {
76
80
81
83 }
84
86}
◆ d3d9_vertexshader_wined3d_object_destroyed()
◆ impl_from_IDirect3DPixelShader9()
◆ impl_from_IDirect3DVertexShader9()
◆ pixelshader_init()
Definition at line 291 of file shader.c.
292{
295
298
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
312 {
313 WARN(
"Failed to created wined3d pixel shader, hr %#x.\n",
hr);
315 }
316
317 shader->parent_device = &
device->IDirect3DDevice9Ex_iface;
319
321}
static const IDirect3DPixelShader9Vtbl d3d9_pixelshader_vtbl
static const struct wined3d_parent_ops d3d9_pixelshader_wined3d_parent_ops
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)
static const WCHAR desc[]
@ WINED3D_SHADER_BYTE_CODE_FORMAT_SM1
Referenced by d3d9_device_CreatePixelShader().
◆ unsafe_impl_from_IDirect3DPixelShader9()
◆ unsafe_impl_from_IDirect3DVertexShader9()
Definition at line 169 of file shader.c.
170{
171 if (!iface)
174 WARN(
"Vertex shader %p with the wrong vtbl %p\n", iface, iface->lpVtbl);
175
177}
static const IDirect3DVertexShader9Vtbl d3d9_vertexshader_vtbl
Referenced by d3d9_device_SetVertexShader().
◆ vertexshader_init()
Definition at line 137 of file shader.c.
138{
141
144
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
158 {
159 WARN(
"Failed to create wined3d vertex shader, hr %#x.\n",
hr);
161 }
162
163 shader->parent_device = &
device->IDirect3DDevice9Ex_iface;
165
167}
static const struct wined3d_parent_ops d3d9_vertexshader_wined3d_parent_ops
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)
Referenced by d3d9_device_CreateVertexShader().
◆ WINE_DEFAULT_DEBUG_CHANNEL()
WINE_DEFAULT_DEBUG_CHANNEL |
( |
d3d9 |
| ) |
|
◆ d3d9_pixelshader_vtbl
const IDirect3DPixelShader9Vtbl d3d9_pixelshader_vtbl |
|
static |
Initial value:=
{
}
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)
Definition at line 270 of file shader.c.
Referenced by pixelshader_init(), and unsafe_impl_from_IDirect3DPixelShader9().
◆ d3d9_pixelshader_wined3d_parent_ops
Initial value:=
{
}
static void STDMETHODCALLTYPE d3d9_pixelshader_wined3d_object_destroyed(void *parent)
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_GetFunction(IDirect3DVertexShader9 *iface, void *data, UINT *data_size)
static HRESULT WINAPI d3d9_vertexshader_QueryInterface(IDirect3DVertexShader9 *iface, REFIID riid, void **out)
static ULONG WINAPI d3d9_vertexshader_AddRef(IDirect3DVertexShader9 *iface)
static HRESULT WINAPI d3d9_vertexshader_GetDevice(IDirect3DVertexShader9 *iface, IDirect3DDevice9 **device)
static ULONG WINAPI d3d9_vertexshader_Release(IDirect3DVertexShader9 *iface)
Definition at line 116 of file shader.c.
Referenced by unsafe_impl_from_IDirect3DVertexShader9(), and vertexshader_init().
◆ d3d9_vertexshader_wined3d_parent_ops
Initial value:=
{
}
static void STDMETHODCALLTYPE d3d9_vertexshader_wined3d_object_destroyed(void *parent)
Definition at line 132 of file shader.c.
Referenced by vertexshader_init().