33#define D3DVSDT_TYPE_TO_STR(u) case u: return #u
42#undef D3DVSDT_TYPE_TO_STR
44 FIXME(
"Unrecognized D3DVSDT_TYPE %#x\n", d3dvsdt_type);
45 return "unrecognized";
51 switch (d3dvsde_register)
53#define D3DVSDE_REGISTER_TO_STR(u) case u: return #u
71#undef D3DVSDE_REGISTER_TO_STR
73 FIXME(
"Unrecognized D3DVSDE_REGISTER %#x\n", d3dvsde_register);
74 return "unrecognized";
98 if (
token & 0x10000000)
109 if (
token & 0x10000000)
126 tokenlen = (4 *
count) + 1;
136 tokenlen =
count + 1;
169 TRACE(
"c[%u] = (%8f, %8f, %8f, %8f)\n",
171 *(
const float *)(
token +
i * 4 + 1),
172 *(
const float *)(
token +
i * 4 + 2),
173 *(
const float *)(
token +
i * 4 + 3),
174 *(
const float *)(
token +
i * 4 + 4));
178 constant_idx, (
const float *)
token + 1,
count);
179 if (
FAILED(
hr))
ERR(
"Failed setting shader constants\n");
195 2 *
sizeof(
short int),
196 4 *
sizeof(
short int),
198 2 *
sizeof(
short int),
199 4 *
sizeof(
short int),
200 2 *
sizeof(
short int),
201 4 *
sizeof(
short int),
202 3 *
sizeof(
short int),
203 3 *
sizeof(
short int),
204 2 *
sizeof(
short int),
205 4 *
sizeof(
short int)
262 unsigned int element_count = 0;
266 TRACE(
"d3d8_elements %p, d3d8_elements_size %p, wined3d_elements %p\n", d3d8_elements, d3d8_elements_size, wined3d_elements);
269 *wined3d_elements = heap_alloc_zero(128 *
sizeof(**wined3d_elements));
282 TRACE(
"Adding element %d:\n", element_count);
284 element = *wined3d_elements + element_count++;
290 element->instance_data_step_rate = 0;
301 if (element_count >= 127) {
302 ERR(
"More than 127 elements?\n");
309 *d3d8_elements_size = (++
token - d3d8_elements) *
sizeof(
DWORD);
311 return element_count;
339 UINT wined3d_element_count;
347 ERR(
"Failed to allocate vertex declaration elements memory.\n");
361 WARN(
"Failed to create wined3d vertex declaration, hr %#x.\n",
hr);
382 WARN(
"Failed to create wined3d vertex declaration, hr %#x.\n",
hr);
static void * heap_alloc(size_t len)
static BOOL heap_free(void *mem)
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
#define STDMETHODCALLTYPE
static const char * debug_d3dvsde_register(D3DVSDE_REGISTER d3dvsde_register)
void d3d8_vertex_declaration_destroy(struct d3d8_vertex_declaration *declaration)
void load_local_constants(const DWORD *d3d8_elements, struct wined3d_shader *wined3d_vertex_shader)
size_t parse_token(const DWORD *pToken)
HRESULT d3d8_vertex_declaration_init_fvf(struct d3d8_vertex_declaration *declaration, struct d3d8_device *device, DWORD fvf)
#define D3DVSDE_REGISTER_TO_STR(u)
static UINT convert_to_wined3d_declaration(const DWORD *d3d8_elements, DWORD *d3d8_elements_size, struct wined3d_vertex_element **wined3d_elements)
static const char * debug_d3dvsdt_type(D3DVSDT_TYPE d3dvsdt_type)
static const struct wined3d_parent_ops d3d8_vertexdeclaration_wined3d_parent_ops
static void STDMETHODCALLTYPE d3d8_vertexdeclaration_wined3d_object_destroyed(void *parent)
static const size_t wined3d_type_sizes[]
#define D3DVSDT_TYPE_TO_STR(u)
HRESULT d3d8_vertex_declaration_init(struct d3d8_vertex_declaration *declaration, struct d3d8_device *device, const DWORD *elements, DWORD shader_handle)
static const struct @228 wined3d_usage_lookup[]
static enum wined3d_format_id wined3d_format_lookup[]
#define D3DVSD_VERTEXREGMASK
#define D3DVSD_CONSTADDRESSSHIFT
#define D3DVSD_DATALOADTYPEMASK
enum _D3DVSDT_TYPE D3DVSDT_TYPE
#define D3DVSD_EXTINFOSHIFT
enum _D3DVSDE_REGISTER D3DVSDE_REGISTER
#define D3DVSD_SKIPCOUNTSHIFT
#define D3DVSD_DATATYPEMASK
#define D3DVSD_EXTINFOMASK
#define D3DVSD_VERTEXREGINSHIFT
#define D3DVSD_CONSTCOUNTSHIFT
#define D3DVSD_VERTEXREGSHIFT
#define D3DVSD_SKIPCOUNTMASK
#define D3DVSD_CONSTCOUNTMASK
#define D3DVSD_VERTEXREGINMASK
#define D3DVSD_STREAMNUMBERMASK
#define D3DVSD_STREAMTESSMASK
#define D3DVSD_TOKENTYPEMASK
#define D3DVSD_CONSTADDRESSMASK
#define D3DVSD_DATATYPESHIFT
#define D3DVSD_TOKENTYPESHIFT
@ D3DVSD_TOKEN_TESSELLATOR
@ D3DVSD_TOKEN_STREAMDATA
enum _D3DVSD_TOKENTYPE D3DVSD_TOKENTYPE
#define D3DVSD_STREAMNUMBERSHIFT
HRESULT CDECL wined3d_shader_set_local_constants_float(struct wined3d_shader *shader, UINT start_idx, const float *src_data, UINT count)
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
GLuint GLuint GLsizei GLenum type
GLuint GLuint GLsizei count
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
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
#define memcpy(s1, s2, n)
static float(__cdecl *square_half_float)(float x
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)
ULONG CDECL wined3d_vertex_declaration_decref(struct wined3d_vertex_declaration *declaration)
HRESULT CDECL wined3d_vertex_declaration_create_from_fvf(struct wined3d_device *device, DWORD fvf, void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_vertex_declaration **declaration)
@ WINED3D_DECL_USAGE_BLEND_INDICES
@ WINED3D_DECL_USAGE_NORMAL
@ WINED3D_DECL_USAGE_PSIZE
@ WINED3D_DECL_USAGE_BLEND_WEIGHT
@ WINED3D_DECL_USAGE_POSITION
@ WINED3D_DECL_USAGE_COLOR
@ WINED3D_DECL_USAGE_TEXCOORD
@ WINED3D_DECL_METHOD_DEFAULT
@ WINED3DFMT_R16G16_UNORM
@ WINED3DFMT_R10G10B10X2_UINT
@ WINED3DFMT_R32G32_FLOAT
@ WINED3DFMT_R16G16_SNORM
@ WINED3DFMT_B8G8R8A8_UNORM
@ WINED3DFMT_R16G16B16A16_SINT
@ WINED3DFMT_R32G32B32_FLOAT
@ WINED3DFMT_R16G16B16A16_FLOAT
@ WINED3DFMT_R8G8B8A8_UNORM
@ WINED3DFMT_R16G16B16A16_UNORM
@ WINED3DFMT_R16G16_FLOAT
@ WINED3DFMT_R8G8B8A8_UINT
@ WINED3DFMT_R10G10B10X2_SNORM
@ WINED3DFMT_R32G32B32A32_FLOAT
@ WINED3DFMT_R16G16B16A16_SNORM
@ WINED3D_INPUT_PER_VERTEX_DATA
void WINAPI wined3d_mutex_unlock(void)
void WINAPI wined3d_mutex_lock(void)