=?UTF-8?Q?Stefan=20D=C3=B6singer=20?=: wined3d: Remove draw_*_primitive_up.

Alexandre Julliard julliard at winehq.org
Wed Dec 19 14:01:09 CST 2012


Module: wine
Branch: master
Commit: 8cf55497cc45e2bd7b2a4c09661be0ab7ab06277
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=8cf55497cc45e2bd7b2a4c09661be0ab7ab06277

Author: Stefan Dösinger <stefan at codeweavers.com>
Date:   Tue Dec 18 22:53:16 2012 +0100

wined3d: Remove draw_*_primitive_up.

Note that I can't remove the state->user_stream mess yet, because of
draw_*_primitive_strided. Another patchset will deal with that.

---

 dlls/wined3d/device.c     |  100 ---------------------------------------------
 dlls/wined3d/wined3d.spec |    2 -
 include/wine/wined3d.h    |    5 --
 3 files changed, 0 insertions(+), 107 deletions(-)

diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index 7fcc9c8..42cd226 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -4160,106 +4160,6 @@ void CDECL wined3d_device_draw_indexed_primitive_instanced(struct wined3d_device
     draw_primitive(device, start_idx, index_count, start_instance, instance_count, TRUE, NULL);
 }
 
-HRESULT CDECL wined3d_device_draw_primitive_up(struct wined3d_device *device, UINT vertex_count,
-        const void *stream_data, UINT stream_stride)
-{
-    struct wined3d_stream_state *stream;
-    struct wined3d_buffer *vb;
-
-    TRACE("device %p, vertex count %u, stream_data %p, stream_stride %u.\n",
-            device, vertex_count, stream_data, stream_stride);
-
-    if (!device->stateBlock->state.vertex_declaration)
-    {
-        WARN("Called without a valid vertex declaration set.\n");
-        return WINED3DERR_INVALIDCALL;
-    }
-
-    /* Note in the following, it's not this type, but that's the purpose of streamIsUP */
-    stream = &device->stateBlock->state.streams[0];
-    vb = stream->buffer;
-    stream->buffer = (struct wined3d_buffer *)stream_data;
-    if (vb)
-        wined3d_buffer_decref(vb);
-    stream->offset = 0;
-    stream->stride = stream_stride;
-    device->stateBlock->state.user_stream = TRUE;
-    if (device->stateBlock->state.load_base_vertex_index)
-    {
-        device->stateBlock->state.load_base_vertex_index = 0;
-        device_invalidate_state(device, STATE_BASEVERTEXINDEX);
-    }
-
-    /* TODO: Only mark dirty if drawing from a different UP address */
-    device_invalidate_state(device, STATE_STREAMSRC);
-
-    draw_primitive(device, 0, vertex_count, 0, 0, FALSE, NULL);
-
-    /* MSDN specifies stream zero settings must be set to NULL */
-    stream->buffer = NULL;
-    stream->stride = 0;
-
-    /* stream zero settings set to null at end, as per the msdn. No need to
-     * mark dirty here, the app has to set the new stream sources or use UP
-     * drawing again. */
-    return WINED3D_OK;
-}
-
-HRESULT CDECL wined3d_device_draw_indexed_primitive_up(struct wined3d_device *device,
-        UINT index_count, const void *index_data, enum wined3d_format_id index_data_format_id,
-        const void *stream_data, UINT stream_stride)
-{
-    struct wined3d_stream_state *stream;
-    struct wined3d_buffer *vb, *ib;
-
-    TRACE("device %p, index_count %u, index_data %p, index_data_format %s, stream_data %p, stream_stride %u.\n",
-            device, index_count, index_data, debug_d3dformat(index_data_format_id), stream_data, stream_stride);
-
-    if (!device->stateBlock->state.vertex_declaration)
-    {
-        WARN("(%p) : Called without a valid vertex declaration set\n", device);
-        return WINED3DERR_INVALIDCALL;
-    }
-
-    stream = &device->stateBlock->state.streams[0];
-    vb = stream->buffer;
-    stream->buffer = (struct wined3d_buffer *)stream_data;
-    if (vb)
-        wined3d_buffer_decref(vb);
-    stream->offset = 0;
-    stream->stride = stream_stride;
-    device->stateBlock->state.user_stream = TRUE;
-    device->stateBlock->state.index_format = index_data_format_id;
-
-    /* Set to 0 as per MSDN. Do it now due to the stream source loading during draw_primitive(). */
-    device->stateBlock->state.base_vertex_index = 0;
-    if (device->stateBlock->state.load_base_vertex_index)
-    {
-        device->stateBlock->state.load_base_vertex_index = 0;
-        device_invalidate_state(device, STATE_BASEVERTEXINDEX);
-    }
-    /* Invalidate the state until we have nicer tracking of the stream source pointers */
-    device_invalidate_state(device, STATE_STREAMSRC);
-    device_invalidate_state(device, STATE_INDEXBUFFER);
-
-    draw_primitive(device, 0, index_count, 0, 0, TRUE, index_data);
-
-    /* MSDN specifies stream zero settings and index buffer must be set to NULL */
-    stream->buffer = NULL;
-    stream->stride = 0;
-    ib = device->stateBlock->state.index_buffer;
-    if (ib)
-    {
-        wined3d_buffer_decref(ib);
-        device->stateBlock->state.index_buffer = NULL;
-    }
-    /* No need to mark the stream source state dirty here. Either the app calls UP drawing again, or it has to call
-     * SetStreamSource to specify a vertex buffer
-     */
-
-    return WINED3D_OK;
-}
-
 HRESULT CDECL wined3d_device_draw_primitive_strided(struct wined3d_device *device,
         UINT vertex_count, const struct wined3d_strided_data *strided_data)
 {
diff --git a/dlls/wined3d/wined3d.spec b/dlls/wined3d/wined3d.spec
index 3b39c41..5322be8 100644
--- a/dlls/wined3d/wined3d.spec
+++ b/dlls/wined3d/wined3d.spec
@@ -45,10 +45,8 @@
 @ cdecl wined3d_device_draw_indexed_primitive(ptr long long)
 @ cdecl wined3d_device_draw_indexed_primitive_instanced(ptr long long long long)
 @ cdecl wined3d_device_draw_indexed_primitive_strided(ptr long ptr long ptr long)
-@ cdecl wined3d_device_draw_indexed_primitive_up(ptr long ptr long ptr long)
 @ cdecl wined3d_device_draw_primitive(ptr long long)
 @ cdecl wined3d_device_draw_primitive_strided(ptr long ptr)
-@ cdecl wined3d_device_draw_primitive_up(ptr long ptr long)
 @ cdecl wined3d_device_draw_rect_patch(ptr long ptr ptr)
 @ cdecl wined3d_device_draw_tri_patch(ptr long ptr ptr)
 @ cdecl wined3d_device_end_scene(ptr)
diff --git a/include/wine/wined3d.h b/include/wine/wined3d.h
index 0b07328..77c76ab 100644
--- a/include/wine/wined3d.h
+++ b/include/wine/wined3d.h
@@ -2094,14 +2094,9 @@ void __cdecl wined3d_device_draw_indexed_primitive_instanced(struct wined3d_devi
 HRESULT __cdecl wined3d_device_draw_indexed_primitive_strided(struct wined3d_device *device, UINT index_count,
         const struct wined3d_strided_data *strided_data, UINT vertex_count, const void *index_data,
         enum wined3d_format_id index_data_format_id);
-HRESULT __cdecl wined3d_device_draw_indexed_primitive_up(struct wined3d_device *device,
-        UINT index_count, const void *index_data, enum wined3d_format_id index_data_format_id,
-        const void *stream_data, UINT stream_stride);
 HRESULT __cdecl wined3d_device_draw_primitive(struct wined3d_device *device, UINT start_vertex, UINT vertex_count);
 HRESULT __cdecl wined3d_device_draw_primitive_strided(struct wined3d_device *device,
         UINT vertex_count, const struct wined3d_strided_data *strided_data);
-HRESULT __cdecl wined3d_device_draw_primitive_up(struct wined3d_device *device,
-        UINT vertex_count, const void *stream_data, UINT stream_stride);
 HRESULT __cdecl wined3d_device_draw_rect_patch(struct wined3d_device *device, UINT handle,
         const float *num_segs, const struct wined3d_rect_patch_info *rect_patch_info);
 HRESULT __cdecl wined3d_device_draw_tri_patch(struct wined3d_device *device, UINT handle,




More information about the wine-cvs mailing list