コード例 #1
0
ファイル: resource.c プロジェクト: PigFlyGames/wine
void CDECL wined3d_resource_update(struct wined3d_device *device, struct wined3d_resource *resource, UINT sub_resource_idx,
        struct wined3d_box *box, const void *data, UINT row_pitch, UINT depth_pitch)
{
    struct wined3d_buffer *buffer;
    BYTE *dest;

    if (resource->type != WINED3D_RTYPE_BUFFER)
    {
        FIXME("Unsuported resource type: %d\n", resource->type);
        return;
    }

    if (sub_resource_idx || box)
    {
        WARN("Subresource index and/or Box parameter is not supported for buffers\n");
        return;
    }

    /* FIXME: should normally use the command stream here */
    buffer = buffer_from_resource(resource);
    if (SUCCEEDED(wined3d_buffer_map(buffer, 0, 0, &dest, 0)))
    {
        memcpy(dest, data, buffer->desc.byte_width); /* FIXME: is row_pitch and depth_pitch used? */
        wined3d_buffer_unmap(buffer);
    }
}
コード例 #2
0
ファイル: buffer.c プロジェクト: AlexSteel/wine
static void STDMETHODCALLTYPE d3d10_buffer_Unmap(ID3D10Buffer *iface)
{
    struct d3d_buffer *buffer = impl_from_ID3D10Buffer(iface);

    TRACE("iface %p.\n", iface);

    wined3d_mutex_lock();
    wined3d_buffer_unmap(buffer->wined3d_buffer);
    wined3d_mutex_unlock();
}
コード例 #3
0
ファイル: vertexbuffer.c プロジェクト: Dietr1ch/wine
/*****************************************************************************
 * IDirect3DVertexBuffer7::Unlock
 *
 * Unlocks a vertex Buffer
 *
 * Returns:
 *  D3D_OK on success
 *
 *****************************************************************************/
static HRESULT WINAPI d3d_vertex_buffer7_Unlock(IDirect3DVertexBuffer7 *iface)
{
    struct d3d_vertex_buffer *buffer = impl_from_IDirect3DVertexBuffer7(iface);

    TRACE("iface %p.\n", iface);

    wined3d_mutex_lock();
    wined3d_buffer_unmap(buffer->wineD3DVertexBuffer);
    wined3d_mutex_unlock();

    return D3D_OK;
}
コード例 #4
0
ファイル: buffer.c プロジェクト: MichaelMcDonnell/wine
static HRESULT WINAPI d3d9_indexbuffer_Unlock(IDirect3DIndexBuffer9 *iface)
{
    IDirect3DIndexBuffer9Impl *buffer = impl_from_IDirect3DIndexBuffer9(iface);

    TRACE("iface %p.\n", iface);

    wined3d_mutex_lock();
    wined3d_buffer_unmap(buffer->wineD3DIndexBuffer);
    wined3d_mutex_unlock();

    return D3D_OK;
}
コード例 #5
0
ファイル: vertexbuffer.c プロジェクト: mgriepentrog/wine
/*****************************************************************************
 * IDirect3DVertexBuffer7::Unlock
 *
 * Unlocks a vertex Buffer
 *
 * Returns:
 *  D3D_OK on success
 *
 *****************************************************************************/
static HRESULT WINAPI IDirect3DVertexBufferImpl_Unlock(IDirect3DVertexBuffer7 *iface)
{
    IDirect3DVertexBufferImpl *This = impl_from_IDirect3DVertexBuffer7(iface);

    TRACE("iface %p.\n", iface);

    wined3d_mutex_lock();
    wined3d_buffer_unmap(This->wineD3DVertexBuffer);
    wined3d_mutex_unlock();

    return D3D_OK;
}
コード例 #6
0
/*****************************************************************************
 * IDirect3DVertexBuffer7::Unlock
 *
 * Unlocks a vertex Buffer
 *
 * Returns:
 *  D3D_OK on success
 *
 *****************************************************************************/
static HRESULT WINAPI
IDirect3DVertexBufferImpl_Unlock(IDirect3DVertexBuffer7 *iface)
{
    IDirect3DVertexBufferImpl *This = (IDirect3DVertexBufferImpl *)iface;

    TRACE("iface %p.\n", iface);

    EnterCriticalSection(&ddraw_cs);
    wined3d_buffer_unmap(This->wineD3DVertexBuffer);
    LeaveCriticalSection(&ddraw_cs);

    return D3D_OK;
}
コード例 #7
0
ファイル: buffer.c プロジェクト: H3n0xek/wine
static void STDMETHODCALLTYPE d3d10_buffer_Unmap(ID3D10Buffer *iface)
{
    TRACE("iface %p.\n", iface);

    wined3d_buffer_unmap(((struct d3d10_buffer *)iface)->wined3d_buffer);
}