28 return !
stricmp(
e->semantic_name,
"sv_instanceid") || !
stricmp(
e->semantic_name,
"sv_vertexid");
42 f = &element_descs[
i];
58 const struct vkd3d_shader_code dxbc = {shader_byte_code, shader_byte_code_length};
67 ERR(
"Failed to extract input signature, ret %d.\n",
ret);
73 ERR(
"Failed to allocate wined3d vertex element array memory.\n");
82 f = &element_descs[
i];
85 e->input_slot =
f->InputSlot;
86 e->offset =
f->AlignedByteOffset;
89 e->instance_data_step_rate =
f->InstanceDataStepRate;
105 WARN(
"Input element %s%u not found in shader signature.\n", ise[
i].semantic_name, ise[
i].semantic_index);
106 free(*wined3d_elements);
135 ID3D11InputLayout_AddRef(iface);
163 ID3D11Device2_AddRef(layout->
device);
181 ID3D11Device2_Release(
device);
194 ID3D11Device_AddRef(*
device = (ID3D11Device *)layout->
device);
263 TRACE(
"iface %p.\n", iface);
272 TRACE(
"iface %p.\n", iface);
285 ID3D11Device2_QueryInterface(layout->
device, &IID_ID3D10Device, (
void **)
device);
293 TRACE(
"iface %p, guid %s, data_size %p, data %p.\n",
304 TRACE(
"iface %p, guid %s, data_size %u, data %p.\n",
348 const void *shader_byte_code,
SIZE_T shader_byte_code_length)
360 shader_byte_code, shader_byte_code_length, &wined3d_elements)))
362 WARN(
"Failed to create wined3d vertex declaration elements, hr %#lx.\n",
hr);
370 free(wined3d_elements);
373 WARN(
"Failed to create wined3d vertex declaration, hr %#lx.\n",
hr);
380 ID3D11Device2_AddRef(layout->
device = &
device->ID3D11Device2_iface);
387 const void *shader_byte_code,
SIZE_T shader_byte_code_length,
395 if (!(
object =
calloc(1,
sizeof(*
object))))
399 shader_byte_code, shader_byte_code_length)))
401 WARN(
"Failed to initialise input layout, hr %#lx.\n",
hr);
406 TRACE(
"Created input layout %p.\n",
object);
#define InterlockedIncrement
#define InterlockedDecrement
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
#define STDMETHODCALLTYPE
D3D11_INPUT_CLASSIFICATION
enum wined3d_format_id wined3dformat_from_dxgi_format(DXGI_FORMAT format)
HRESULT d3d_get_private_data(struct wined3d_private_store *store, REFGUID guid, UINT *data_size, void *data)
HRESULT d3d_set_private_data_interface(struct wined3d_private_store *store, REFGUID guid, const IUnknown *object)
HRESULT d3d_set_private_data(struct wined3d_private_store *store, REFGUID guid, UINT data_size, const void *data)
#define stricmp(_String1, _String2)
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
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
static ULONG ** element_count
#define IsEqualGUID(rguid1, rguid2)
unsigned int semantic_index
unsigned int stream_index
unsigned int register_index
const char * semantic_name
struct vkd3d_shader_signature_element * elements
unsigned int element_count
#define CONTAINING_RECORD(address, type, field)
VKD3D_SHADER_API int vkd3d_shader_parse_input_signature(const struct vkd3d_shader_code *dxbc, struct vkd3d_shader_signature *signature, char **messages)
VKD3D_SHADER_API void vkd3d_shader_free_shader_signature(struct vkd3d_shader_signature *signature)
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_incref(struct wined3d_vertex_declaration *declaration)
ULONG CDECL wined3d_vertex_declaration_decref(struct wined3d_vertex_declaration *declaration)
static void wined3d_private_store_cleanup(struct wined3d_private_store *store)
@ WINED3D_DECL_METHOD_DEFAULT
#define WINED3D_OUTPUT_SLOT_UNUSED
static void wined3d_private_store_init(struct wined3d_private_store *store)
wined3d_input_classification
void WINAPI wined3d_mutex_unlock(void)
void WINAPI wined3d_mutex_lock(void)