92 if (
device->stateblock_state->streams[0].buffer ==
buffer->wined3d_buffer)
101 IDirectDraw7_Release(&
buffer->ddraw->IDirectDraw7_iface);
128 desc.structure_byte_stride = 0;
162 TRACE(
"iface %p, flags %#lx, data %p, data_size %p.\n", iface,
flags,
data, data_size);
168 flags &= ~DDLOCK_DISCARDCONTENTS;
184 buffer->wined3d_buffer = new_buffer;
188 WARN(
"Failed to create a dynamic buffer\n");
200 *data_size = wined3d_desc.
size;
225 TRACE(
"iface %p.\n", iface);
261 BOOL old_clip, do_clip, old_lighting, do_lighting;
265 TRACE(
"iface %p, vertex_op %#lx, dst_idx %lu, count %lu, src_buffer %p, src_idx %lu, device %p, flags %#lx.\n",
291 if (do_clip != old_clip)
295 if (dst_buffer_impl->
version == 3)
299 do_lighting = old_lighting && (vertex_op &
D3DVOP_LIGHT);
301 if (do_lighting != old_lighting)
311 if (do_clip != old_clip)
313 if (do_lighting != old_lighting)
340 TRACE(
"iface %p, desc %p.\n", iface,
desc);
420 FIXME(
"iface %p, vertex_op %#lx, dst_idx %lu, count %lu, data %p, fvf %#lx, device %p, flags %#lx stub!\n",
449 TRACE(
"Vertex buffer description:\n");
453 TRACE(
" dwNumVertices %lu\n",
desc->dwNumVertices);
485 WARN(
"Failed to create wined3d vertex buffer, hr %#lx.\n",
hr);
493 ERR(
"Failed to find vertex declaration for fvf %#lx.\n",
desc->dwFVF);
#define InterlockedIncrement
#define InterlockedDecrement
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
#define IDirect3DVertexBuffer7_AddRef(p)
#define D3DVBCAPS_OPTIMIZED
#define D3DVBCAPS_SYSTEMMEMORY
struct d3d_device * unsafe_impl_from_IDirect3DDevice7(IDirect3DDevice7 *iface)
unsigned int wined3dmapflags_from_ddrawmapflags(unsigned int flags)
struct d3d_device * unsafe_impl_from_IDirect3DDevice3(IDirect3DDevice3 *iface)
DWORD get_flexible_vertex_size(DWORD d3dvtVertexType)
struct wined3d_vertex_declaration * ddraw_find_decl(struct ddraw *This, DWORD fvf)
const struct wined3d_parent_ops ddraw_null_wined3d_parent_ops
HRESULT CDECL wined3d_buffer_create(struct wined3d_device *device, const struct wined3d_buffer_desc *desc, const struct wined3d_sub_resource_data *data, void *parent, const struct wined3d_parent_ops *parent_ops, struct wined3d_buffer **buffer)
ULONG CDECL wined3d_buffer_decref(struct wined3d_buffer *buffer)
struct wined3d_resource *CDECL wined3d_buffer_get_resource(struct wined3d_buffer *buffer)
HRESULT CDECL wined3d_device_process_vertices(struct wined3d_device *device, struct wined3d_stateblock *stateblock, UINT src_start_idx, UINT dst_idx, UINT vertex_count, struct wined3d_buffer *dst_buffer, const struct wined3d_vertex_declaration *declaration, uint32_t flags, uint32_t dst_fvf)
HRESULT CDECL wined3d_resource_unmap(struct wined3d_resource *resource, unsigned int sub_resource_idx)
void CDECL wined3d_resource_get_desc(const struct wined3d_resource *resource, struct wined3d_resource_desc *desc)
HRESULT CDECL wined3d_resource_map(struct wined3d_resource *resource, unsigned int sub_resource_idx, struct wined3d_map_desc *map_desc, const struct wined3d_box *box, uint32_t flags)
GLuint GLuint GLsizei count
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
D3D11_SHADER_VARIABLE_DESC desc
#define IsEqualGUID(rguid1, rguid2)
#define DDERR_OUTOFMEMORY
#define DDLOCK_DISCARDCONTENTS
#define DDLOCK_NOOVERWRITE
#define DDERR_INVALIDPARAMS
#define LIST_FOR_EACH_ENTRY(elem, list, type, field)
struct d3d_device_context_state * state
struct wined3d_device * wined3d_device
const struct wined3d_stateblock_state * stateblock_state
struct wined3d_vertex_declaration * wined3d_declaration
struct wined3d_buffer * wined3d_buffer
IDirect3DVertexBuffer7 IDirect3DVertexBuffer7_iface
IDirectDraw7 IDirectDraw7_iface
#define CONTAINING_RECORD(address, type, field)
static HRESULT WINAPI d3d_vertex_buffer7_Unlock(IDirect3DVertexBuffer7 *iface)
static HRESULT WINAPI d3d_vertex_buffer7_GetVertexBufferDesc(IDirect3DVertexBuffer7 *iface, D3DVERTEXBUFFERDESC *desc)
HRESULT d3d_vertex_buffer_create(struct d3d_vertex_buffer **vertex_buf, struct ddraw *ddraw, D3DVERTEXBUFFERDESC *desc)
static HRESULT WINAPI d3d_vertex_buffer7_QueryInterface(IDirect3DVertexBuffer7 *iface, REFIID riid, void **obj)
static HRESULT WINAPI d3d_vertex_buffer7_ProcessVerticesStrided(IDirect3DVertexBuffer7 *iface, DWORD vertex_op, DWORD dst_idx, DWORD count, D3DDRAWPRIMITIVESTRIDEDDATA *data, DWORD fvf, IDirect3DDevice7 *device, DWORD flags)
static HRESULT d3d_vertex_buffer_create_wined3d_buffer(struct d3d_vertex_buffer *buffer, BOOL dynamic, struct wined3d_buffer **wined3d_buffer)
struct d3d_vertex_buffer * unsafe_impl_from_IDirect3DVertexBuffer7(IDirect3DVertexBuffer7 *iface)
static HRESULT WINAPI d3d_vertex_buffer7_ProcessVertices(IDirect3DVertexBuffer7 *iface, DWORD vertex_op, DWORD dst_idx, DWORD count, IDirect3DVertexBuffer7 *src_buffer, DWORD src_idx, IDirect3DDevice7 *device, DWORD flags)
static ULONG WINAPI d3d_vertex_buffer7_Release(IDirect3DVertexBuffer7 *iface)
static ULONG WINAPI d3d_vertex_buffer7_AddRef(IDirect3DVertexBuffer7 *iface)
static const struct IDirect3DVertexBuffer7Vtbl d3d_vertex_buffer7_vtbl
static HRESULT WINAPI d3d_vertex_buffer7_Optimize(IDirect3DVertexBuffer7 *iface, IDirect3DDevice7 *device, DWORD flags)
static struct d3d_vertex_buffer * impl_from_IDirect3DVertexBuffer7(IDirect3DVertexBuffer7 *iface)
static HRESULT WINAPI d3d_vertex_buffer7_Lock(IDirect3DVertexBuffer7 *iface, DWORD flags, void **data, DWORD *data_size)
void CDECL wined3d_stateblock_set_vertex_declaration(struct wined3d_stateblock *stateblock, struct wined3d_vertex_declaration *declaration)
void CDECL wined3d_stateblock_set_render_state(struct wined3d_stateblock *stateblock, enum wined3d_render_state state, unsigned int value)
HRESULT CDECL wined3d_stateblock_set_stream_source(struct wined3d_stateblock *stateblock, UINT stream_idx, struct wined3d_buffer *buffer, UINT offset, UINT stride)
ULONG CDECL wined3d_vertex_declaration_incref(struct wined3d_vertex_declaration *declaration)
ULONG CDECL wined3d_vertex_declaration_decref(struct wined3d_vertex_declaration *declaration)
#define WINED3D_BIND_VERTEX_BUFFER
#define WINED3D_RESOURCE_ACCESS_GPU
#define WINED3D_RESOURCE_ACCESS_CPU
#define WINED3DUSAGE_VIDMEM_ACCOUNTING
#define WINED3D_RESOURCE_ACCESS_MAP_R
#define WINED3DUSAGE_DYNAMIC
#define WINED3DERR_INVALIDCALL
#define WINED3DUSAGE_STATICDECL
#define WINED3D_RESOURCE_ACCESS_MAP_W
void WINAPI wined3d_mutex_unlock(void)
void WINAPI wined3d_mutex_lock(void)