ReactOS 0.4.17-dev-966-gf06eace
d3dx9_private.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2002 Raphael Junqueira
3 * Copyright (C) 2008 David Adam
4 * Copyright (C) 2008 Tony Wasserka
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 *
20 */
21
22#ifndef __WINE_D3DX9_PRIVATE_H
23#define __WINE_D3DX9_PRIVATE_H
24
25#include <stdint.h>
26#include "wine/debug.h"
27#include "wine/rbtree.h"
28
29#define COBJMACROS
30#include "d3dx9.h"
31
32#define ULONG64_MAX (~(ULONG64)0)
33
34#define FOURCC_TX_1 0x54580100
35
36#define D3DX9_FILTER_INVALID_BITS 0xff80fff8
38{
39 if ((filter & D3DX9_FILTER_INVALID_BITS) || !(filter & 0x7) || ((filter & 0x7) > D3DX_FILTER_BOX))
40 return D3DERR_INVALIDCALL;
41
42 return D3D_OK;
43}
44
46{
47 if (*filter == D3DX_DEFAULT)
49
51}
52
53struct vec4
54{
55 float x, y, z, w;
56};
57
58enum range {
62};
63
65{
66 struct vec4 value;
69};
70
71static inline void set_d3dx_color(struct d3dx_color *color, const struct vec4 *value, enum range rgb_range,
72 enum range a_range)
73{
74 color->value = *value;
75 color->rgb_range = rgb_range;
76 color->a_range = a_range;
77}
78
79struct volume
80{
84};
85
87{
91}
92
93/* These values act as indexes into the pixel_format_desc table. */
95{
142};
143
144/* for internal use */
146{
153};
154
156{
159 /* Internal only format, has no exact D3DFORMAT equivalent. */
161};
162
174};
175
177{
178 const void *data;
182
183 struct volume size;
185};
186
187static inline void set_d3dx_pixels(struct d3dx_pixels *pixels, const void *data, uint32_t row_pitch,
189 const RECT *unaligned_rect)
190{
191 pixels->data = data;
192 pixels->row_pitch = row_pitch;
193 pixels->slice_pitch = slice_pitch;
194 pixels->palette = palette;
196 pixels->unaligned_rect = *unaligned_rect;
197}
198
199#define D3DX_IMAGE_INFO_ONLY 1
201{
204
205 struct volume size;
208
212
213 /*
214 * image_buf and image_palette are pointers to allocated memory used to store
215 * image data. If they are non-NULL, they need to be freed when no longer
216 * in use.
217 */
220
222};
223
224HRESULT d3dx_image_init(const void *src_data, uint32_t src_data_size, struct d3dx_image *image,
225 uint32_t starting_mip_level, uint32_t flags);
228 struct d3dx_pixels *pixels);
230
232{
233 ID3DXInclude ID3DXInclude_iface;
234};
235
237extern const struct ID3DXIncludeVtbl d3dx_include_from_file_vtbl;
238
239static inline BOOL is_unknown_format(const struct pixel_format_desc *format)
240{
241 return (format->format == D3DX_PIXEL_FORMAT_COUNT);
242}
243
244static inline BOOL is_index_format(const struct pixel_format_desc *format)
245{
246 return (format->a_type == CTYPE_INDEX || format->rgb_type == CTYPE_INDEX);
247}
248
250{
251 return !!(format->flags & FMT_FLAG_DXT);
252}
253
254static inline BOOL is_packed_format(const struct pixel_format_desc *format)
255{
256 return !!(format->flags & FMT_FLAG_PACKED);
257}
258
259static inline BOOL format_types_match(const struct pixel_format_desc *src, const struct pixel_format_desc *dst)
260{
261 if ((src->a_type && dst->a_type) && (src->a_type != dst->a_type))
262 return FALSE;
263
264 if ((src->rgb_type && dst->rgb_type) && (src->rgb_type != dst->rgb_type))
265 return FALSE;
266
267 if (src->flags != dst->flags)
268 return FALSE;
269
270 return (src->rgb_type == dst->rgb_type || src->a_type == dst->a_type);
271}
272
274{
275 return !!(format->flags & FMT_FLAG_INTERNAL);
276}
277
279{
281}
282
284{
286}
287
290
292
297const struct pixel_format_desc *get_format_info_idx(int idx);
298
299void format_to_d3dx_color(const struct pixel_format_desc *format, const BYTE *src, const PALETTEENTRY *palette,
300 struct d3dx_color *dst);
301void format_from_d3dx_color(const struct pixel_format_desc *format, const struct d3dx_color *src, BYTE *dst);
302
303void copy_pixels(const BYTE *src, UINT src_row_pitch, UINT src_slice_pitch,
304 BYTE *dst, UINT dst_row_pitch, UINT dst_slice_pitch, const struct volume *size,
305 const struct pixel_format_desc *format);
306void convert_argb_pixels(const BYTE *src, UINT src_row_pitch, UINT src_slice_pitch,
307 const struct volume *src_size, const struct pixel_format_desc *src_format,
308 BYTE *dst, UINT dst_row_pitch, UINT dst_slice_pitch, const struct volume *dst_size,
310void point_filter_argb_pixels(const BYTE *src, UINT src_row_pitch, UINT src_slice_pitch,
311 const struct volume *src_size, const struct pixel_format_desc *src_format,
312 BYTE *dst, UINT dst_row_pitch, UINT dst_slice_pitch, const struct volume *dst_size,
314
315HRESULT lock_surface(IDirect3DSurface9 *surface, const RECT *surface_rect, D3DLOCKED_RECT *lock,
316 IDirect3DSurface9 **temp_surface, BOOL write);
317HRESULT unlock_surface(IDirect3DSurface9 *surface, const RECT *surface_rect,
318 IDirect3DSurface9 *temp_surface, BOOL update);
319HRESULT d3dx_pixels_init(const void *data, uint32_t row_pitch, uint32_t slice_pitch,
323 const struct pixel_format_desc *dst_desc, struct d3dx_pixels *src_pixels,
324 const struct pixel_format_desc *src_desc, uint32_t filter_flags, uint32_t color_key);
326 const struct pixel_format_desc *fmt_desc, RECT *aligned_rect);
327
328unsigned short float_32_to_16(const float in);
329float float_16_to_32(const unsigned short in);
330
331/* debug helpers */
335
336/* parameter type conversion helpers */
337static inline BOOL get_bool(D3DXPARAMETER_TYPE type, const void *data)
338{
339 switch (type)
340 {
341 case D3DXPT_FLOAT:
342 case D3DXPT_INT:
343 case D3DXPT_BOOL:
344 return !!*(DWORD *)data;
345
346 case D3DXPT_VOID:
347 return *(BOOL *)data;
348
349 default:
350 return FALSE;
351 }
352}
353
354static inline int get_int(D3DXPARAMETER_TYPE type, const void *data)
355{
356 switch (type)
357 {
358 case D3DXPT_FLOAT:
359 return (int)(*(float *)data);
360
361 case D3DXPT_INT:
362 case D3DXPT_VOID:
363 return *(int *)data;
364
365 case D3DXPT_BOOL:
366 return get_bool(type, data);
367
368 default:
369 return 0;
370 }
371}
372
373static inline float get_float(D3DXPARAMETER_TYPE type, const void *data)
374{
375 switch (type)
376 {
377 case D3DXPT_FLOAT:
378 case D3DXPT_VOID:
379 return *(float *)data;
380
381 case D3DXPT_INT:
382 return (float)(*(int *)data);
383
384 case D3DXPT_BOOL:
385 return (float)get_bool(type, data);
386
387 default:
388 return 0.0f;
389 }
390}
391
392static inline void set_number(void *outdata, D3DXPARAMETER_TYPE outtype, const void *indata, D3DXPARAMETER_TYPE intype)
393{
394 if (outtype == intype)
395 {
396 *(DWORD *)outdata = *(DWORD *)indata;
397 return;
398 }
399
400 switch (outtype)
401 {
402 case D3DXPT_FLOAT:
403 *(float *)outdata = get_float(intype, indata);
404 break;
405
406 case D3DXPT_BOOL:
407 *(BOOL *)outdata = get_bool(intype, indata);
408 break;
409
410 case D3DXPT_INT:
411 *(int *)outdata = get_int(intype, indata);
412 break;
413
414 default:
415 *(DWORD *)outdata = 0;
416 break;
417 }
418}
419
421{
422 return type == D3DXPT_SAMPLER
425}
426
427/* Returns the smallest power of 2 which is greater than or equal to num */
429{
430 DWORD index;
431
432 return BitScanReverse(&index, num - 1) ? 1u << (index + 1) : 1;
433}
434
435struct d3dx_parameter;
436
438{
448};
449
451{
455 unsigned int register_index;
456 unsigned int register_count;
458 unsigned int element_count;
459};
460
462{
463 unsigned int input_count;
466 unsigned int const_set_count;
467 unsigned int const_set_size;
471};
472
474{
476 unsigned int table_sizes[PRES_REGTAB_COUNT]; /* registers count */
477};
478
479struct d3dx_pres_ins;
480
482{
484
485 unsigned int ins_count;
487
489};
490
492{
494
497
499};
500
502{
506};
507
508struct d3dx_shared_data;
510
512{
516 char *name;
517 void *data;
520 unsigned int rows;
521 unsigned int columns;
522 unsigned int element_count;
523 unsigned int member_count;
525 unsigned int bytes;
526 unsigned int object_id;
527
529 char *semantic;
530
533};
534
536{
538 unsigned int annotation_count;
543};
544
546{
547 void *data;
549 unsigned int size, count;
551};
552
553struct d3dx_effect;
554
556{
557 return &param->top_level_param->param == param;
558}
559
560static inline struct d3dx_top_level_parameter
562{
564}
565
567{
568 return ++*version_counter;
569}
570
572{
573 struct d3dx_shared_data *shared_data;
574
575 if ((shared_data = param->shared_data))
576 return update_version < shared_data->update_version;
577 else
578 return update_version < param->update_version;
579}
580
582{
583 return is_top_level_param_dirty(param->top_level_param, update_version);
584}
585
587{
590 unsigned int count;
591
593 unsigned int full_name_tmp_size;
594};
595
599 struct d3dx_parameter *parameter, const char *name);
600
601#define SET_D3D_STATE_(manager, device, method, ...) (manager ? manager->lpVtbl->method(manager, __VA_ARGS__) \
602 : device->lpVtbl->method(device, __VA_ARGS__))
603#ifdef __REACTOS__
604/* VS19.24 build hack */
605#define EXPAND_VA_(x) x
606#define SET_D3D_STATE(base_effect, ...) \
607 EXPAND_VA_(SET_D3D_STATE_(base_effect->manager, base_effect->device, __VA_ARGS__))
608#else
609#define SET_D3D_STATE(base_effect, ...) SET_D3D_STATE_(base_effect->manager, base_effect->device, __VA_ARGS__)
610#endif
611
613 unsigned int byte_code_size, D3DXPARAMETER_TYPE type,
614 struct d3dx_param_eval **peval, ULONG64 *version_counter,
615 const char **skip_constants, unsigned int skip_constants_count);
616void d3dx_free_param_eval(struct d3dx_param_eval *peval);
618 const struct d3dx_parameter *param, void *param_value);
619HRESULT d3dx_param_eval_set_shader_constants(ID3DXEffectStateManager *manager, struct IDirect3DDevice9 *device,
620 struct d3dx_param_eval *peval, BOOL update_all);
621BOOL is_param_eval_input_dirty(struct d3dx_param_eval *peval, ULONG64 update_version);
622
627};
628
629const struct ctab_constant *d3dx_shader_get_ctab_constant(ID3DXConstantTable *iface,
631
632#endif /* __WINE_D3DX9_PRIVATE_H */
#define write
Definition: acwin.h:98
#define index(s, c)
Definition: various.h:29
#define D3DERR_INVALIDCALL
Definition: d3d10_private.h:42
enum _D3DRESOURCETYPE D3DRESOURCETYPE
enum _D3DFORMAT D3DFORMAT
#define D3D_OK
Definition: d3d.h:106
struct ID3DXBuffer ID3DXBuffer
Definition: d3dx8core.h:51
const struct ctab_constant * d3dx_shader_get_ctab_constant(ID3DXConstantTable *iface, D3DXHANDLE constant)
Definition: shader.c:969
static BOOL is_param_type_sampler(D3DXPARAMETER_TYPE type)
HRESULT d3dx_param_eval_set_shader_constants(ID3DXEffectStateManager *manager, struct IDirect3DDevice9 *device, struct d3dx_param_eval *peval, BOOL update_all)
Definition: preshader.c:1755
void format_from_d3dx_color(const struct pixel_format_desc *format, const struct d3dx_color *src, BYTE *dst)
Definition: surface.c:2051
#define D3DX9_FILTER_INVALID_BITS
Definition: d3dx9_private.h:36
HRESULT unlock_surface(IDirect3DSurface9 *surface, const RECT *surface_rect, IDirect3DSurface9 *temp_surface, BOOL update)
Definition: surface.c:214
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)
const struct pixel_format_desc * get_format_info(D3DFORMAT format)
Definition: util.c:312
static BOOL get_bool(D3DXPARAMETER_TYPE type, const void *data)
static ULONG64 next_update_version(ULONG64 *version_counter)
static BOOL is_conversion_to_supported(const struct pixel_format_desc *format)
static BOOL format_types_match(const struct pixel_format_desc *src, const struct pixel_format_desc *dst)
static BOOL is_index_format(const struct pixel_format_desc *format)
void get_aligned_rect(uint32_t left, uint32_t top, uint32_t right, uint32_t bottom, uint32_t width, uint32_t height, const struct pixel_format_desc *fmt_desc, RECT *aligned_rect)
Definition: surface.c:2654
CRITICAL_SECTION from_file_mutex
Definition: shader.c:242
BOOL is_param_eval_input_dirty(struct d3dx_param_eval *peval, ULONG64 update_version)
Definition: preshader.c:1716
HRESULT lock_surface(IDirect3DSurface9 *surface, const RECT *surface_rect, D3DLOCKED_RECT *lock, IDirect3DSurface9 **temp_surface, BOOL write)
Definition: surface.c:156
HRESULT map_view_of_file(const WCHAR *filename, void **buffer, DWORD *length)
Definition: util.c:211
static BOOL is_unknown_format(const struct pixel_format_desc *format)
float float_16_to_32(const unsigned short in)
Definition: math.c:2203
static float get_float(D3DXPARAMETER_TYPE type, const void *data)
HRESULT d3dx_load_pixels_from_pixels(struct d3dx_pixels *dst_pixels, const struct pixel_format_desc *dst_desc, struct d3dx_pixels *src_pixels, const struct pixel_format_desc *src_desc, uint32_t filter_flags, uint32_t color_key)
Definition: surface.c:2498
static void set_number(void *outdata, D3DXPARAMETER_TYPE outtype, const void *indata, D3DXPARAMETER_TYPE intype)
component_type
@ CTYPE_INDEX
@ CTYPE_SNORM
@ CTYPE_FLOAT
@ CTYPE_LUMA
@ CTYPE_EMPTY
@ CTYPE_UNORM
static void set_volume_struct(struct volume *volume, uint32_t width, uint32_t height, uint32_t depth)
Definition: d3dx9_private.h:86
struct d3dx_parameter * get_parameter_by_name(struct d3dx_parameters_store *store, struct d3dx_parameter *parameter, const char *name)
Definition: effect.c:1041
void d3dx_image_cleanup(struct d3dx_image *image)
Definition: surface.c:1392
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)
Definition: surface.c:2180
HRESULT write_buffer_to_file(const WCHAR *filename, ID3DXBuffer *buffer)
Definition: util.c:277
HRESULT d3dx_evaluate_parameter(struct d3dx_param_eval *peval, const struct d3dx_parameter *param, void *param_value)
Definition: preshader.c:1722
const char * debug_d3dxparameter_type(D3DXPARAMETER_TYPE t)
Definition: util.c:344
range
Definition: d3dx9_private.h:58
@ RANGE_SNORM
Definition: d3dx9_private.h:61
@ RANGE_FULL
Definition: d3dx9_private.h:59
@ RANGE_UNORM
Definition: d3dx9_private.h:60
void format_to_d3dx_color(const struct pixel_format_desc *format, const BYTE *src, const PALETTEENTRY *palette, struct d3dx_color *dst)
Definition: surface.c:1978
const struct pixel_format_desc * get_d3dx_pixel_format_info(enum d3dx_pixel_format_id format)
Definition: util.c:297
static void set_d3dx_color(struct d3dx_color *color, const struct vec4 *value, enum range rgb_range, enum range a_range)
Definition: d3dx9_private.h:71
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)
Definition: surface.c:2149
static BOOL is_top_level_parameter(struct d3dx_parameter *param)
static HRESULT d3dx9_handle_load_filter(DWORD *filter)
Definition: d3dx9_private.h:45
format_flag
@ FMT_FLAG_INTERNAL
@ FMT_FLAG_PACKED
@ FMT_FLAG_DXT
static void set_d3dx_pixels(struct d3dx_pixels *pixels, const void *data, uint32_t row_pitch, uint32_t slice_pitch, const PALETTEENTRY *palette, uint32_t width, uint32_t height, uint32_t depth, const RECT *unaligned_rect)
HRESULT d3dx_image_init(const void *src_data, uint32_t src_data_size, struct d3dx_image *image, uint32_t starting_mip_level, uint32_t flags)
Definition: surface.c:1332
const struct pixel_format_desc * get_format_info_idx(int idx)
Definition: util.c:321
static BOOL is_internal_format(const struct pixel_format_desc *format)
static HRESULT d3dx9_validate_filter(uint32_t filter)
Definition: d3dx9_private.h:37
const char * debug_d3dxparameter_registerset(D3DXREGISTER_SET r)
Definition: util.c:374
HRESULT d3dx_create_param_eval(struct d3dx_parameters_store *parameters, 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)
Definition: preshader.c:1232
HRESULT d3dx_init_parameters_store(struct d3dx_parameters_store *store, unsigned int count)
Definition: effect.c:743
static BOOL is_conversion_from_supported(const struct pixel_format_desc *format)
void d3dx_free_param_eval(struct d3dx_param_eval *peval)
Definition: preshader.c:1357
pres_reg_tables
@ PRES_REGTAB_COUNT
@ PRES_REGTAB_FIRST_SHADER
@ PRES_REGTAB_OICONST
@ PRES_REGTAB_IMMED
@ PRES_REGTAB_TEMP
@ PRES_REGTAB_CONST
@ PRES_REGTAB_INPUT
@ PRES_REGTAB_OCONST
@ PRES_REGTAB_OBCONST
HRESULT d3dx_image_get_pixels(struct d3dx_image *image, uint32_t layer, uint32_t mip_level, struct d3dx_pixels *pixels)
Definition: surface.c:1398
enum d3dx_pixel_format_id d3dx_pixel_format_id_from_d3dformat(D3DFORMAT format)
Definition: util.c:138
const struct ID3DXIncludeVtbl d3dx_include_from_file_vtbl
Definition: shader.c:328
static uint32_t make_pow2(uint32_t num)
void d3dx_parameters_store_cleanup(struct d3dx_parameters_store *store)
Definition: effect.c:754
static BOOL is_compressed_format(const struct pixel_format_desc *format)
D3DFORMAT d3dformat_from_d3dx_pixel_format_id(enum d3dx_pixel_format_id format)
Definition: util.c:83
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)
Definition: surface.c:2280
HRESULT d3dx_pixels_init(const void *data, uint32_t row_pitch, uint32_t slice_pitch, const PALETTEENTRY *palette, enum d3dx_pixel_format_id format, uint32_t left, uint32_t top, uint32_t right, uint32_t bottom, uint32_t front, uint32_t back, struct d3dx_pixels *pixels)
Definition: surface.c:2450
static BOOL is_packed_format(const struct pixel_format_desc *format)
static BOOL is_top_level_param_dirty(struct d3dx_top_level_parameter *param, ULONG64 update_version)
const char * debug_d3dxparameter_class(D3DXPARAMETER_CLASS c)
Definition: util.c:328
HRESULT load_resource_into_memory(HMODULE module, HRSRC resinfo, void **buffer, DWORD *length)
Definition: util.c:261
d3dx_pixel_format_id
Definition: d3dx9_private.h:95
@ D3DX_PIXEL_FORMAT_R16G16B16A16_UNORM
@ D3DX_PIXEL_FORMAT_R32G32_FLOAT
@ D3DX_PIXEL_FORMAT_U10V10W10_SNORM_A2_UNORM
@ D3DX_PIXEL_FORMAT_DXT4_UNORM
@ D3DX_PIXEL_FORMAT_B2G3R3_UNORM
@ D3DX_PIXEL_FORMAT_U8V8_SNORM_L8X8_UNORM
@ D3DX_PIXEL_FORMAT_B5G5R5A1_UNORM
@ D3DX_PIXEL_FORMAT_R32G32B32A32_FLOAT
@ D3DX_PIXEL_FORMAT_U8V8W8Q8_SNORM
@ D3DX_PIXEL_FORMAT_R16G16_UNORM
@ D3DX_PIXEL_FORMAT_B5G6R5_UNORM
@ D3DX_PIXEL_FORMAT_B10G10R10A2_UNORM
@ D3DX_PIXEL_FORMAT_A8_UNORM
@ D3DX_PIXEL_FORMAT_G8R8_G8B8_UNORM
@ D3DX_PIXEL_FORMAT_R16G16B16A16_FLOAT
@ D3DX_PIXEL_FORMAT_B8G8R8_UNORM
Definition: d3dx9_private.h:96
@ D3DX_PIXEL_FORMAT_R8G8B8X8_UNORM
@ D3DX_PIXEL_FORMAT_R16G16B16_UNORM
@ D3DX_PIXEL_FORMAT_B2G3R3A8_UNORM
@ D3DX_PIXEL_FORMAT_UYVY
@ D3DX_PIXEL_FORMAT_U16V16_SNORM
@ D3DX_PIXEL_FORMAT_U16V16W16Q16_SNORM
@ D3DX_PIXEL_FORMAT_R16_FLOAT
@ D3DX_PIXEL_FORMAT_P8_UINT_A8_UNORM
@ D3DX_PIXEL_FORMAT_B4G4R4A4_UNORM
@ D3DX_PIXEL_FORMAT_B5G5R5X1_UNORM
@ D3DX_PIXEL_FORMAT_U8V8_SNORM
@ D3DX_PIXEL_FORMAT_B8G8R8X8_UNORM
Definition: d3dx9_private.h:98
@ D3DX_PIXEL_FORMAT_R8G8B8A8_UNORM
Definition: d3dx9_private.h:99
@ D3DX_PIXEL_FORMAT_DXT3_UNORM
@ D3DX_PIXEL_FORMAT_DXT2_UNORM
@ D3DX_PIXEL_FORMAT_COUNT
@ D3DX_PIXEL_FORMAT_R10G10B10A2_UNORM
@ D3DX_PIXEL_FORMAT_R16G16_FLOAT
@ D3DX_PIXEL_FORMAT_L8_UNORM
@ D3DX_PIXEL_FORMAT_YUY2
@ D3DX_PIXEL_FORMAT_R32_FLOAT
@ D3DX_PIXEL_FORMAT_L4A4_UNORM
@ D3DX_PIXEL_FORMAT_P8_UINT
@ D3DX_PIXEL_FORMAT_DXT1_UNORM
@ D3DX_PIXEL_FORMAT_L8A8_UNORM
@ D3DX_PIXEL_FORMAT_DXT5_UNORM
@ D3DX_PIXEL_FORMAT_L16_UNORM
@ D3DX_PIXEL_FORMAT_B8G8R8A8_UNORM
Definition: d3dx9_private.h:97
@ D3DX_PIXEL_FORMAT_B4G4R4X4_UNORM
@ D3DX_PIXEL_FORMAT_R8G8_B8G8_UNORM
unsigned short float_32_to_16(const float in)
Definition: math.c:2102
void d3dximage_info_from_d3dx_image(D3DXIMAGE_INFO *info, struct d3dx_image *image)
Definition: surface.c:1441
#define FALSE
Definition: types.h:117
UINT32 uint32_t
Definition: types.h:75
unsigned int idx
Definition: utils.c:40
D3DXIMAGE_FILEFORMAT
Definition: dx8vb.idl:61
#define D3DX_DEFAULT
Definition: d3dx9.h:24
D3DXPARAMETER_CLASS
Definition: d3dx9shader.h:61
const char * D3DXHANDLE
Definition: d3dx9shader.h:48
enum _D3DXREGISTER_SET D3DXREGISTER_SET
D3DXPARAMETER_TYPE
Definition: d3dx9shader.h:72
@ D3DXPT_SAMPLER3D
Definition: d3dx9shader.h:86
@ D3DXPT_SAMPLERCUBE
Definition: d3dx9shader.h:87
@ D3DXPT_FLOAT
Definition: d3dx9shader.h:76
@ D3DXPT_BOOL
Definition: d3dx9shader.h:74
@ D3DXPT_INT
Definition: d3dx9shader.h:75
@ D3DXPT_VOID
Definition: d3dx9shader.h:73
@ D3DXPT_SAMPLER
Definition: d3dx9shader.h:83
@ D3DXPT_SAMPLER1D
Definition: d3dx9shader.h:84
@ D3DXPT_SAMPLER2D
Definition: d3dx9shader.h:85
#define D3DX_FILTER_BOX
Definition: d3dx9tex.h:31
#define D3DX_FILTER_TRIANGLE
Definition: d3dx9tex.h:30
#define D3DX_FILTER_DITHER
Definition: d3dx9tex.h:36
DWORD IDirect3DSurface9
Definition: dxva2api.idl:23
DWORD IDirect3DDevice9
Definition: dxva2api.idl:22
unsigned short WORD
Definition: ntddk_ex.h:93
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
GLint GLint GLsizei GLsizei GLsizei depth
Definition: gl.h:1546
GLuint GLuint GLsizei count
Definition: gl.h:1545
GLint GLint GLsizei GLsizei height
Definition: gl.h:1546
GLint GLint GLsizei GLsizei GLsizei GLint GLenum GLenum const GLvoid * pixels
Definition: gl.h:1546
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
GLdouble GLdouble GLdouble r
Definition: gl.h:2055
GLdouble GLdouble t
Definition: gl.h:2047
GLint GLint GLsizei width
Definition: gl.h:1546
GLenum src
Definition: glext.h:6340
GLuint buffer
Definition: glext.h:5915
GLsizeiptr size
Definition: glext.h:5919
GLuint color
Definition: glext.h:6243
const GLubyte * c
Definition: glext.h:8905
GLuint index
Definition: glext.h:6031
GLdouble GLdouble GLdouble GLdouble top
Definition: glext.h:10859
GLdouble GLdouble right
Definition: glext.h:10859
GLuint in
Definition: glext.h:9616
GLenum GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * bits
Definition: glext.h:10929
GLint left
Definition: glext.h:7726
GLenum GLenum dst
Definition: glext.h:6340
GLbitfield flags
Definition: glext.h:7161
GLuint GLsizei GLsizei * length
Definition: glext.h:6040
GLint GLint bottom
Definition: glext.h:7726
GLenum GLuint GLint GLint layer
Definition: glext.h:7007
GLuint GLuint num
Definition: glext.h:9618
GLfloat param
Definition: glext.h:5796
unsigned int UINT
Definition: sysinfo.c:13
#define BitScanReverse
Definition: interlocked.h:6
const char * filename
Definition: ioapi.h:137
unsigned __int64 ULONG64
Definition: imports.h:198
static const char * dst_format
Definition: dib.c:1339
static HPALETTE palette
Definition: clipboard.c:1457
static BYTE parameters[]
Definition: asn.c:558
short WCHAR
Definition: pedump.c:58
static struct address_cache * front
Definition: rpcb_clnt.c:83
#define wine_rb_entry
Definition: rbtree.h:404
#define wine_rb_tree
Definition: rbtree.h:405
Definition: dcommon.idl:28
struct ctab_constant * constants
WORD constantinfo_reserved
D3DXCONSTANT_DESC desc
enum range rgb_range
Definition: d3dx9_private.h:67
enum range a_range
Definition: d3dx9_private.h:68
enum D3DXPARAMETER_CLASS constant_class
enum pres_reg_tables table
struct d3dx_parameter * param
struct d3dx_parameter ** inputs_param
struct d3dx_const_param_eval_output * const_set
unsigned int const_set_count
ULONG64 update_version
unsigned int const_set_size
D3DXCONSTANT_DESC * inputs
unsigned int input_count
enum pres_reg_tables * regset2table
D3DXIMAGE_FILEFORMAT image_file_format
enum d3dx_pixel_format_id format
D3DRESOURCETYPE resource_type
uint32_t mip_levels
PALETTEENTRY * image_palette
void * image_buf
BYTE * pixels
uint32_t layer_count
uint32_t layer_pitch
PALETTEENTRY * palette
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
unsigned int member_count
unsigned int object_id
D3DXPARAMETER_TYPE type
char magic_string[4]
unsigned int element_count
struct d3dx_top_level_parameter * top_level_param
unsigned int rows
unsigned int bytes
unsigned int columns
struct d3dx_top_level_parameter * parameters
unsigned int full_name_tmp_size
const PALETTEENTRY * palette
uint32_t row_pitch
RECT unaligned_rect
const void * data
uint32_t slice_pitch
unsigned int ins_count
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]
unsigned int size
struct d3dx_top_level_parameter ** parameters
unsigned int count
ULONG64 update_version
unsigned int annotation_count
struct d3dx_shared_data * shared_data
struct d3dx_parameter * annotations
Definition: devices.h:37
Definition: filter.c:165
DWORD flags
Definition: ddrawstream.c:33
Definition: image.c:84
Definition: name.c:39
struct wine_rb_entry entry
struct d3dx_parameter * param
char * full_name
enum d3dx_pixel_format_id format
enum component_type a_type
enum component_type rgb_type
Definition: rbtree.h:30
float w
Definition: d3dx9_private.h:55
float z
Definition: d3dx9_private.h:55
float x
Definition: d3dx9_private.h:55
float y
Definition: d3dx9_private.h:55
UINT depth
Definition: d3dx9_private.h:83
UINT height
Definition: d3dx9_private.h:82
UINT width
Definition: d3dx9_private.h:81
rwlock_t lock
Definition: tcpcore.h:0
#define CONTAINING_RECORD(address, type, field)
Definition: typedefs.h:260
Definition: pdh_main.c:64
unsigned char BYTE
Definition: xxhash.c:193