Commit Graph

56 Commits

Author SHA1 Message Date
Stefan Dösinger 24e2308670 wined3d: Don't use GL_MAP_FLUSH_EXPLICIT_BIT without GL_MAP_WRITE_BIT. 2010-02-09 11:33:44 +01:00
Stefan Dösinger 8625f0cdbf wined3d: Don't record dirty areas in a readonly lock. 2010-02-09 11:33:34 +01:00
Stefan Dösinger 224043d6cf wined3d: Implement dynamic buffers with GL_ARB_map_buffer_range. 2010-02-02 14:09:14 +01:00
Stefan Dösinger d499073c10 wined3d: Catch invalid buffer map parameters. 2010-01-29 14:59:02 +01:00
Stefan Dösinger ee720f05d1 wined3d: Put the APPLE_flush_buffer_range code into the right branch. 2010-01-26 12:18:59 +01:00
Henri Verbeet 98568f0ba1 wined3d: Add support for ARB_vertex_array_bgra. 2010-01-26 12:08:27 +01:00
Stefan Dösinger a756caac0c wined3d: Implement subrange flushing with GL_APPLE_flush_buffer_range. 2010-01-04 12:09:34 +01:00
Stefan Dösinger 5296d5b016 wined3d: Prepare for dynamic vertex buffers. 2010-01-04 12:09:28 +01:00
Stefan Dösinger 716520b4b8 wined3d: Track separate dirty ranges in buffers. 2010-01-04 12:08:14 +01:00
Stefan Dösinger 1bd98719e6 wined3d: Set WINED3D_BUFFER_CREATEBO in buffer_init(). 2010-01-04 12:07:50 +01:00
Stefan Dösinger b9976c3d20 wined3d: Revert the GL usage confusion.
This is functionally a revert of
8eeb513b1a. The language of the extension
is slightly confusing to me, but GL_STREAM_*_ARB is more dynamic than
GL_DYNAMIC_*_ARB. So use GL_STREAM usage for D3DUSAGE_DYNAMIC buffers and
GL_DYNAMIC usage for non-dynamic buffers.
2010-01-04 12:07:45 +01:00
Henri Verbeet ea2f7a2739 wined3d: Remove some redundant returns. 2009-12-30 13:31:26 +01:00
Stefan Dösinger 4f594777a2 wined3d: Drop the VBO if too many full buffer conversions occur. 2009-12-29 11:04:03 +01:00
Stefan Dösinger 9750cca9b1 wined3d: Increment the buffer draw count if the buffer was clean. 2009-12-29 11:03:51 +01:00
Stefan Dösinger f90b8b6352 wined3d: Rename conversion_count to something more appropriate. 2009-12-29 11:03:44 +01:00
Stefan Dösinger 1d37ae6f61 wined3d: Use unload instead of duplicating buffer remove code. 2009-12-29 11:03:24 +01:00
Stefan Dösinger 4590dc4806 wined3d: Free buffer conversion info when freeing the buffer. 2009-12-29 11:03:10 +01:00
Stefan Dösinger 8eeb513b1a wined3d: Fix VBO buffer usage. 2009-12-16 13:04:19 +01:00
Henri Verbeet b3defd4c80 wined3d: Rename "wineD3DDevice" to "device". 2009-12-10 11:54:47 +01:00
Henri Verbeet b6ef17f23d wined3d: Remove unused GetDevice() implementations. 2009-12-09 13:51:04 +01:00
Stefan Dösinger d4275e87f1 wined3d: Add a usage flag for static buffer declarations. 2009-11-03 21:21:55 +01:00
Henri Verbeet 111307dfba wined3d: Get rid of the GL_SUPPORT macro. 2009-10-29 13:09:33 +01:00
Henri Verbeet eeb54b9922 wined3d: Keep better track of where we're using wined3d contexts.
The idea here is that we can restore the thread's current GL context on
context_release() if it doesn't correspond to the current wined3d context on
context_acquire().
2009-10-28 11:15:19 +01:00
Henri Verbeet 69bf130476 wined3d: Remove a redundant ActivateContext() call. 2009-10-26 11:20:26 +01:00
Henri Verbeet 47c84f4f7f wined3d: Use the DXGI naming convention for all formats. 2009-09-25 15:15:44 +02:00
Henri Verbeet dbc4dfc495 wined3d: Move "parent_ops" to IWineD3DResourceClass. 2009-09-18 08:55:33 -05:00
Henri Verbeet 93b0600829 wined3d: Don't free D3D buffers until the wined3d buffer is destroyed. 2009-09-18 08:55:25 -05:00
Henri Verbeet 22124bc5cb wined3d: Add a separate function for buffer initialization. 2009-09-18 08:54:44 -05:00
Henri Verbeet 839658848c wined3d: Properly check if an attribute is used in find_conversion_shift(). 2009-08-25 11:09:45 +02:00
Henri Verbeet 16b0c6a0fd wined3d: Properly check if an attribute is used in buffer_check_attribute(). 2009-08-24 15:17:33 +02:00
Henri Verbeet ee4d18cc83 wined3d: Pass NULL to ActivateContext() when we don't need a specific target.
Once we keep track of the wined3d context for each thread,
lastActiveRenderTarget won't do what we want here.
2009-07-21 14:22:44 +02:00
Henri Verbeet 9cf7888002 wined3d: Fix some cast-qual warnings. 2009-07-09 11:38:07 +02:00
Henri Verbeet 2ac34bf231 wined3d: Add some missing float suffixes.
The compiler should be smart enough to fix most of these, but it looks sloppy.
2009-07-07 11:50:05 +02:00
Henri Verbeet 7363b6e2e3 wined3d: Document GL context dependencies. 2009-06-26 12:05:07 +02:00
Henri Verbeet 964f4b0157 wined3d: Make sure we have an active GL context in buffer_PreLoad(). 2009-06-25 11:47:16 +02:00
Henri Verbeet 37491bb5d1 wined3d: Simplify the transformed position fixup a bit. 2009-06-22 12:58:54 +02:00
Rico Schüller 3ea66d6026 wined3d: Don't allow a negative lock_count in buffer_Unmap. 2009-06-11 13:23:25 +02:00
Stefan Dösinger d2e12a19ca wined3d: Make use of GL_ARB_half_float_vertex.
This extension is a subset of GL_NV_half_float that defines support
for the stream format(same constant), but doesn't define texture
formats or immediate mode entrypoints.
2009-05-05 14:13:02 +02:00
Stefan Dösinger 1fbc6e560d wined3d: Fix an issue in buffer_get_sysmem.
Checking for the doublebuffer flag can cause confusion if no VBO has
been allocated for the buffer. Checking for allocatedMemory is the
more direct approach.
2009-04-28 13:10:03 +02:00
Stefan Dösinger 926fe798c5 wined3d: Activate a thread before mapping a buffer.
This fixes a regression in EverQuest 2.
2009-04-28 13:10:02 +02:00
Stefan Dösinger 014c4bfc70 wined3d: Save some memory in vertex buffers.
In most cases we're fine with the vbo and glMapBuffer and never use the actual
heap memory copy. Try to stick to just the vbo copy and avoid allocating the
extra heap memory. In case it is needed(emulation or vertex conversion), fall
back to the old double buffering mode.
2009-04-10 11:14:32 +02:00
Stefan Dösinger cb1c9dcda9 d3d: Remove the format from index buffers. 2009-04-09 16:28:25 +02:00
Stefan Dösinger f0efa97413 wined3d: Remove the buffer fvf. 2009-04-09 16:28:10 +02:00
Stefan Dösinger 2a7a237170 wined3d: Merge indexbuffer and buffer implementations. 2009-04-08 11:37:24 +02:00
Stefan Dösinger 3ed94329a3 wined3d: Use Map and Unmap for index buffers.
Just a change in name to prepare for the next patch
2009-04-08 11:36:18 +02:00
Stefan Dösinger dc80a3ede5 d3d: Unify WINED3DVERTEXBUFFER_DESC and WINED3DINDEXBUFFER_DESC. 2009-04-08 11:36:02 +02:00
Henri Verbeet ef2d704183 wined3d: Store the format_desc itself in struct wined3d_stream_info_element. 2009-03-30 15:11:24 +02:00
Henri Verbeet 4434d00f84 wined3d: Unify vertex and texture formats.
Some fields should be redundant now, eg. gl_vtx_type and glType. I'll leave
that for a different patch to fix though.
2009-03-27 15:51:25 +01:00
Henri Verbeet d7c7c76850 wined3d: Use separate structures for ddraw style strided data and wined3d's internal stream info. 2009-03-27 15:51:25 +01:00
Henri Verbeet 2dc7fc2916 wined3d: Remove the format field from IWineD3DResourceClass. 2009-03-13 11:29:19 +01:00