ReactOS 0.4.17-dev-966-gf06eace
vertexdeclaration.c File Reference
#include "d3d8_private.h"
Include dependency graph for vertexdeclaration.c:

Go to the source code of this file.

Macros

#define D3DVSDT_TYPE_TO_STR(u)   case u: return #u
 
#define D3DVSDE_REGISTER_TO_STR(u)   case u: return #u
 

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (d3d8)
 
static const char * debug_d3dvsdt_type (D3DVSDT_TYPE d3dvsdt_type)
 
static const char * debug_d3dvsde_register (D3DVSDE_REGISTER d3dvsde_register)
 
size_t parse_token (const DWORD *pToken)
 
void load_local_constants (const DWORD *d3d8_elements, struct wined3d_shader *wined3d_vertex_shader)
 
static UINT convert_to_wined3d_declaration (const DWORD *d3d8_elements, DWORD *d3d8_elements_size, struct wined3d_vertex_element **wined3d_elements, DWORD *stream_map)
 
static void STDMETHODCALLTYPE d3d8_vertexdeclaration_wined3d_object_destroyed (void *parent)
 
void d3d8_vertex_declaration_destroy (struct d3d8_vertex_declaration *declaration)
 
HRESULT d3d8_vertex_declaration_init (struct d3d8_vertex_declaration *declaration, struct d3d8_device *device, const DWORD *elements, DWORD shader_handle)
 
HRESULT d3d8_vertex_declaration_init_fvf (struct d3d8_vertex_declaration *declaration, struct d3d8_device *device, DWORD fvf)
 

Variables

static const size_t wined3d_type_sizes []
 
static enum wined3d_format_id wined3d_format_lookup []
 
struct {
   BYTE   usage
 
   BYTE   usage_idx
 
} wined3d_usage_lookup []
 
static const struct wined3d_parent_ops d3d8_vertexdeclaration_wined3d_parent_ops
 

Macro Definition Documentation

◆ D3DVSDE_REGISTER_TO_STR

#define D3DVSDE_REGISTER_TO_STR (   u)    case u: return #u

◆ D3DVSDT_TYPE_TO_STR

#define D3DVSDT_TYPE_TO_STR (   u)    case u: return #u

Function Documentation

◆ convert_to_wined3d_declaration()

static UINT convert_to_wined3d_declaration ( const DWORD *  d3d8_elements,
DWORD *  d3d8_elements_size,
struct wined3d_vertex_element **  wined3d_elements,
DWORD *  stream_map 
)
static

Definition at line 250 of file vertexdeclaration.c.

252{
254 const DWORD *token = d3d8_elements;
255 D3DVSD_TOKENTYPE token_type;
256 unsigned int element_count = 0;
257 WORD stream = 0;
258 int offset = 0;
259
260 TRACE("d3d8_elements %p, d3d8_elements_size %p, wined3d_elements %p\n", d3d8_elements, d3d8_elements_size, wined3d_elements);
261
262 *stream_map = 0;
263 /* 128 should be enough for anyone... */
264 *wined3d_elements = calloc(128, sizeof(**wined3d_elements));
265 while (D3DVSD_END() != *token)
266 {
267 token_type = ((*token & D3DVSD_TOKENTYPEMASK) >> D3DVSD_TOKENTYPESHIFT);
268
269 if (token_type == D3DVSD_TOKEN_STREAM && !(*token & D3DVSD_STREAMTESSMASK))
270 {
272 offset = 0;
273 } else if (token_type == D3DVSD_TOKEN_STREAMDATA && !(*token & D3DVSD_DATALOADTYPEMASK)) {
276
277 TRACE("Adding element %d:\n", element_count);
278
279 element = *wined3d_elements + element_count++;
281 element->input_slot = stream;
282 element->offset = offset;
283 element->output_slot = reg;
284 element->input_slot_class = WINED3D_INPUT_PER_VERTEX_DATA;
285 element->instance_data_step_rate = 0;
287 element->usage = wined3d_usage_lookup[reg].usage;
288 element->usage_idx = wined3d_usage_lookup[reg].usage_idx;
289
290 *stream_map |= 1u << stream;
291
293 } else if (token_type == D3DVSD_TOKEN_STREAMDATA && (*token & D3DVSD_DATALOADTYPEMASK)) {
294 TRACE(" 0x%08lx SKIP(%lu)\n", *token, (*token & D3DVSD_SKIPCOUNTMASK) >> D3DVSD_SKIPCOUNTSHIFT);
296 }
297
298 if (element_count >= 127) {
299 ERR("More than 127 elements?\n");
300 break;
301 }
302
304 }
305
306 *d3d8_elements_size = (++token - d3d8_elements) * sizeof(DWORD);
307
308 return element_count;
309}
#define ERR(fmt,...)
Definition: precomp.h:57
size_t parse_token(const DWORD *pToken)
static const struct @267 wined3d_usage_lookup[]
static const size_t wined3d_type_sizes[]
static enum wined3d_format_id wined3d_format_lookup[]
#define D3DVSD_VERTEXREGMASK
Definition: d3d8types.h:257
#define D3DVSD_END()
Definition: d3d8types.h:275
#define D3DVSD_DATALOADTYPEMASK
Definition: d3d8types.h:264
#define D3DVSD_SKIPCOUNTSHIFT
Definition: d3d8types.h:246
#define D3DVSD_DATATYPEMASK
Definition: d3d8types.h:259
#define D3DVSD_VERTEXREGSHIFT
Definition: d3d8types.h:243
#define D3DVSD_SKIPCOUNTMASK
Definition: d3d8types.h:260
#define D3DVSD_STREAMNUMBERMASK
Definition: d3d8types.h:256
#define D3DVSD_STREAMTESSMASK
Definition: d3d8types.h:265
#define D3DVSD_TOKENTYPEMASK
Definition: d3d8types.h:266
#define D3DVSD_DATATYPESHIFT
Definition: d3d8types.h:245
#define D3DVSD_TOKENTYPESHIFT
Definition: d3d8types.h:252
@ D3DVSD_TOKEN_STREAM
Definition: d3d8types.h:166
@ D3DVSD_TOKEN_STREAMDATA
Definition: d3d8types.h:167
enum _D3DVSD_TOKENTYPE D3DVSD_TOKENTYPE
#define D3DVSD_STREAMNUMBERSHIFT
Definition: d3d8types.h:242
unsigned short WORD
Definition: ntddk_ex.h:93
unsigned long DWORD
Definition: ntddk_ex.h:95
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
GLintptr offset
Definition: glext.h:5920
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 GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat token
Definition: glfuncs.h:210
static int reg
Definition: i386-dis.c:1290
static ULONG ** element_count
Definition: exception.c:124
#define DWORD
Definition: nt_native.h:44
#define calloc
Definition: rosglue.h:14
#define TRACE(s)
Definition: solgame.cpp:4
Definition: parse.h:23
@ WINED3D_DECL_METHOD_DEFAULT
Definition: wined3d.h:796
@ WINED3D_INPUT_PER_VERTEX_DATA
Definition: wined3d.h:1826

Referenced by d3d8_vertex_declaration_init(), and vertexdeclaration_init().

◆ d3d8_vertex_declaration_destroy()

void d3d8_vertex_declaration_destroy ( struct d3d8_vertex_declaration *  declaration)

Definition at line 318 of file vertexdeclaration.c.

319{
320 TRACE("declaration %p.\n", declaration);
321
322 wined3d_vertex_declaration_decref(declaration->wined3d_vertex_declaration);
323}
ULONG CDECL wined3d_vertex_declaration_decref(struct wined3d_vertex_declaration *declaration)

Referenced by d3d8_device_get_fvf_declaration(), d3d8_device_Release(), d3d8_vertex_shader_init(), and d3d8_vertexshader_wined3d_object_destroyed().

◆ d3d8_vertex_declaration_init()

HRESULT d3d8_vertex_declaration_init ( struct d3d8_vertex_declaration *  declaration,
struct d3d8_device *  device,
const DWORD *  elements,
DWORD  shader_handle 
)

Definition at line 330 of file vertexdeclaration.c.

332{
333 struct wined3d_vertex_element *wined3d_elements;
334 UINT wined3d_element_count;
335 HRESULT hr;
336
337 declaration->shader_handle = shader_handle;
338
339 wined3d_element_count = convert_to_wined3d_declaration(elements, &declaration->elements_size,
340 &wined3d_elements, &declaration->stream_map);
341 if (!(declaration->elements = malloc(declaration->elements_size)))
342 {
343 ERR("Failed to allocate vertex declaration elements memory.\n");
344 free(wined3d_elements);
345 return E_OUTOFMEMORY;
346 }
347
348 memcpy(declaration->elements, elements, declaration->elements_size);
349
351 hr = wined3d_vertex_declaration_create(device->wined3d_device, wined3d_elements, wined3d_element_count,
354 free(wined3d_elements);
355 if (FAILED(hr))
356 {
357 WARN("Failed to create wined3d vertex declaration, hr %#lx.\n", hr);
358 free(declaration->elements);
359 if (hr == E_INVALIDARG)
360 hr = E_FAIL;
361 return hr;
362 }
363
364 return D3D_OK;
365}
#define WARN(fmt,...)
Definition: precomp.h:61
static const struct wined3d_parent_ops d3d8_vertexdeclaration_wined3d_parent_ops
static UINT convert_to_wined3d_declaration(const DWORD *d3d8_elements, DWORD *d3d8_elements_size, struct wined3d_vertex_element **wined3d_elements, DWORD *stream_map)
#define D3D_OK
Definition: d3d.h:106
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
#define E_INVALIDARG
Definition: ddrawi.h:101
#define E_FAIL
Definition: ddrawi.h:102
#define free
Definition: debug_ros.c:5
#define malloc
Definition: debug_ros.c:4
HRESULT hr
Definition: delayimp.cpp:582
unsigned int UINT
Definition: sysinfo.c:13
#define FAILED(hr)
Definition: intsafe.h:51
#define memcpy(s1, s2, n)
Definition: mkisofs.h:878
Definition: devices.h:37
HRESULT CDECL wined3d_vertex_declaration_create(struct wined3d_device *device, const struct wined3d_vertex_element *elements, UINT element_count, void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_vertex_declaration **declaration)
void WINAPI wined3d_mutex_unlock(void)
Definition: wined3d_main.c:544
void WINAPI wined3d_mutex_lock(void)
Definition: wined3d_main.c:539

Referenced by d3d8_vertexshader_create_vertexdeclaration().

◆ d3d8_vertex_declaration_init_fvf()

HRESULT d3d8_vertex_declaration_init_fvf ( struct d3d8_vertex_declaration *  declaration,
struct d3d8_device *  device,
DWORD  fvf 
)

Definition at line 367 of file vertexdeclaration.c.

369{
370 HRESULT hr;
371
372 declaration->elements = NULL;
373 declaration->elements_size = 0;
374 declaration->stream_map = 1;
375 declaration->shader_handle = fvf;
376
378 &d3d8_vertexdeclaration_wined3d_parent_ops, &declaration->wined3d_vertex_declaration);
379 if (FAILED(hr))
380 {
381 WARN("Failed to create wined3d vertex declaration, hr %#lx.\n", hr);
382 if (hr == E_INVALIDARG)
383 hr = E_FAIL;
384 return hr;
385 }
386
387 return D3D_OK;
388}
#define NULL
Definition: types.h:112
HRESULT CDECL wined3d_vertex_declaration_create_from_fvf(struct wined3d_device *device, uint32_t fvf, void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_vertex_declaration **declaration)

Referenced by d3d8_device_get_fvf_declaration().

◆ d3d8_vertexdeclaration_wined3d_object_destroyed()

static void STDMETHODCALLTYPE d3d8_vertexdeclaration_wined3d_object_destroyed ( void *  parent)
static

Definition at line 311 of file vertexdeclaration.c.

312{
314 free(declaration->elements);
316}
r parent
Definition: btrfs.c:3010

◆ debug_d3dvsde_register()

static const char * debug_d3dvsde_register ( D3DVSDE_REGISTER  d3dvsde_register)
static

Definition at line 43 of file vertexdeclaration.c.

44{
45 switch (d3dvsde_register)
46 {
47#define D3DVSDE_REGISTER_TO_STR(u) case u: return #u
65#undef D3DVSDE_REGISTER_TO_STR
66 default:
67 FIXME("Unrecognized D3DVSDE_REGISTER %#x\n", d3dvsde_register);
68 return "unrecognized";
69 }
70}
#define FIXME(fmt,...)
Definition: precomp.h:53
#define D3DVSDE_REGISTER_TO_STR(u)
@ D3DVSDE_TEXCOORD0
Definition: d3d8types.h:205
@ D3DVSDE_PSIZE
Definition: d3d8types.h:202
@ D3DVSDE_TEXCOORD2
Definition: d3d8types.h:207
@ D3DVSDE_TEXCOORD1
Definition: d3d8types.h:206
@ D3DVSDE_TEXCOORD7
Definition: d3d8types.h:212
@ D3DVSDE_POSITION
Definition: d3d8types.h:198
@ D3DVSDE_TEXCOORD4
Definition: d3d8types.h:209
@ D3DVSDE_DIFFUSE
Definition: d3d8types.h:203
@ D3DVSDE_NORMAL2
Definition: d3d8types.h:214
@ D3DVSDE_TEXCOORD5
Definition: d3d8types.h:210
@ D3DVSDE_POSITION2
Definition: d3d8types.h:213
@ D3DVSDE_BLENDWEIGHT
Definition: d3d8types.h:199
@ D3DVSDE_TEXCOORD3
Definition: d3d8types.h:208
@ D3DVSDE_BLENDINDICES
Definition: d3d8types.h:200
@ D3DVSDE_SPECULAR
Definition: d3d8types.h:204
@ D3DVSDE_TEXCOORD6
Definition: d3d8types.h:211
@ D3DVSDE_NORMAL
Definition: d3d8types.h:201

Referenced by parse_token().

◆ debug_d3dvsdt_type()

static const char * debug_d3dvsdt_type ( D3DVSDT_TYPE  d3dvsdt_type)
static

Definition at line 23 of file vertexdeclaration.c.

24{
25 switch (d3dvsdt_type)
26 {
27#define D3DVSDT_TYPE_TO_STR(u) case u: return #u
36#undef D3DVSDT_TYPE_TO_STR
37 default:
38 FIXME("Unrecognized D3DVSDT_TYPE %#x\n", d3dvsdt_type);
39 return "unrecognized";
40 }
41}
#define D3DVSDT_TYPE_TO_STR(u)
@ D3DVSDT_FLOAT4
Definition: d3d8types.h:232
@ D3DVSDT_D3DCOLOR
Definition: d3d8types.h:233
@ D3DVSDT_FLOAT3
Definition: d3d8types.h:231
@ D3DVSDT_SHORT2
Definition: d3d8types.h:235
@ D3DVSDT_FLOAT1
Definition: d3d8types.h:229
@ D3DVSDT_UBYTE4
Definition: d3d8types.h:234
@ D3DVSDT_SHORT4
Definition: d3d8types.h:236
@ D3DVSDT_FLOAT2
Definition: d3d8types.h:230

Referenced by parse_token().

◆ load_local_constants()

void load_local_constants ( const DWORD *  d3d8_elements,
struct wined3d_shader *  wined3d_vertex_shader 
)

Definition at line 146 of file vertexdeclaration.c.

147{
148 const DWORD *token = d3d8_elements;
149
150 while (*token != D3DVSD_END())
151 {
153 {
156 HRESULT hr;
157
158 if (TRACE_ON(d3d8))
159 {
160 DWORD i;
161 for (i = 0; i < count; ++i)
162 {
163 TRACE("c[%lu] = (%8f, %8f, %8f, %8f)\n",
164 constant_idx,
165 *(const float *)(token + i * 4 + 1),
166 *(const float *)(token + i * 4 + 2),
167 *(const float *)(token + i * 4 + 3),
168 *(const float *)(token + i * 4 + 4));
169 }
170 }
172 constant_idx, (const float *)token + 1, count);
173 if (FAILED(hr)) ERR("Failed setting shader constants\n");
174 }
175
177 }
178}
#define D3DVSD_CONSTADDRESSSHIFT
Definition: d3d8types.h:240
#define D3DVSD_CONSTCOUNTSHIFT
Definition: d3d8types.h:249
#define D3DVSD_CONSTCOUNTMASK
Definition: d3d8types.h:263
#define D3DVSD_CONSTADDRESSMASK
Definition: d3d8types.h:254
@ D3DVSD_TOKEN_CONSTMEM
Definition: d3d8types.h:169
HRESULT CDECL wined3d_shader_set_local_constants_float(struct wined3d_shader *shader, UINT start_idx, const float *src_data, UINT count)
Definition: shader.c:2637
#define TRACE_ON(x)
Definition: compat.h:75
GLuint GLuint GLsizei count
Definition: gl.h:1545
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 GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248

Referenced by d3d8_vertex_shader_init().

◆ parse_token()

size_t parse_token ( const DWORD *  pToken)

Definition at line 72 of file vertexdeclaration.c.

73{
74 const DWORD token = *pToken;
75 size_t tokenlen = 1;
76
77 switch ((token & D3DVSD_TOKENTYPEMASK) >> D3DVSD_TOKENTYPESHIFT) { /* maybe a macro to inverse ... */
79 TRACE(" 0x%08lx NOP()\n", token);
80 break;
81
84 {
85 TRACE(" 0x%08lx STREAM_TESS()\n", token);
86 } else {
87 TRACE(" 0x%08lx STREAM(%lu)\n", token, ((token & D3DVSD_STREAMNUMBERMASK) >> D3DVSD_STREAMNUMBERSHIFT));
88 }
89 break;
90
92 if (token & 0x10000000)
93 {
94 TRACE(" 0x%08lx SKIP(%lu)\n", token, ((token & D3DVSD_SKIPCOUNTMASK) >> D3DVSD_SKIPCOUNTSHIFT));
95 } else {
98 TRACE(" 0x%08lx REG(%s, %s)\n", token, debug_d3dvsde_register(reg), debug_d3dvsdt_type(type));
99 }
100 break;
101
103 if (token & 0x10000000)
104 {
107 TRACE(" 0x%08lx TESSUV(%s) as %s\n", token, debug_d3dvsde_register(reg), debug_d3dvsdt_type(type));
108 } else {
112 TRACE(" 0x%08lx TESSNORMAL(%s, %s) as %s\n", token, debug_d3dvsde_register(regin),
114 }
115 break;
116
118 {
120 tokenlen = (4 * count) + 1;
121 }
122 break;
123
124 case D3DVSD_TOKEN_EXT:
125 {
128 TRACE(" 0x%08lx EXT(%lu, %lu)\n", token, count, extinfo);
129 /* todo ... print extension */
130 tokenlen = count + 1;
131 }
132 break;
133
134 case D3DVSD_TOKEN_END:
135 TRACE(" 0x%08lx END()\n", token);
136 break;
137
138 default:
139 TRACE(" 0x%08lx UNKNOWN\n", token);
140 /* arg error */
141 }
142
143 return tokenlen;
144}
static const char * debug_d3dvsde_register(D3DVSDE_REGISTER d3dvsde_register)
static const char * debug_d3dvsdt_type(D3DVSDT_TYPE d3dvsdt_type)
#define D3DVSD_EXTINFOSHIFT
Definition: d3d8types.h:241
#define D3DVSD_EXTINFOMASK
Definition: d3d8types.h:255
#define D3DVSD_VERTEXREGINSHIFT
Definition: d3d8types.h:247
#define D3DVSD_VERTEXREGINMASK
Definition: d3d8types.h:262
@ D3DVSD_TOKEN_TESSELLATOR
Definition: d3d8types.h:168
@ D3DVSD_TOKEN_EXT
Definition: d3d8types.h:170
@ D3DVSD_TOKEN_END
Definition: d3d8types.h:172
@ D3DVSD_TOKEN_NOP
Definition: d3d8types.h:165

Referenced by convert_to_wined3d_declaration(), d3d8_vertex_shader_init(), and load_local_constants().

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( d3d8  )

Variable Documentation

◆ d3d8_vertexdeclaration_wined3d_parent_ops

const struct wined3d_parent_ops d3d8_vertexdeclaration_wined3d_parent_ops
static
Initial value:
=
{
}
static void STDMETHODCALLTYPE d3d8_vertexdeclaration_wined3d_object_destroyed(void *parent)

Definition at line 325 of file vertexdeclaration.c.

Referenced by d3d8_vertex_declaration_init(), and d3d8_vertex_declaration_init_fvf().

◆ usage

BYTE usage ( void  )

Definition at line 225 of file vertexdeclaration.c.

Referenced by append_decl_element().

◆ usage_idx

◆ wined3d_format_lookup

enum wined3d_format_id wined3d_format_lookup[]
static
Initial value:
=
{
}
@ WINED3DFMT_R16G16_UNORM
Definition: wined3d.h:192
@ WINED3DFMT_R10G10B10X2_UINT
Definition: wined3d.h:145
@ WINED3DFMT_R32G32_FLOAT
Definition: wined3d.h:171
@ WINED3DFMT_R16G16_SNORM
Definition: wined3d.h:194
@ WINED3DFMT_B8G8R8A8_UNORM
Definition: wined3d.h:244
@ WINED3DFMT_R16G16B16A16_SINT
Definition: wined3d.h:169
@ WINED3DFMT_R32G32B32_FLOAT
Definition: wined3d.h:161
@ WINED3DFMT_R16G16B16A16_FLOAT
Definition: wined3d.h:165
@ WINED3DFMT_R8G8B8A8_UNORM
Definition: wined3d.h:185
@ WINED3DFMT_R16G16B16A16_UNORM
Definition: wined3d.h:166
@ WINED3DFMT_R32_FLOAT
Definition: wined3d.h:198
@ WINED3DFMT_R16G16_FLOAT
Definition: wined3d.h:191
@ WINED3DFMT_R8G8B8A8_UINT
Definition: wined3d.h:187
@ WINED3DFMT_R10G10B10X2_SNORM
Definition: wined3d.h:146
@ WINED3DFMT_R32G32B32A32_FLOAT
Definition: wined3d.h:157
@ WINED3DFMT_R16G16B16A16_SNORM
Definition: wined3d.h:168
@ WINED3DFMT_R16G16_SINT
Definition: wined3d.h:195

Definition at line 202 of file vertexdeclaration.c.

Referenced by convert_to_wined3d_declaration().

◆ wined3d_type_sizes

const size_t wined3d_type_sizes[]
static
Initial value:
=
{
1 * sizeof(float),
2 * sizeof(float),
3 * sizeof(float),
4 * sizeof(float),
4 * sizeof(BYTE),
4 * sizeof(BYTE),
2 * sizeof(short int),
4 * sizeof(short int),
4 * sizeof(BYTE),
2 * sizeof(short int),
4 * sizeof(short int),
2 * sizeof(short int),
4 * sizeof(short int),
3 * sizeof(short int),
3 * sizeof(short int),
2 * sizeof(short int),
4 * sizeof(short int)
}
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
Definition: typeof.h:31
static float(__cdecl *square_half_float)(float x
unsigned char BYTE
Definition: xxhash.c:193

Definition at line 181 of file vertexdeclaration.c.

Referenced by convert_to_wined3d_declaration().

◆