ReactOS 0.4.17-dev-934-g091855f
d3dx9effect.h File Reference
#include "d3dx9.h"
Include dependency graph for d3dx9effect.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _D3DXEFFECT_DESC
 
struct  _D3DXPARAMETER_DESC
 
struct  _D3DXTECHNIQUE_DESC
 
struct  _D3DXPASS_DESC
 
struct  _D3DXFUNCTION_DESC
 

Macros

#define __D3DX9EFFECT_H__
 
#define D3DXFX_DONOTSAVESTATE   (1 << 0)
 
#define D3DXFX_DONOTSAVESHADERSTATE   (1 << 1)
 
#define D3DXFX_DONOTSAVESAMPLERSTATE   (1 << 2)
 
#define D3DXFX_NOT_CLONEABLE   (1 << 11)
 
#define D3DXFX_LARGEADDRESSAWARE   (1 << 17)
 
#define D3DX_PARAMETER_SHARED   1
 
#define D3DX_PARAMETER_LITERAL   2
 
#define D3DX_PARAMETER_ANNOTATION   4
 
#define INTERFACE   ID3DXEffectPool
 
#define INTERFACE   ID3DXBaseEffect
 
#define INTERFACE   ID3DXEffectStateManager
 
#define INTERFACE   ID3DXEffect
 
#define INTERFACE   ID3DXEffectCompiler
 
#define D3DXCreateEffectFromFileEx   WINELIB_NAME_AW(D3DXCreateEffectFromFileEx)
 
#define D3DXCreateEffectFromFile   WINELIB_NAME_AW(D3DXCreateEffectFromFile)
 
#define D3DXCreateEffectFromResourceEx   WINELIB_NAME_AW(D3DXCreateEffectFromResourceEx)
 
#define D3DXCreateEffectFromResource   WINELIB_NAME_AW(D3DXCreateEffectFromResource)
 
#define D3DXCreateEffectCompilerFromFile   WINELIB_NAME_AW(D3DXCreateEffectCompilerFromFile)
 
#define D3DXCreateEffectCompilerFromResource   WINELIB_NAME_AW(D3DXCreateEffectCompilerFromResource)
 

Typedefs

typedef struct _D3DXEFFECT_DESC D3DXEFFECT_DESC
 
typedef struct _D3DXPARAMETER_DESC D3DXPARAMETER_DESC
 
typedef struct _D3DXTECHNIQUE_DESC D3DXTECHNIQUE_DESC
 
typedef struct _D3DXPASS_DESC D3DXPASS_DESC
 
typedef struct _D3DXFUNCTION_DESC D3DXFUNCTION_DESC
 
typedef struct ID3DXEffectPool * LPD3DXEFFECTPOOL
 
typedef struct ID3DXBaseEffect * LPD3DXBASEEFFECT
 
typedef struct ID3DXEffectStateManager * LPD3DXEFFECTSTATEMANAGER
 
typedef struct ID3DXEffect * LPD3DXEFFECT
 
typedef struct ID3DXEffectCompiler * LPD3DXEFFECTCOMPILER
 

Functions

 DEFINE_GUID (IID_ID3DXEffectPool, 0x9537ab04, 0x3250, 0x412e, 0x82, 0x13, 0xfc, 0xd2, 0xf8, 0x67, 0x79, 0x33)
 
 DECLARE_INTERFACE_ (ID3DXEffectPool, IUnknown)
 
 DEFINE_GUID (IID_ID3DXBaseEffect, 0x17c18ac, 0x103f, 0x4417, 0x8c, 0x51, 0x6b, 0xf6, 0xef, 0x1e, 0x56, 0xbe)
 
 DECLARE_INTERFACE_ (ID3DXBaseEffect, IUnknown)
 
 DEFINE_GUID (IID_ID3DXEffectStateManager, 0x79aab587, 0x6dbc, 0x4fa7, 0x82, 0xde, 0x37, 0xfa, 0x17, 0x81, 0xc5, 0xce)
 
 DECLARE_INTERFACE_ (ID3DXEffectStateManager, IUnknown)
 
 DEFINE_GUID (IID_ID3DXEffect, 0xf6ceb4b3, 0x4e4c, 0x40dd, 0xb8, 0x83, 0x8d, 0x8d, 0xe5, 0xea, 0x0c, 0xd5)
 
 DECLARE_INTERFACE_ (ID3DXEffect, ID3DXBaseEffect)
 
 DEFINE_GUID (IID_ID3DXEffectCompiler, 0x51b8a949, 0x1a31, 0x47e6, 0xbe, 0xa0, 0x4b, 0x30, 0xdb, 0x53, 0xf1, 0xe0)
 
 DECLARE_INTERFACE_ (ID3DXEffectCompiler, ID3DXBaseEffect)
 
HRESULT WINAPI D3DXCreateEffectPool (ID3DXEffectPool **pool)
 
HRESULT WINAPI D3DXCreateEffect (struct IDirect3DDevice9 *device, const void *srcdata, UINT srcdatalen, const D3DXMACRO *defines, struct ID3DXInclude *include, DWORD flags, struct ID3DXEffectPool *pool, struct ID3DXEffect **effect, struct ID3DXBuffer **compilation_errors)
 
HRESULT WINAPI D3DXCreateEffectEx (struct IDirect3DDevice9 *device, const void *srcdata, UINT srcdatalen, const D3DXMACRO *defines, struct ID3DXInclude *include, const char *skip_constants, DWORD flags, struct ID3DXEffectPool *pool, struct ID3DXEffect **effect, struct ID3DXBuffer **compilation_errors)
 
HRESULT WINAPI D3DXCreateEffectCompiler (const char *srcdata, UINT srcdatalen, const D3DXMACRO *defines, ID3DXInclude *include, DWORD flags, ID3DXEffectCompiler **compiler, ID3DXBuffer **parse_errors)
 
HRESULT WINAPI D3DXCreateEffectFromFileExA (struct IDirect3DDevice9 *device, const char *srcfile, const D3DXMACRO *defines, struct ID3DXInclude *include, const char *skip_constants, DWORD flags, struct ID3DXEffectPool *pool, struct ID3DXEffect **effect, struct ID3DXBuffer **compilation_errors)
 
HRESULT WINAPI D3DXCreateEffectFromFileExW (struct IDirect3DDevice9 *device, const WCHAR *srcfile, const D3DXMACRO *defines, struct ID3DXInclude *include, const char *skip_constants, DWORD flags, struct ID3DXEffectPool *pool, struct ID3DXEffect **effect, struct ID3DXBuffer **compilation_errors)
 
HRESULT WINAPI D3DXCreateEffectFromFileA (struct IDirect3DDevice9 *device, const char *srcfile, const D3DXMACRO *defines, struct ID3DXInclude *include, DWORD flags, struct ID3DXEffectPool *pool, struct ID3DXEffect **effect, struct ID3DXBuffer **compilation_errors)
 
HRESULT WINAPI D3DXCreateEffectFromFileW (struct IDirect3DDevice9 *device, const WCHAR *srcfile, const D3DXMACRO *defines, struct ID3DXInclude *include, DWORD flags, struct ID3DXEffectPool *pool, struct ID3DXEffect **effect, struct ID3DXBuffer **compilation_errors)
 
HRESULT WINAPI D3DXCreateEffectFromResourceExA (struct IDirect3DDevice9 *device, HMODULE srcmodule, const char *srcresource, const D3DXMACRO *defines, struct ID3DXInclude *include, const char *skip_constants, DWORD flags, struct ID3DXEffectPool *pool, struct ID3DXEffect **effect, struct ID3DXBuffer **compilation_errors)
 
HRESULT WINAPI D3DXCreateEffectFromResourceExW (struct IDirect3DDevice9 *device, HMODULE srcmodule, const WCHAR *srcresource, const D3DXMACRO *defines, struct ID3DXInclude *include, const char *skip_constants, DWORD flags, struct ID3DXEffectPool *pool, struct ID3DXEffect **effect, struct ID3DXBuffer **compilation_errors)
 
HRESULT WINAPI D3DXCreateEffectFromResourceA (struct IDirect3DDevice9 *device, HMODULE srcmodule, const char *srcresource, const D3DXMACRO *defines, struct ID3DXInclude *include, DWORD flags, struct ID3DXEffectPool *pool, struct ID3DXEffect **effect, struct ID3DXBuffer **compilation_errors)
 
HRESULT WINAPI D3DXCreateEffectFromResourceW (struct IDirect3DDevice9 *device, HMODULE srcmodule, const WCHAR *srcresource, const D3DXMACRO *defines, struct ID3DXInclude *include, DWORD flags, struct ID3DXEffectPool *pool, struct ID3DXEffect **effect, struct ID3DXBuffer **compilation_errors)
 
HRESULT WINAPI D3DXCreateEffectCompilerFromFileA (const char *srcfile, const D3DXMACRO *defines, ID3DXInclude *include, DWORD flags, ID3DXEffectCompiler **effectcompiler, ID3DXBuffer **parseerrors)
 
HRESULT WINAPI D3DXCreateEffectCompilerFromFileW (const WCHAR *srcfile, const D3DXMACRO *defines, ID3DXInclude *include, DWORD flags, ID3DXEffectCompiler **effectcompiler, ID3DXBuffer **parseerrors)
 
HRESULT WINAPI D3DXCreateEffectCompilerFromResourceA (HMODULE srcmodule, const char *srcresource, const D3DXMACRO *defines, ID3DXInclude *include, DWORD flags, ID3DXEffectCompiler **effectcompiler, ID3DXBuffer **parseerrors)
 
HRESULT WINAPI D3DXCreateEffectCompilerFromResourceW (HMODULE srcmodule, const WCHAR *srcresource, const D3DXMACRO *defines, ID3DXInclude *include, DWORD flags, ID3DXEffectCompiler **effectcompiler, ID3DXBuffer **parseerrors)
 
HRESULT WINAPI D3DXDisassembleEffect (ID3DXEffect *effect, BOOL enable_color_code, ID3DXBuffer **disassembly)
 

Macro Definition Documentation

◆ __D3DX9EFFECT_H__

#define __D3DX9EFFECT_H__

Definition at line 22 of file d3dx9effect.h.

◆ D3DX_PARAMETER_ANNOTATION

#define D3DX_PARAMETER_ANNOTATION   4

Definition at line 32 of file d3dx9effect.h.

◆ D3DX_PARAMETER_LITERAL

#define D3DX_PARAMETER_LITERAL   2

Definition at line 31 of file d3dx9effect.h.

◆ D3DX_PARAMETER_SHARED

#define D3DX_PARAMETER_SHARED   1

Definition at line 30 of file d3dx9effect.h.

◆ D3DXCreateEffectCompilerFromFile

#define D3DXCreateEffectCompilerFromFile   WINELIB_NAME_AW(D3DXCreateEffectCompilerFromFile)

Definition at line 429 of file d3dx9effect.h.

◆ D3DXCreateEffectCompilerFromResource

#define D3DXCreateEffectCompilerFromResource   WINELIB_NAME_AW(D3DXCreateEffectCompilerFromResource)

Definition at line 437 of file d3dx9effect.h.

◆ D3DXCreateEffectFromFile

#define D3DXCreateEffectFromFile   WINELIB_NAME_AW(D3DXCreateEffectFromFile)

Definition at line 405 of file d3dx9effect.h.

◆ D3DXCreateEffectFromFileEx

#define D3DXCreateEffectFromFileEx   WINELIB_NAME_AW(D3DXCreateEffectFromFileEx)

Definition at line 397 of file d3dx9effect.h.

◆ D3DXCreateEffectFromResource

#define D3DXCreateEffectFromResource   WINELIB_NAME_AW(D3DXCreateEffectFromResource)

Definition at line 423 of file d3dx9effect.h.

◆ D3DXCreateEffectFromResourceEx

#define D3DXCreateEffectFromResourceEx   WINELIB_NAME_AW(D3DXCreateEffectFromResourceEx)

Definition at line 415 of file d3dx9effect.h.

◆ D3DXFX_DONOTSAVESAMPLERSTATE

#define D3DXFX_DONOTSAVESAMPLERSTATE   (1 << 2)

Definition at line 26 of file d3dx9effect.h.

◆ D3DXFX_DONOTSAVESHADERSTATE

#define D3DXFX_DONOTSAVESHADERSTATE   (1 << 1)

Definition at line 25 of file d3dx9effect.h.

◆ D3DXFX_DONOTSAVESTATE

#define D3DXFX_DONOTSAVESTATE   (1 << 0)

Definition at line 24 of file d3dx9effect.h.

◆ D3DXFX_LARGEADDRESSAWARE

#define D3DXFX_LARGEADDRESSAWARE   (1 << 17)

Definition at line 28 of file d3dx9effect.h.

◆ D3DXFX_NOT_CLONEABLE

#define D3DXFX_NOT_CLONEABLE   (1 << 11)

Definition at line 27 of file d3dx9effect.h.

◆ INTERFACE [1/5]

#define INTERFACE   ID3DXEffectPool

Definition at line 306 of file d3dx9effect.h.

◆ INTERFACE [2/5]

#define INTERFACE   ID3DXBaseEffect

Definition at line 306 of file d3dx9effect.h.

◆ INTERFACE [3/5]

#define INTERFACE   ID3DXEffectStateManager

Definition at line 306 of file d3dx9effect.h.

◆ INTERFACE [4/5]

#define INTERFACE   ID3DXEffect

Definition at line 306 of file d3dx9effect.h.

◆ INTERFACE [5/5]

#define INTERFACE   ID3DXEffectCompiler

Definition at line 306 of file d3dx9effect.h.

Typedef Documentation

◆ D3DXEFFECT_DESC

◆ D3DXFUNCTION_DESC

◆ D3DXPARAMETER_DESC

◆ D3DXPASS_DESC

◆ D3DXTECHNIQUE_DESC

◆ LPD3DXBASEEFFECT

typedef struct ID3DXBaseEffect* LPD3DXBASEEFFECT

Definition at line 94 of file d3dx9effect.h.

◆ LPD3DXEFFECT

typedef struct ID3DXEffect* LPD3DXEFFECT

Definition at line 198 of file d3dx9effect.h.

◆ LPD3DXEFFECTCOMPILER

typedef struct ID3DXEffectCompiler* LPD3DXEFFECTCOMPILER

Definition at line 302 of file d3dx9effect.h.

◆ LPD3DXEFFECTPOOL

typedef struct ID3DXEffectPool* LPD3DXEFFECTPOOL

Definition at line 78 of file d3dx9effect.h.

◆ LPD3DXEFFECTSTATEMANAGER

typedef struct ID3DXEffectStateManager* LPD3DXEFFECTSTATEMANAGER

Definition at line 164 of file d3dx9effect.h.

Function Documentation

◆ D3DXCreateEffect()

HRESULT WINAPI D3DXCreateEffect ( struct IDirect3DDevice9 *  device,
const void *  srcdata,
UINT  srcdatalen,
const D3DXMACRO *  defines,
struct ID3DXInclude *  include,
DWORD  flags,
struct ID3DXEffectPool *  pool,
struct ID3DXEffect **  effect,
struct ID3DXBuffer **  compilation_errors 
)

Definition at line 6729 of file effect.c.

6732{
6733 TRACE("device %p, data %p, data_size %u, defines %p, include %p, flags %#lx, pool %p, "
6734 "effect %p, messages %p.\n", device, data, data_size, defines,
6735 include, flags, pool, effect, messages);
6736
6737 return D3DXCreateEffectEx(device, data, data_size, defines, include, NULL, flags, pool, effect, messages);
6738}
static SIZE_T const char const D3D_SHADER_MACRO ID3DInclude * include
Definition: asm.c:31
static SIZE_T const char const D3D_SHADER_MACRO * defines
Definition: asm.c:31
#define NULL
Definition: types.h:112
HRESULT WINAPI D3DXCreateEffectEx(struct IDirect3DDevice9 *device, const void *srcdata, UINT srcdatalen, const D3DXMACRO *defines, struct ID3DXInclude *include, const char *skip_constants, DWORD flags, struct ID3DXEffectPool *pool, struct ID3DXEffect **effect, struct ID3DXBuffer **compilation_errors)
Definition: effect.c:6685
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
GLbitfield flags
Definition: glext.h:7161
#define TRACE(s)
Definition: solgame.cpp:4
Definition: devices.h:37

◆ D3DXCreateEffectCompiler()

HRESULT WINAPI D3DXCreateEffectCompiler ( const char *  srcdata,
UINT  srcdatalen,
const D3DXMACRO *  defines,
ID3DXInclude *  include,
DWORD  flags,
ID3DXEffectCompiler **  compiler,
ID3DXBuffer **  parse_errors 
)

Definition at line 6755 of file effect.c.

6757{
6759 HRESULT hr;
6760
6761 TRACE("data %p, data_size %u, defines %p, include %p, flags %#lx, compiler %p, messages %p.\n",
6762 data, data_size, defines, include, flags, compiler, messages);
6763
6764 if (!data || !compiler)
6765 {
6766 WARN("Invalid arguments supplied\n");
6767 return D3DERR_INVALIDCALL;
6768 }
6769
6770 object = calloc(1, sizeof(*object));
6771 if (!object)
6772 return E_OUTOFMEMORY;
6773
6774 hr = d3dx9_effect_compiler_init(object, data, data_size, (const D3D_SHADER_MACRO *)defines,
6776 if (FAILED(hr))
6777 {
6778 WARN("Failed to initialize effect compiler\n");
6779 free(object);
6780 return hr;
6781 }
6782
6783 *compiler = &object->ID3DXEffectCompiler_iface;
6784
6785 TRACE("Created ID3DXEffectCompiler %p\n", object);
6786
6787 return D3D_OK;
6788}
#define WARN(fmt,...)
Definition: precomp.h:61
#define D3DERR_INVALIDCALL
Definition: d3d10_private.h:42
#define D3D_OK
Definition: d3d.h:106
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
#define free
Definition: debug_ros.c:5
HRESULT hr
Definition: delayimp.cpp:582
static HRESULT d3dx9_effect_compiler_init(struct ID3DXEffectCompilerImpl *compiler, const char *data, SIZE_T data_size, const D3D_SHADER_MACRO *defines, ID3DInclude *include, UINT eflags, ID3DBlob **messages)
Definition: effect.c:6740
#define FAILED(hr)
Definition: intsafe.h:51
#define calloc
Definition: rosglue.h:14

◆ D3DXCreateEffectCompilerFromFileA()

HRESULT WINAPI D3DXCreateEffectCompilerFromFileA ( const char *  srcfile,
const D3DXMACRO *  defines,
ID3DXInclude *  include,
DWORD  flags,
ID3DXEffectCompiler **  effectcompiler,
ID3DXBuffer **  parseerrors 
)

Definition at line 7083 of file effect.c.

7085{
7086 WCHAR *srcfileW;
7087 HRESULT ret;
7088 DWORD len;
7089
7090 TRACE("srcfile %s, defines %p, include %p, flags %#lx, compiler %p, messages %p.\n",
7091 debugstr_a(srcfile), defines, include, flags, compiler, messages);
7092
7093 if (!srcfile)
7094 return D3DERR_INVALIDCALL;
7095
7096 len = MultiByteToWideChar(CP_ACP, 0, srcfile, -1, NULL, 0);
7097 srcfileW = malloc(len * sizeof(*srcfileW));
7098 MultiByteToWideChar(CP_ACP, 0, srcfile, -1, srcfileW, len);
7099
7101 free(srcfileW);
7102
7103 return ret;
7104}
#define malloc
Definition: debug_ros.c:4
HRESULT WINAPI D3DXCreateEffectCompilerFromFileW(const WCHAR *srcfile, const D3DXMACRO *defines, ID3DXInclude *include, DWORD flags, ID3DXEffectCompiler **compiler, ID3DXBuffer **messages)
Definition: effect.c:7059
#define CP_ACP
Definition: compat.h:109
#define MultiByteToWideChar
Definition: compat.h:110
return ret
Definition: mutex.c:147
unsigned long DWORD
Definition: ntddk_ex.h:95
GLenum GLsizei len
Definition: glext.h:6722
#define debugstr_a
Definition: kernel32.h:31
short WCHAR
Definition: pedump.c:58

◆ D3DXCreateEffectCompilerFromFileW()

HRESULT WINAPI D3DXCreateEffectCompilerFromFileW ( const WCHAR *  srcfile,
const D3DXMACRO *  defines,
ID3DXInclude *  include,
DWORD  flags,
ID3DXEffectCompiler **  effectcompiler,
ID3DXBuffer **  parseerrors 
)

Definition at line 7059 of file effect.c.

7061{
7062 void *buffer;
7063 HRESULT ret;
7064 DWORD size;
7065
7066 TRACE("srcfile %s, defines %p, include %p, flags %#lx, compiler %p, messages %p.\n",
7067 debugstr_w(srcfile), defines, include, flags, compiler, messages);
7068
7069 if (!srcfile)
7070 return D3DERR_INVALIDCALL;
7071
7072 ret = map_view_of_file(srcfile, &buffer, &size);
7073
7074 if (FAILED(ret))
7075 return D3DXERR_INVALIDDATA;
7076
7079
7080 return ret;
7081}
#define D3DXERR_INVALIDDATA
Definition: compiler.c:53
HRESULT map_view_of_file(const WCHAR *filename, void **buffer, DWORD *length)
Definition: util.c:211
HRESULT WINAPI D3DXCreateEffectCompiler(const char *data, UINT data_size, const D3DXMACRO *defines, ID3DXInclude *include, DWORD flags, ID3DXEffectCompiler **compiler, ID3DXBuffer **messages)
Definition: effect.c:6755
#define UnmapViewOfFile
Definition: compat.h:746
GLuint buffer
Definition: glext.h:5915
GLsizeiptr size
Definition: glext.h:5919
#define debugstr_w
Definition: kernel32.h:32

◆ D3DXCreateEffectCompilerFromResourceA()

HRESULT WINAPI D3DXCreateEffectCompilerFromResourceA ( HMODULE  srcmodule,
const char *  srcresource,
const D3DXMACRO *  defines,
ID3DXInclude *  include,
DWORD  flags,
ID3DXEffectCompiler **  effectcompiler,
ID3DXBuffer **  parseerrors 
)

Definition at line 7106 of file effect.c.

7109{
7110 HRSRC resinfo;
7111 void *buffer;
7112 DWORD size;
7113
7114 TRACE("srcmodule %p, srcresource %s, defines %p, include %p, flags %#lx, compiler %p, messages %p.\n",
7115 srcmodule, debugstr_a(srcresource), defines, include, flags, compiler, messages);
7116
7117 if (!(resinfo = FindResourceA(srcmodule, srcresource, (const char *)RT_RCDATA)))
7118 return D3DXERR_INVALIDDATA;
7119
7120 if (FAILED(load_resource_into_memory(srcmodule, resinfo, &buffer, &size)))
7121 return D3DXERR_INVALIDDATA;
7122
7124}
HRESULT load_resource_into_memory(HMODULE module, HRSRC resinfo, void **buffer, DWORD *length)
Definition: util.c:261
HRSRC WINAPI FindResourceA(HMODULE hModule, LPCSTR name, LPCSTR type)
Definition: res.c:155
#define RT_RCDATA
Definition: pedump.c:372

◆ D3DXCreateEffectCompilerFromResourceW()

HRESULT WINAPI D3DXCreateEffectCompilerFromResourceW ( HMODULE  srcmodule,
const WCHAR *  srcresource,
const D3DXMACRO *  defines,
ID3DXInclude *  include,
DWORD  flags,
ID3DXEffectCompiler **  effectcompiler,
ID3DXBuffer **  parseerrors 
)

Definition at line 7126 of file effect.c.

7129{
7130 HRSRC resinfo;
7131 void *buffer;
7132 DWORD size;
7133
7134 TRACE("srcmodule %p, srcresource %s, defines %p, include %p, flags %#lx, compiler %p, messages %p.\n",
7135 srcmodule, debugstr_w(srcresource), defines, include, flags, compiler, messages);
7136
7137 if (!(resinfo = FindResourceW(srcmodule, srcresource, (const WCHAR *)RT_RCDATA)))
7138 return D3DXERR_INVALIDDATA;
7139
7140 if (FAILED(load_resource_into_memory(srcmodule, resinfo, &buffer, &size)))
7141 return D3DXERR_INVALIDDATA;
7142
7144}
HRSRC WINAPI FindResourceW(HINSTANCE hModule, LPCWSTR name, LPCWSTR type)
Definition: res.c:176

◆ D3DXCreateEffectEx()

HRESULT WINAPI D3DXCreateEffectEx ( struct IDirect3DDevice9 *  device,
const void *  srcdata,
UINT  srcdatalen,
const D3DXMACRO *  defines,
struct ID3DXInclude *  include,
const char *  skip_constants,
DWORD  flags,
struct ID3DXEffectPool *  pool,
struct ID3DXEffect **  effect,
struct ID3DXBuffer **  compilation_errors 
)

Definition at line 6685 of file effect.c.

6688{
6689 struct d3dx_effect *object;
6690 HRESULT hr;
6691
6692 TRACE("device %p, srcdata %p, srcdatalen %u, defines %p, include %p, "
6693 "skip_constants %p, flags %#lx, pool %p, effect %p, compilation_errors %p.\n",
6694 device, srcdata, srcdatalen, defines, include,
6695 skip_constants, flags, pool, effect, compilation_errors);
6696
6697 if (compilation_errors)
6698 *compilation_errors = NULL;
6699
6700 if (!device || !srcdata)
6701 return D3DERR_INVALIDCALL;
6702
6703 if (!srcdatalen)
6704 return E_FAIL;
6705
6706 /* Native dll allows effect to be null so just return D3D_OK after doing basic checks */
6707 if (!effect)
6708 return D3D_OK;
6709
6710 object = calloc(1, sizeof(*object));
6711 if (!object)
6712 return E_OUTOFMEMORY;
6713
6714 hr = d3dx9_effect_init(object, device, srcdata, srcdatalen, (const D3D_SHADER_MACRO *)defines,
6715 (ID3DInclude *)include, flags, (ID3DBlob **)compilation_errors, pool, skip_constants);
6716 if (FAILED(hr))
6717 {
6718 WARN("Failed to create effect object, hr %#lx.\n", hr);
6719 return hr;
6720 }
6721
6722 *effect = &object->ID3DXEffect_iface;
6723
6724 TRACE("Created ID3DXEffect %p\n", object);
6725
6726 return D3D_OK;
6727}
#define E_FAIL
Definition: ddrawi.h:102
static HRESULT d3dx9_effect_init(struct d3dx_effect *effect, struct IDirect3DDevice9 *device, const char *data, SIZE_T data_size, const D3D_SHADER_MACRO *defines, ID3DInclude *include, UINT flags, ID3DBlob **errors, struct ID3DXEffectPool *pool, const char *skip_constants_string)
Definition: effect.c:6613

◆ D3DXCreateEffectFromFileA()

HRESULT WINAPI D3DXCreateEffectFromFileA ( struct IDirect3DDevice9 *  device,
const char *  srcfile,
const D3DXMACRO *  defines,
struct ID3DXInclude *  include,
DWORD  flags,
struct ID3DXEffectPool *  pool,
struct ID3DXEffect **  effect,
struct ID3DXBuffer **  compilation_errors 
)

Definition at line 6979 of file effect.c.

6982{
6983 TRACE("(void): relay\n");
6985 effect, messages);
6986}
HRESULT WINAPI D3DXCreateEffectFromFileExA(struct IDirect3DDevice9 *device, const char *srcfile, const D3DXMACRO *defines, struct ID3DXInclude *include, const char *skipconstants, DWORD flags, struct ID3DXEffectPool *pool, struct ID3DXEffect **effect, struct ID3DXBuffer **messages)
Definition: effect.c:6944

◆ D3DXCreateEffectFromFileExA()

HRESULT WINAPI D3DXCreateEffectFromFileExA ( struct IDirect3DDevice9 *  device,
const char *  srcfile,
const D3DXMACRO *  defines,
struct ID3DXInclude *  include,
const char *  skip_constants,
DWORD  flags,
struct ID3DXEffectPool *  pool,
struct ID3DXEffect **  effect,
struct ID3DXBuffer **  compilation_errors 
)

Definition at line 6944 of file effect.c.

6947{
6948 WCHAR *srcfileW;
6949 HRESULT ret;
6950 DWORD len;
6951
6952 TRACE("device %p, srcfile %s, defines %p, include %p, skipconstants %s, "
6953 "flags %#lx, pool %p, effect %p, messages %p.\n",
6954 device, debugstr_a(srcfile), defines, include, debugstr_a(skipconstants),
6955 flags, pool, effect, messages);
6956
6957 if (!srcfile)
6958 return D3DERR_INVALIDCALL;
6959
6960 len = MultiByteToWideChar(CP_ACP, 0, srcfile, -1, NULL, 0);
6961 srcfileW = malloc(len * sizeof(*srcfileW));
6962 MultiByteToWideChar(CP_ACP, 0, srcfile, -1, srcfileW, len);
6963
6964 ret = D3DXCreateEffectFromFileExW(device, srcfileW, defines, include, skipconstants, flags, pool, effect, messages);
6965 free(srcfileW);
6966
6967 return ret;
6968}
HRESULT WINAPI D3DXCreateEffectFromFileExW(struct IDirect3DDevice9 *device, const WCHAR *srcfile, const D3DXMACRO *defines, struct ID3DXInclude *include, const char *skipconstants, DWORD flags, struct ID3DXEffectPool *pool, struct ID3DXEffect **effect, struct ID3DXBuffer **messages)
Definition: effect.c:6896

◆ D3DXCreateEffectFromFileExW()

HRESULT WINAPI D3DXCreateEffectFromFileExW ( struct IDirect3DDevice9 *  device,
const WCHAR *  srcfile,
const D3DXMACRO *  defines,
struct ID3DXInclude *  include,
const char *  skip_constants,
DWORD  flags,
struct ID3DXEffectPool *  pool,
struct ID3DXEffect **  effect,
struct ID3DXBuffer **  compilation_errors 
)

Definition at line 6896 of file effect.c.

6899{
6900 struct d3dx_include_from_file include_from_file;
6901 const void *buffer;
6902 unsigned int size;
6903 char *filename_a;
6904 HRESULT ret;
6905
6906 TRACE("device %p, srcfile %s, defines %p, include %p, skipconstants %s, "
6907 "flags %#lx, pool %p, effect %p, messages %p.\n",
6908 device, debugstr_w(srcfile), defines, include, debugstr_a(skipconstants),
6909 flags, pool, effect, messages);
6910
6911 if (!device || !srcfile)
6912 return D3DERR_INVALIDCALL;
6913
6914 if (!include)
6915 {
6916 include_from_file.ID3DXInclude_iface.lpVtbl = &d3dx_include_from_file_vtbl;
6917 include = &include_from_file.ID3DXInclude_iface;
6918 }
6919
6920 size = WideCharToMultiByte(CP_ACP, 0, srcfile, -1, NULL, 0, NULL, NULL);
6921 filename_a = malloc(size);
6922 if (!filename_a)
6923 return E_OUTOFMEMORY;
6924 WideCharToMultiByte(CP_ACP, 0, srcfile, -1, filename_a, size, NULL, NULL);
6925
6928 if (FAILED(ret))
6929 {
6931 free(filename_a);
6932 return D3DXERR_INVALIDDATA;
6933 }
6934
6936 effect, messages);
6937
6940 free(filename_a);
6941 return ret;
6942}
CRITICAL_SECTION from_file_mutex
Definition: shader.c:242
const struct ID3DXIncludeVtbl d3dx_include_from_file_vtbl
Definition: shader.c:328
#define WideCharToMultiByte
Definition: compat.h:111
@ D3DXINC_LOCAL
Definition: d3dx9shader.h:288
#define ID3DXInclude_Close(p, a)
Definition: d3dx9shader.h:304
#define ID3DXInclude_Open(p, a, b, c, d, e)
Definition: d3dx9shader.h:303
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)

◆ D3DXCreateEffectFromFileW()

HRESULT WINAPI D3DXCreateEffectFromFileW ( struct IDirect3DDevice9 *  device,
const WCHAR *  srcfile,
const D3DXMACRO *  defines,
struct ID3DXInclude *  include,
DWORD  flags,
struct ID3DXEffectPool *  pool,
struct ID3DXEffect **  effect,
struct ID3DXBuffer **  compilation_errors 
)

Definition at line 6970 of file effect.c.

6973{
6974 TRACE("(void): relay\n");
6976 effect, messages);
6977}

◆ D3DXCreateEffectFromResourceA()

HRESULT WINAPI D3DXCreateEffectFromResourceA ( struct IDirect3DDevice9 *  device,
HMODULE  srcmodule,
const char *  srcresource,
const D3DXMACRO *  defines,
struct ID3DXInclude *  include,
DWORD  flags,
struct ID3DXEffectPool *  pool,
struct ID3DXEffect **  effect,
struct ID3DXBuffer **  compilation_errors 
)

Definition at line 7050 of file effect.c.

7053{
7054 TRACE("(void): relay\n");
7055 return D3DXCreateEffectFromResourceExA(device, srcmodule, srcresource, defines, include, NULL,
7056 flags, pool, effect, messages);
7057}
HRESULT WINAPI D3DXCreateEffectFromResourceExA(struct IDirect3DDevice9 *device, HMODULE srcmodule, const char *srcresource, const D3DXMACRO *defines, struct ID3DXInclude *include, const char *skipconstants, DWORD flags, struct ID3DXEffectPool *pool, struct ID3DXEffect **effect, struct ID3DXBuffer **messages)
Definition: effect.c:7014

◆ D3DXCreateEffectFromResourceExA()

HRESULT WINAPI D3DXCreateEffectFromResourceExA ( struct IDirect3DDevice9 *  device,
HMODULE  srcmodule,
const char *  srcresource,
const D3DXMACRO *  defines,
struct ID3DXInclude *  include,
const char *  skip_constants,
DWORD  flags,
struct ID3DXEffectPool *  pool,
struct ID3DXEffect **  effect,
struct ID3DXBuffer **  compilation_errors 
)

Definition at line 7014 of file effect.c.

7018{
7019 HRSRC resinfo;
7020 void *buffer;
7021 DWORD size;
7022
7023 TRACE("device %p, srcmodule %p, srcresource %s, defines %p, include %p, skipconstants %s, "
7024 "flags %#lx, pool %p, effect %p, messages %p.\n",
7025 device, srcmodule, debugstr_a(srcresource), defines, include, debugstr_a(skipconstants),
7026 flags, pool, effect, messages);
7027
7028 if (!device)
7029 return D3DERR_INVALIDCALL;
7030
7031 if (!(resinfo = FindResourceA(srcmodule, srcresource, (const char *)RT_RCDATA)))
7032 return D3DXERR_INVALIDDATA;
7033
7034 if (FAILED(load_resource_into_memory(srcmodule, resinfo, &buffer, &size)))
7035 return D3DXERR_INVALIDDATA;
7036
7038 skipconstants, flags, pool, effect, messages);
7039}

◆ D3DXCreateEffectFromResourceExW()

HRESULT WINAPI D3DXCreateEffectFromResourceExW ( struct IDirect3DDevice9 *  device,
HMODULE  srcmodule,
const WCHAR *  srcresource,
const D3DXMACRO *  defines,
struct ID3DXInclude *  include,
const char *  skip_constants,
DWORD  flags,
struct ID3DXEffectPool *  pool,
struct ID3DXEffect **  effect,
struct ID3DXBuffer **  compilation_errors 
)

Definition at line 6988 of file effect.c.

6991{
6992 HRSRC resinfo;
6993 void *buffer;
6994 DWORD size;
6995
6996 TRACE("device %p, srcmodule %p, srcresource %s, defines %p, include %p, skipconstants %s, "
6997 "flags %#lx, pool %p, effect %p, messages %p.\n",
6998 device, srcmodule, debugstr_w(srcresource), defines, include, debugstr_a(skipconstants),
6999 flags, pool, effect, messages);
7000
7001 if (!device)
7002 return D3DERR_INVALIDCALL;
7003
7004 if (!(resinfo = FindResourceW(srcmodule, srcresource, (const WCHAR *)RT_RCDATA)))
7005 return D3DXERR_INVALIDDATA;
7006
7007 if (FAILED(load_resource_into_memory(srcmodule, resinfo, &buffer, &size)))
7008 return D3DXERR_INVALIDDATA;
7009
7011 skipconstants, flags, pool, effect, messages);
7012}

◆ D3DXCreateEffectFromResourceW()

HRESULT WINAPI D3DXCreateEffectFromResourceW ( struct IDirect3DDevice9 *  device,
HMODULE  srcmodule,
const WCHAR *  srcresource,
const D3DXMACRO *  defines,
struct ID3DXInclude *  include,
DWORD  flags,
struct ID3DXEffectPool *  pool,
struct ID3DXEffect **  effect,
struct ID3DXBuffer **  compilation_errors 
)

Definition at line 7041 of file effect.c.

7044{
7045 TRACE("(void): relay\n");
7046 return D3DXCreateEffectFromResourceExW(device, srcmodule, srcresource, defines, include, NULL,
7047 flags, pool, effect, messages);
7048}
HRESULT WINAPI D3DXCreateEffectFromResourceExW(struct IDirect3DDevice9 *device, HMODULE srcmodule, const WCHAR *srcresource, const D3DXMACRO *defines, struct ID3DXInclude *include, const char *skipconstants, DWORD flags, struct ID3DXEffectPool *pool, struct ID3DXEffect **effect, struct ID3DXBuffer **messages)
Definition: effect.c:6988

◆ D3DXCreateEffectPool()

HRESULT WINAPI D3DXCreateEffectPool ( ID3DXEffectPool **  pool)

Definition at line 6875 of file effect.c.

6876{
6877 struct d3dx_effect_pool *object;
6878
6879 TRACE("pool %p.\n", pool);
6880
6881 if (!pool)
6882 return D3DERR_INVALIDCALL;
6883
6884 object = calloc(1, sizeof(*object));
6885 if (!object)
6886 return E_OUTOFMEMORY;
6887
6888 object->ID3DXEffectPool_iface.lpVtbl = &ID3DXEffectPool_Vtbl;
6889 object->refcount = 1;
6890
6891 *pool = &object->ID3DXEffectPool_iface;
6892
6893 return S_OK;
6894}
static const struct ID3DXEffectPoolVtbl ID3DXEffectPool_Vtbl
Definition: effect.c:6858
#define S_OK
Definition: intsafe.h:52

◆ D3DXDisassembleEffect()

HRESULT WINAPI D3DXDisassembleEffect ( ID3DXEffect *  effect,
BOOL  enable_color_code,
ID3DXBuffer **  disassembly 
)

Definition at line 7146 of file effect.c.

7147{
7148 FIXME("(%p, %u, %p): stub\n", effect, enable_color_code, disassembly);
7149
7150 return D3DXERR_INVALIDDATA;
7151}
#define FIXME(fmt,...)
Definition: precomp.h:53

◆ DECLARE_INTERFACE_() [1/5]

DECLARE_INTERFACE_ ( ID3DXBaseEffect  ,
IUnknown   
)

Definition at line 100 of file d3dx9effect.h.

101{
102 /*** IUnknown methods ***/
106 /*** ID3DXBaseEffect methods ***/
108 STDMETHOD(GetParameterDesc)(THIS_ D3DXHANDLE parameter, D3DXPARAMETER_DESC* desc) PURE;
109 STDMETHOD(GetTechniqueDesc)(THIS_ D3DXHANDLE technique, D3DXTECHNIQUE_DESC* desc) PURE;
113 STDMETHOD_(D3DXHANDLE, GetParameterByName)(THIS_ D3DXHANDLE parameter, const char *name) PURE;
114 STDMETHOD_(D3DXHANDLE, GetParameterBySemantic)(THIS_ D3DXHANDLE parameter, const char *semantic) PURE;
115 STDMETHOD_(D3DXHANDLE, GetParameterElement)(THIS_ D3DXHANDLE parameter, UINT index) PURE;
116 STDMETHOD_(D3DXHANDLE, GetTechnique)(THIS_ UINT index) PURE;
117 STDMETHOD_(D3DXHANDLE, GetTechniqueByName)(THIS_ const char *name) PURE;
119 STDMETHOD_(D3DXHANDLE, GetPassByName)(THIS_ D3DXHANDLE technique, const char *name) PURE;
120 STDMETHOD_(D3DXHANDLE, GetFunction)(THIS_ UINT index);
121 STDMETHOD_(D3DXHANDLE, GetFunctionByName)(THIS_ const char *name);
123 STDMETHOD_(D3DXHANDLE, GetAnnotationByName)(THIS_ D3DXHANDLE object, const char *name) PURE;
124 STDMETHOD(SetValue)(THIS_ D3DXHANDLE parameter, const void *data, UINT bytes) PURE;
125 STDMETHOD(GetValue)(THIS_ D3DXHANDLE parameter, void *data, UINT bytes) PURE;
127 STDMETHOD(GetBool)(THIS_ D3DXHANDLE parameter, BOOL* b) PURE;
129 STDMETHOD(GetBoolArray)(THIS_ D3DXHANDLE parameter, BOOL* b, UINT count) PURE;
131 STDMETHOD(GetInt)(THIS_ D3DXHANDLE parameter, INT* n) PURE;
132 STDMETHOD(SetIntArray)(THIS_ D3DXHANDLE parameter, const INT *n, UINT count) PURE;
133 STDMETHOD(GetIntArray)(THIS_ D3DXHANDLE parameter, INT* n, UINT count) PURE;
135 STDMETHOD(GetFloat)(THIS_ D3DXHANDLE parameter, FLOAT* f) PURE;
137 STDMETHOD(GetFloatArray)(THIS_ D3DXHANDLE parameter, FLOAT* f, UINT count) PURE;
139 STDMETHOD(GetVector)(THIS_ D3DXHANDLE parameter, D3DXVECTOR4* vector) PURE;
141 STDMETHOD(GetVectorArray)(THIS_ D3DXHANDLE parameter, D3DXVECTOR4* vector, UINT count) PURE;
145 STDMETHOD(GetMatrixArray)(THIS_ D3DXHANDLE parameter, D3DXMATRIX* matrix, UINT count) PURE;
147 STDMETHOD(GetMatrixPointerArray)(THIS_ D3DXHANDLE parameter, D3DXMATRIX** matrix, UINT count) PURE;
149 STDMETHOD(GetMatrixTranspose)(THIS_ D3DXHANDLE parameter, D3DXMATRIX* matrix) PURE;
151 STDMETHOD(GetMatrixTransposeArray)(THIS_ D3DXHANDLE parameter, D3DXMATRIX* matrix, UINT count) PURE;
153 STDMETHOD(GetMatrixTransposePointerArray)(THIS_ D3DXHANDLE parameter, D3DXMATRIX** matrix, UINT count) PURE;
154 STDMETHOD(SetString)(THIS_ D3DXHANDLE parameter, const char *string) PURE;
155 STDMETHOD(GetString)(THIS_ D3DXHANDLE parameter, const char **string) PURE;
156 STDMETHOD(SetTexture)(THIS_ D3DXHANDLE parameter, struct IDirect3DBaseTexture9 *texture) PURE;
157 STDMETHOD(GetTexture)(THIS_ D3DXHANDLE parameter, struct IDirect3DBaseTexture9 **texture) PURE;
158 STDMETHOD(GetPixelShader)(THIS_ D3DXHANDLE parameter, struct IDirect3DPixelShader9 **shader) PURE;
159 STDMETHOD(GetVertexShader)(THIS_ D3DXHANDLE parameter, struct IDirect3DVertexShader9 **shader) PURE;
160 STDMETHOD(SetArrayRange)(THIS_ D3DXHANDLE parameter, UINT start, UINT end) PURE;
161};
static HRESULT GetString(ASSOCSTR Str, UINT Flags, LPCWSTR pszAssoc, LPCWSTR pszExtra, PWSTR Out, HKEY hProgId=NULL)
static unsigned char bytes[4]
Definition: adnsresfilter.c:74
#define index(s, c)
Definition: various.h:29
#define PURE
Definition: basetyps.h:64
#define THIS_
Definition: basetyps.h:65
#define THIS
Definition: basetyps.h:66
#define STDMETHOD_(t, m)
Definition: basetyps.h:63
#define STDMETHOD(m)
Definition: basetyps.h:62
_In_ BOOLEAN Release
Definition: cdrom.h:920
_Check_return_ _In_ PQUERY_INTERFACE QueryInterface
Definition: dispmprt.h:1318
const char * D3DXHANDLE
Definition: d3dx9shader.h:48
unsigned int BOOL
Definition: ntddk_ex.h:94
GLuint start
Definition: gl.h:1545
GLuint GLuint GLsizei count
Definition: gl.h:1545
GLuint GLuint end
Definition: gl.h:1545
GLdouble n
Definition: glext.h:7729
GLenum GLuint texture
Definition: glext.h:6295
GLuint shader
Definition: glext.h:6030
GLuint GLenum matrix
Definition: glext.h:9407
unsigned int UINT
Definition: sysinfo.c:13
REFIID riid
Definition: atlbase.h:39
#define f
Definition: ke_i.h:83
#define b
Definition: ke_i.h:79
char string[160]
Definition: util.h:11
MATRIX * GetMatrix(HWND hwnd)
Definition: matrix.c:289
D3D11_SHADER_VARIABLE_DESC desc
Definition: reflection.c:1683
@ SetMatrixTransposePointerArray
Definition: shader.c:2181
@ SetMatrixArray
Definition: shader.c:2180
@ SetIntArray
Definition: shader.c:2179
@ SetVectorArray
Definition: shader.c:2180
@ SetMatrixPointerArray
Definition: shader.c:2181
@ SetBoolArray
Definition: shader.c:2179
@ SetBool
Definition: shader.c:2179
@ SetVector
Definition: shader.c:2180
@ SetMatrixTransposeArray
Definition: shader.c:2180
@ SetMatrix
Definition: shader.c:2179
@ SetValue
Definition: shader.c:2181
@ SetFloat
Definition: shader.c:2179
@ SetFloatArray
Definition: shader.c:2179
@ SetInt
Definition: shader.c:2179
@ SetMatrixTranspose
Definition: shader.c:2180
static ULONG WINAPI AddRef(IStream *iface)
Definition: clist.c:83
char * GetPass(const char *const prompt)
Definition: util.c:186
#define REFIID
Definition: guiddef.h:118
static TCHAR * GetParameter(TCHAR **pPointer)
Definition: start.c:20
STDMETHOD() SetString(THIS_ PCWSTR psz) PURE
Definition: name.c:39
float FLOAT
Definition: typedefs.h:69
int32_t INT
Definition: typedefs.h:58
uint32_t ULONG
Definition: typedefs.h:59
pass
Definition: typegen.h:25
wchar_t tm const _CrtWcstime_Writes_and_advances_ptr_ count wchar_t ** out
Definition: wcsftime.cpp:383

◆ DECLARE_INTERFACE_() [2/5]

DECLARE_INTERFACE_ ( ID3DXEffect  ,
ID3DXBaseEffect   
)

Definition at line 210 of file d3dx9effect.h.

211{
212 /*** IUnknown methods ***/
216 /*** ID3DXBaseEffect methods ***/
218 STDMETHOD(GetParameterDesc)(THIS_ D3DXHANDLE parameter, D3DXPARAMETER_DESC* desc) PURE;
219 STDMETHOD(GetTechniqueDesc)(THIS_ D3DXHANDLE technique, D3DXTECHNIQUE_DESC* desc) PURE;
223 STDMETHOD_(D3DXHANDLE, GetParameterByName)(THIS_ D3DXHANDLE parameter, const char *name) PURE;
224 STDMETHOD_(D3DXHANDLE, GetParameterBySemantic)(THIS_ D3DXHANDLE parameter, const char *semantic) PURE;
225 STDMETHOD_(D3DXHANDLE, GetParameterElement)(THIS_ D3DXHANDLE parameter, UINT index) PURE;
226 STDMETHOD_(D3DXHANDLE, GetTechnique)(THIS_ UINT index) PURE;
227 STDMETHOD_(D3DXHANDLE, GetTechniqueByName)(THIS_ const char *name) PURE;
229 STDMETHOD_(D3DXHANDLE, GetPassByName)(THIS_ D3DXHANDLE technique, const char *name) PURE;
230 STDMETHOD_(D3DXHANDLE, GetFunction)(THIS_ UINT index);
231 STDMETHOD_(D3DXHANDLE, GetFunctionByName)(THIS_ const char *name);
233 STDMETHOD_(D3DXHANDLE, GetAnnotationByName)(THIS_ D3DXHANDLE object, const char *name) PURE;
234 STDMETHOD(SetValue)(THIS_ D3DXHANDLE parameter, const void *data, UINT bytes) PURE;
235 STDMETHOD(GetValue)(THIS_ D3DXHANDLE parameter, void *data, UINT bytes) PURE;
237 STDMETHOD(GetBool)(THIS_ D3DXHANDLE parameter, BOOL* b) PURE;
239 STDMETHOD(GetBoolArray)(THIS_ D3DXHANDLE parameter, BOOL* b, UINT count) PURE;
241 STDMETHOD(GetInt)(THIS_ D3DXHANDLE parameter, INT* n) PURE;
242 STDMETHOD(SetIntArray)(THIS_ D3DXHANDLE parameter, const INT *n, UINT count) PURE;
243 STDMETHOD(GetIntArray)(THIS_ D3DXHANDLE parameter, INT* n, UINT count) PURE;
245 STDMETHOD(GetFloat)(THIS_ D3DXHANDLE parameter, FLOAT* f) PURE;
247 STDMETHOD(GetFloatArray)(THIS_ D3DXHANDLE parameter, FLOAT* f, UINT count) PURE;
249 STDMETHOD(GetVector)(THIS_ D3DXHANDLE parameter, D3DXVECTOR4* vector) PURE;
251 STDMETHOD(GetVectorArray)(THIS_ D3DXHANDLE parameter, D3DXVECTOR4* vector, UINT count) PURE;
255 STDMETHOD(GetMatrixArray)(THIS_ D3DXHANDLE parameter, D3DXMATRIX* matrix, UINT count) PURE;
257 STDMETHOD(GetMatrixPointerArray)(THIS_ D3DXHANDLE parameter, D3DXMATRIX** matrix, UINT count) PURE;
259 STDMETHOD(GetMatrixTranspose)(THIS_ D3DXHANDLE parameter, D3DXMATRIX* matrix) PURE;
261 STDMETHOD(GetMatrixTransposeArray)(THIS_ D3DXHANDLE parameter, D3DXMATRIX* matrix, UINT count) PURE;
263 STDMETHOD(GetMatrixTransposePointerArray)(THIS_ D3DXHANDLE parameter, D3DXMATRIX** matrix, UINT count) PURE;
264 STDMETHOD(SetString)(THIS_ D3DXHANDLE parameter, const char *string) PURE;
265 STDMETHOD(GetString)(THIS_ D3DXHANDLE parameter, const char **string) PURE;
266 STDMETHOD(SetTexture)(THIS_ D3DXHANDLE parameter, struct IDirect3DBaseTexture9 *texture) PURE;
267 STDMETHOD(GetTexture)(THIS_ D3DXHANDLE parameter, struct IDirect3DBaseTexture9 **texture) PURE;
268 STDMETHOD(GetPixelShader)(THIS_ D3DXHANDLE parameter, struct IDirect3DPixelShader9 **shader) PURE;
269 STDMETHOD(GetVertexShader)(THIS_ D3DXHANDLE parameter, struct IDirect3DVertexShader9 **shader) PURE;
270 STDMETHOD(SetArrayRange)(THIS_ D3DXHANDLE parameter, UINT start, UINT end) PURE;
271 /*** ID3DXEffect methods ***/
272 STDMETHOD(GetPool)(THIS_ ID3DXEffectPool **pool) PURE;
273 STDMETHOD(SetTechnique)(THIS_ D3DXHANDLE technique) PURE;
274 STDMETHOD_(D3DXHANDLE, GetCurrentTechnique)(THIS) PURE;
275 STDMETHOD(ValidateTechnique)(THIS_ D3DXHANDLE technique) PURE;
276 STDMETHOD(FindNextValidTechnique)(THIS_ D3DXHANDLE technique, D3DXHANDLE* next_technique) PURE;
277 STDMETHOD_(BOOL, IsParameterUsed)(THIS_ D3DXHANDLE parameter, D3DXHANDLE technique) PURE;
279 STDMETHOD(BeginPass)(THIS_ UINT pass) PURE;
280 STDMETHOD(CommitChanges)(THIS) PURE;
281 STDMETHOD(EndPass)(THIS) PURE;
282 STDMETHOD(End)(THIS) PURE;
284 STDMETHOD(OnLostDevice)(THIS) PURE;
285 STDMETHOD(OnResetDevice)(THIS) PURE;
286 STDMETHOD(SetStateManager)(THIS_ ID3DXEffectStateManager *manager) PURE;
287 STDMETHOD(GetStateManager)(THIS_ ID3DXEffectStateManager **manager) PURE;
288 STDMETHOD(BeginParameterBlock)(THIS) PURE;
289 STDMETHOD_(D3DXHANDLE, EndParameterBlock)(THIS) PURE;
290 STDMETHOD(ApplyParameterBlock)(THIS_ D3DXHANDLE parameter_block) PURE;
291#if D3DX_SDK_VERSION >= 26
292 STDMETHOD(DeleteParameterBlock)(THIS_ D3DXHANDLE parameter_block) PURE;
293#endif
294 STDMETHOD(CloneEffect)(THIS_ struct IDirect3DDevice9 *device, struct ID3DXEffect **effect) PURE;
295#if D3DX_SDK_VERSION >= 27
296 STDMETHOD(SetRawValue)(THIS_ D3DXHANDLE parameter, const void *data, UINT byte_offset, UINT bytes) PURE;
297#endif
298};
ACPI_BUFFER *RetBuffer ACPI_BUFFER *RetBuffer char ACPI_WALK_RESOURCE_CALLBACK void *Context ACPI_BUFFER *RetBuffer UINT16 ACPI_RESOURCE **ResourcePtr ACPI_GENERIC_ADDRESS *Reg UINT32 *ReturnValue UINT8 UINT8 *Slp_TypB ACPI_PHYSICAL_ADDRESS PhysicalAddress64 UINT32 UINT32 *TimeElapsed UINT32 ACPI_STATUS const char UINT32 ACPI_STATUS const char UINT32 const char const char UINT32 const char BOOLEAN Begin
Definition: acpixf.h:1301
DWORD IDirect3DDevice9
Definition: dxva2api.idl:22
return pList GetDevice()

◆ DECLARE_INTERFACE_() [3/5]

DECLARE_INTERFACE_ ( ID3DXEffectCompiler  ,
ID3DXBaseEffect   
)

Definition at line 308 of file d3dx9effect.h.

309{
310 /*** IUnknown methods ***/
314 /*** ID3DXBaseEffect methods ***/
316 STDMETHOD(GetParameterDesc)(THIS_ D3DXHANDLE parameter, D3DXPARAMETER_DESC* desc) PURE;
317 STDMETHOD(GetTechniqueDesc)(THIS_ D3DXHANDLE technique, D3DXTECHNIQUE_DESC* desc) PURE;
321 STDMETHOD_(D3DXHANDLE, GetParameterByName)(THIS_ D3DXHANDLE parameter, const char *name) PURE;
322 STDMETHOD_(D3DXHANDLE, GetParameterBySemantic)(THIS_ D3DXHANDLE parameter, const char *semantic) PURE;
323 STDMETHOD_(D3DXHANDLE, GetParameterElement)(THIS_ D3DXHANDLE parameter, UINT index) PURE;
324 STDMETHOD_(D3DXHANDLE, GetTechnique)(THIS_ UINT index) PURE;
325 STDMETHOD_(D3DXHANDLE, GetTechniqueByName)(THIS_ const char *name) PURE;
327 STDMETHOD_(D3DXHANDLE, GetPassByName)(THIS_ D3DXHANDLE technique, const char *name) PURE;
328 STDMETHOD_(D3DXHANDLE, GetFunction)(THIS_ UINT index);
329 STDMETHOD_(D3DXHANDLE, GetFunctionByName)(THIS_ const char *name);
331 STDMETHOD_(D3DXHANDLE, GetAnnotationByName)(THIS_ D3DXHANDLE object, const char *name) PURE;
332 STDMETHOD(SetValue)(THIS_ D3DXHANDLE parameter, const void *data, UINT bytes) PURE;
333 STDMETHOD(GetValue)(THIS_ D3DXHANDLE parameter, void *data, UINT bytes) PURE;
335 STDMETHOD(GetBool)(THIS_ D3DXHANDLE parameter, BOOL* b) PURE;
337 STDMETHOD(GetBoolArray)(THIS_ D3DXHANDLE parameter, BOOL* b, UINT count) PURE;
339 STDMETHOD(GetInt)(THIS_ D3DXHANDLE parameter, INT* n) PURE;
340 STDMETHOD(SetIntArray)(THIS_ D3DXHANDLE parameter, const INT *n, UINT count) PURE;
341 STDMETHOD(GetIntArray)(THIS_ D3DXHANDLE parameter, INT* n, UINT count) PURE;
343 STDMETHOD(GetFloat)(THIS_ D3DXHANDLE parameter, FLOAT* f) PURE;
345 STDMETHOD(GetFloatArray)(THIS_ D3DXHANDLE parameter, FLOAT* f, UINT count) PURE;
347 STDMETHOD(GetVector)(THIS_ D3DXHANDLE parameter, D3DXVECTOR4* vector) PURE;
349 STDMETHOD(GetVectorArray)(THIS_ D3DXHANDLE parameter, D3DXVECTOR4* vector, UINT count) PURE;
353 STDMETHOD(GetMatrixArray)(THIS_ D3DXHANDLE parameter, D3DXMATRIX* matrix, UINT count) PURE;
355 STDMETHOD(GetMatrixPointerArray)(THIS_ D3DXHANDLE parameter, D3DXMATRIX** matrix, UINT count) PURE;
357 STDMETHOD(GetMatrixTranspose)(THIS_ D3DXHANDLE parameter, D3DXMATRIX* matrix) PURE;
359 STDMETHOD(GetMatrixTransposeArray)(THIS_ D3DXHANDLE parameter, D3DXMATRIX* matrix, UINT count) PURE;
361 STDMETHOD(GetMatrixTransposePointerArray)(THIS_ D3DXHANDLE parameter, D3DXMATRIX** matrix, UINT count) PURE;
362 STDMETHOD(SetString)(THIS_ D3DXHANDLE parameter, const char *string) PURE;
363 STDMETHOD(GetString)(THIS_ D3DXHANDLE parameter, const char **string) PURE;
364 STDMETHOD(SetTexture)(THIS_ D3DXHANDLE parameter, struct IDirect3DBaseTexture9 *texture) PURE;
365 STDMETHOD(GetTexture)(THIS_ D3DXHANDLE parameter, struct IDirect3DBaseTexture9 **texture) PURE;
366 STDMETHOD(GetPixelShader)(THIS_ D3DXHANDLE parameter, struct IDirect3DPixelShader9 **shader) PURE;
367 STDMETHOD(GetVertexShader)(THIS_ D3DXHANDLE parameter, struct IDirect3DVertexShader9 **shader) PURE;
368 STDMETHOD(SetArrayRange)(THIS_ D3DXHANDLE parameter, UINT start, UINT end) PURE;
369 /*** ID3DXEffectCompiler methods ***/
370 STDMETHOD(SetLiteral)(THIS_ D3DXHANDLE parameter, BOOL literal) PURE;
371 STDMETHOD(GetLiteral)(THIS_ D3DXHANDLE parameter, BOOL* literal) PURE;
372 STDMETHOD(CompileEffect)(THIS_ DWORD flags, ID3DXBuffer **effect, ID3DXBuffer **error_msgs) PURE;
373 STDMETHOD(CompileShader)(THIS_ D3DXHANDLE function, const char *target, DWORD flags,
374 ID3DXBuffer **shader, ID3DXBuffer **error_msgs, ID3DXConstantTable **constant_table) PURE;
375};
struct ID3DXBuffer ID3DXBuffer
Definition: d3dx8core.h:51
static ID3DXConstantTable ** constant_table
Definition: hlsl_d3d9.c:32
Definition: tools.h:99

◆ DECLARE_INTERFACE_() [4/5]

DECLARE_INTERFACE_ ( ID3DXEffectPool  ,
IUnknown   
)

Definition at line 85 of file d3dx9effect.h.

86{
87 /*** IUnknown methods ***/
91};

◆ DECLARE_INTERFACE_() [5/5]

DECLARE_INTERFACE_ ( ID3DXEffectStateManager  ,
IUnknown   
)

Definition at line 170 of file d3dx9effect.h.

171{
172 /*** IUnknown methods ***/
176 /*** ID3DXEffectStateManager methods ***/
178 STDMETHOD(SetMaterial)(THIS_ const D3DMATERIAL9 *material) PURE;
179 STDMETHOD(SetLight)(THIS_ DWORD index, const D3DLIGHT9 *light) PURE;
180 STDMETHOD(LightEnable)(THIS_ DWORD index, BOOL enable) PURE;
182 STDMETHOD(SetTexture)(THIS_ DWORD stage, struct IDirect3DBaseTexture9 *texture) PURE;
183 STDMETHOD(SetTextureStageState)(THIS_ DWORD stage, D3DTEXTURESTAGESTATETYPE type, DWORD value) PURE;
185 STDMETHOD(SetNPatchMode)(THIS_ FLOAT num_segments) PURE;
187 STDMETHOD(SetVertexShader)(THIS_ struct IDirect3DVertexShader9 *shader) PURE;
188 STDMETHOD(SetVertexShaderConstantF)(THIS_ UINT register_index, const FLOAT *constant_data, UINT register_count) PURE;
189 STDMETHOD(SetVertexShaderConstantI)(THIS_ UINT register_index, const INT *constant_data, UINT register_count) PURE;
190 STDMETHOD(SetVertexShaderConstantB)(THIS_ UINT register_index, const BOOL *constant_data, UINT register_count) PURE;
191 STDMETHOD(SetPixelShader)(THIS_ struct IDirect3DPixelShader9 *shader) PURE;
192 STDMETHOD(SetPixelShaderConstantF)(THIS_ UINT register_index, const FLOAT *constant_data, UINT register_count) PURE;
193 STDMETHOD(SetPixelShaderConstantI)(THIS_ UINT register_index, const INT *constant_data, UINT register_count) PURE;
194 STDMETHOD(SetPixelShaderConstantB)(THIS_ UINT register_index, const BOOL *constant_data, UINT register_count) PURE;
195};
static int state
Definition: maze.c:121
enum _D3DTEXTURESTAGESTATETYPE D3DTEXTURESTAGESTATETYPE
enum _D3DTRANSFORMSTATETYPE D3DTRANSFORMSTATETYPE
enum _D3DSAMPLERSTATETYPE D3DSAMPLERSTATETYPE
D3DRENDERSTATETYPE
Definition: d3dtypes.h:874
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
GLuint sampler
Definition: glext.h:7283
GLboolean enable
Definition: glext.h:11120
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 light
Definition: glfuncs.h:170
Definition: pdh_main.c:64

◆ DEFINE_GUID() [1/5]

DEFINE_GUID ( IID_ID3DXBaseEffect  ,
0x17c18ac  ,
0x103f  ,
0x4417  ,
0x8c  ,
0x51  ,
0x6b  ,
0xf6  ,
0xef  ,
0x1e  ,
0x56  ,
0xbe   
)

◆ DEFINE_GUID() [2/5]

DEFINE_GUID ( IID_ID3DXEffect  ,
0xf6ceb4b3  ,
0x4e4c  ,
0x40dd  ,
0xb8  ,
0x83  ,
0x8d  ,
0x8d  ,
0xe5  ,
0xea  ,
0x0c  ,
0xd5   
)

◆ DEFINE_GUID() [3/5]

DEFINE_GUID ( IID_ID3DXEffectCompiler  ,
0x51b8a949  ,
0x1a31  ,
0x47e6  ,
0xbe  ,
0xa0  ,
0x4b  ,
0x30  ,
0xdb  ,
0x53  ,
0xf1  ,
0xe0   
)

◆ DEFINE_GUID() [4/5]

DEFINE_GUID ( IID_ID3DXEffectPool  ,
0x9537ab04  ,
0x3250  ,
0x412e  ,
0x82  ,
0x13  ,
0xfc  ,
0xd2  ,
0xf8  ,
0x67  ,
0x79  ,
0x33   
)

◆ DEFINE_GUID() [5/5]

DEFINE_GUID ( IID_ID3DXEffectStateManager  ,
0x79aab587  ,
0x6dbc  ,
0x4fa7  ,
0x82  ,
0xde  ,
0x37  ,
0xfa  ,
0x17  ,
0x81  ,
0xc5  ,
0xce   
)