22#ifndef __WINE_D3DX9_PRIVATE_H
23#define __WINE_D3DX9_PRIVATE_H
26#define NONAMELESSUNION
29#include "wine/rbtree.h"
34#define ULONG64_MAX (~(ULONG64)0)
92 return !!
format->from_rgba;
163 return (
int)(*(
float *)
data);
183 return *(
float *)
data;
186 return (
float)(*(
int *)
data);
198 if (outtype == intype)
207 *(
float *)outdata =
get_float(intype, indata);
215 *(
int *)outdata =
get_int(intype, indata);
219 *(
DWORD *)outdata = 0;
363 return &
param->top_level_param->param ==
param;
381 if ((shared_data =
param->shared_data))
396#define SET_D3D_STATE_(_manager, _device, _method, ...) ((_manager) ? (_manager)->lpVtbl->_method((_manager), __VA_ARGS__) \
397 : (_device)->lpVtbl->_method((_device), __VA_ARGS__))
398#define SET_D3D_STATE(_base_effect, _method, ...) SET_D3D_STATE_((_base_effect)->manager, (_base_effect)->device, _method, __VA_ARGS__)
400#define SET_D3D_STATE_(manager, device, method, args...) (manager ? manager->lpVtbl->method(manager, args) \
401 : device->lpVtbl->method(device, args))
402#define SET_D3D_STATE(base_effect, args...) SET_D3D_STATE_(base_effect->manager, base_effect->device, args)
408 const char **skip_constants,
unsigned int skip_constants_count)
DECLSPEC_HIDDEN;
enum _D3DFORMAT D3DFORMAT
struct ID3DXBuffer ID3DXBuffer
static BOOL is_param_type_sampler(D3DXPARAMETER_TYPE type)
void copy_pixels(const BYTE *src, UINT src_row_pitch, UINT src_slice_pitch, BYTE *dst, UINT dst_row_pitch, UINT dst_slice_pitch, const struct volume *size, const struct pixel_format_desc *format) DECLSPEC_HIDDEN
static int get_int(D3DXPARAMETER_TYPE type, const void *data)
static struct d3dx_top_level_parameter * top_level_parameter_from_parameter(struct d3dx_parameter *param)
static BOOL is_param_dirty(struct d3dx_parameter *param, ULONG64 update_version)
static BOOL get_bool(D3DXPARAMETER_TYPE type, const void *data)
static ULONG64 next_update_version(ULONG64 *version_counter)
HRESULT lock_surface(IDirect3DSurface9 *surface, const RECT *surface_rect, D3DLOCKED_RECT *lock, IDirect3DSurface9 **temp_surface, BOOL write) DECLSPEC_HIDDEN
static BOOL is_conversion_to_supported(const struct pixel_format_desc *format)
const struct pixel_format_desc * get_format_info_idx(int idx) DECLSPEC_HIDDEN
HRESULT d3dx_param_eval_set_shader_constants(ID3DXEffectStateManager *manager, struct IDirect3DDevice9 *device, struct d3dx_param_eval *peval, BOOL update_all) DECLSPEC_HIDDEN
HRESULT unlock_surface(IDirect3DSurface9 *surface, const RECT *surface_rect, IDirect3DSurface9 *temp_surface, BOOL update) DECLSPEC_HIDDEN
HRESULT d3dx_create_param_eval(struct d3dx_effect *effect, void *byte_code, unsigned int byte_code_size, D3DXPARAMETER_TYPE type, struct d3dx_param_eval **peval, ULONG64 *version_counter, const char **skip_constants, unsigned int skip_constants_count) DECLSPEC_HIDDEN
HRESULT map_view_of_file(const WCHAR *filename, void **buffer, DWORD *length) DECLSPEC_HIDDEN
HRESULT load_volume_from_dds(IDirect3DVolume9 *dst_volume, const PALETTEENTRY *dst_palette, const D3DBOX *dst_box, const void *src_data, const D3DBOX *src_box, DWORD filter, D3DCOLOR color_key, const D3DXIMAGE_INFO *src_info) DECLSPEC_HIDDEN
static float get_float(D3DXPARAMETER_TYPE type, const void *data)
const char * debug_d3dxparameter_type(D3DXPARAMETER_TYPE t) DECLSPEC_HIDDEN
void d3dx_free_param_eval(struct d3dx_param_eval *peval) DECLSPEC_HIDDEN
HRESULT save_dds_texture_to_memory(ID3DXBuffer **dst_buffer, IDirect3DBaseTexture9 *src_texture, const PALETTEENTRY *src_palette) DECLSPEC_HIDDEN
static void set_number(void *outdata, D3DXPARAMETER_TYPE outtype, const void *indata, D3DXPARAMETER_TYPE intype)
HRESULT d3dx_evaluate_parameter(struct d3dx_param_eval *peval, const struct d3dx_parameter *param, void *param_value) DECLSPEC_HIDDEN
BOOL is_param_eval_input_dirty(struct d3dx_param_eval *peval, ULONG64 update_version) DECLSPEC_HIDDEN
unsigned short float_32_to_16(const float in) DECLSPEC_HIDDEN
const struct pixel_format_desc * get_format_info(D3DFORMAT format) DECLSPEC_HIDDEN
struct d3dx_parameter * get_parameter_by_name(struct d3dx_effect *effect, struct d3dx_parameter *parameter, const char *name) DECLSPEC_HIDDEN
static BOOL is_top_level_parameter(struct d3dx_parameter *param)
HRESULT load_resource_into_memory(HMODULE module, HRSRC resinfo, void **buffer, DWORD *length) DECLSPEC_HIDDEN
float float_16_to_32(const unsigned short in) DECLSPEC_HIDDEN
const char * debug_d3dxparameter_class(D3DXPARAMETER_CLASS c) DECLSPEC_HIDDEN
HRESULT write_buffer_to_file(const WCHAR *filename, ID3DXBuffer *buffer) DECLSPEC_HIDDEN
void point_filter_argb_pixels(const BYTE *src, UINT src_row_pitch, UINT src_slice_pitch, const struct volume *src_size, const struct pixel_format_desc *src_format, BYTE *dst, UINT dst_row_pitch, UINT dst_slice_pitch, const struct volume *dst_size, const struct pixel_format_desc *dst_format, D3DCOLOR color_key, const PALETTEENTRY *palette) DECLSPEC_HIDDEN
CRITICAL_SECTION from_file_mutex DECLSPEC_HIDDEN
const struct ctab_constant * d3dx_shader_get_ctab_constant(ID3DXConstantTable *iface, D3DXHANDLE constant) DECLSPEC_HIDDEN
static BOOL is_conversion_from_supported(const struct pixel_format_desc *format)
HRESULT load_cube_texture_from_dds(IDirect3DCubeTexture9 *cube_texture, const void *src_data, const PALETTEENTRY *palette, DWORD filter, D3DCOLOR color_key, const D3DXIMAGE_INFO *src_info) DECLSPEC_HIDDEN
@ PRES_REGTAB_FIRST_SHADER
HRESULT load_volume_texture_from_dds(IDirect3DVolumeTexture9 *volume_texture, const void *src_data, const PALETTEENTRY *palette, DWORD filter, DWORD color_key, const D3DXIMAGE_INFO *src_info) DECLSPEC_HIDDEN
static uint32_t make_pow2(uint32_t num)
void convert_argb_pixels(const BYTE *src, UINT src_row_pitch, UINT src_slice_pitch, const struct volume *src_size, const struct pixel_format_desc *src_format, BYTE *dst, UINT dst_row_pitch, UINT dst_slice_pitch, const struct volume *dst_size, const struct pixel_format_desc *dst_format, D3DCOLOR color_key, const PALETTEENTRY *palette) DECLSPEC_HIDDEN
static BOOL is_top_level_param_dirty(struct d3dx_top_level_parameter *param, ULONG64 update_version)
HRESULT load_texture_from_dds(IDirect3DTexture9 *texture, const void *src_data, const PALETTEENTRY *palette, DWORD filter, D3DCOLOR color_key, const D3DXIMAGE_INFO *src_info, unsigned int skip_levels, unsigned int *loaded_miplevels) DECLSPEC_HIDDEN
const char * debug_d3dxparameter_registerset(D3DXREGISTER_SET r) DECLSPEC_HIDDEN
enum _D3DXREGISTER_SET D3DXREGISTER_SET
CRITICAL_SECTION from_file_mutex
const struct ID3DXIncludeVtbl d3dx_include_from_file_vtbl
GLuint GLuint GLsizei GLenum type
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLdouble GLdouble GLdouble r
GLenum GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * bits
GLint GLint GLint GLint GLint GLint GLint GLbitfield GLenum filter
GLuint GLsizei GLsizei * length
static const char * dst_format
struct ctab_constant * constants
WORD constantinfo_reserved
unsigned int register_index
enum D3DXPARAMETER_CLASS constant_class
enum pres_reg_tables table
unsigned int register_count
struct d3dx_parameter * param
unsigned int element_count
struct d3dx_parameter ** inputs_param
struct d3dx_const_param_eval_output * const_set
unsigned int const_set_count
unsigned int const_set_size
D3DXCONSTANT_DESC * inputs
enum pres_reg_tables * regset2table
ID3DXInclude ID3DXInclude_iface
struct d3dx_const_tab shader_inputs
struct d3dx_preshader pres
ULONG64 * version_counter
D3DXPARAMETER_TYPE param_type
struct d3dx_parameter * members
struct d3dx_param_eval * param_eval
struct wine_rb_entry rb_entry
struct d3dx_top_level_parameter * top_level_param
struct d3dx_const_tab inputs
struct d3dx_pres_ins * ins
struct d3dx_regstore regs
void * tables[PRES_REGTAB_COUNT]
unsigned int table_sizes[PRES_REGTAB_COUNT]
struct d3dx_top_level_parameter ** parameters
struct d3dx_shared_data * shared_data
struct d3dx_parameter * annotations
ULONG64 * version_counter
struct wine_rb_entry entry
struct d3dx_parameter * param
#define CONTAINING_RECORD(address, type, field)