203 Commits

Author SHA1 Message Date
Henri Verbeet
a27ee75ed2 wined3d: Remove COM from the buffer implementation. 2011-03-04 16:25:58 +01:00
Henri Verbeet
1de6adfbae wined3d: Make IWineD3DResourceImpl an independent structure. 2011-03-01 13:21:59 +01:00
Henri Verbeet
39497ff4d1 wined3d: Remove IWineD3DResource::UnLoad() from the public interface. 2011-02-28 11:09:48 +01:00
Henri Verbeet
c117248bd1 wined3d: Pass an IWineD3DResourceImpl pointer to resource_get_type(). 2011-01-07 10:23:37 +01:00
Henri Verbeet
7e67bcedfd wined3d: Pass an IWineD3DResourceImpl pointer to resource_set_priority(). 2011-01-07 10:23:25 +01:00
Henri Verbeet
2d9748b1e3 wined3d: Pass an IWineD3DResourceImpl pointer to resource_get_priority(). 2011-01-07 10:23:21 +01:00
Henri Verbeet
a80749fd57 wined3d: Pass an IWineD3DResourceImpl pointer to resource_set_private_data(). 2011-01-07 10:23:17 +01:00
Henri Verbeet
92e439b0f0 wined3d: Pass an IWineD3DResourceImpl pointer to resource_get_private_data(). 2011-01-06 11:33:33 +01:00
Henri Verbeet
a97ae0db6a wined3d: Pass an IWineD3DResourceImpl pointer to resource_free_private_data(). 2011-01-06 11:33:29 +01:00
Henri Verbeet
134137cdb4 wined3d: Pass an IWineD3DResourceImpl pointer to resource_cleanup(). 2011-01-06 11:33:24 +01:00
Henri Verbeet
7080922e0e wined3d: Pass an IWineD3DResourceImpl pointer to resource_init(). 2011-01-06 11:33:19 +01:00
Henri Verbeet
5fc53941ef wined3d: Pass a wined3d_buffer structure to buffer_get_memory(). 2010-12-08 11:27:40 +01:00
Henri Verbeet
a147fd9c36 wined3d: Fix the indentation in buffer_direct_upload(). 2010-11-23 13:15:39 +01:00
Henri Verbeet
fadd192cba wined3d: buffer_get_sysmem() potentially invalidates the current element array buffer binding.
This fixes a regression introduced by commit
2a7a2371709233bc87071bbab43e87955cb122ca.
2010-11-16 13:48:46 +01:00
Henri Verbeet
70f4e66f84 wined3d: IWineD3DBuffer_Unmap() can't fail. 2010-10-15 16:19:54 +02:00
Henri Verbeet
9224751a13 wined3d: Pass a wined3d_state structure to use_vs(). 2010-09-28 17:33:17 +02:00
Henri Verbeet
153d8d43aa wined3d: Move stream state to wined3d_state. 2010-09-21 14:16:58 +02:00
Henri Verbeet
e31ea51bab wined3d: Move the vertex declaration to wined3d_state. 2010-09-18 13:05:54 +02:00
Henri Verbeet
6ce848bee4 wined3d: Introduce a structure for stream state. 2010-09-14 11:43:54 -05:00
Henri Verbeet
b68d257710 wined3d: Get rid of redundant comparisons against NULL / 0. 2010-09-14 09:43:33 -05:00
Henri Verbeet
fd7c1cbf05 wined3d: IWineD3DBuffer_GetDesc() should never fail. 2010-09-14 09:43:22 -05:00
Henri Verbeet
bc2db78c3a wined3d: Explicitly document some more consequences of GL locking policy.
The basic rule is that you can't call anything that takes the user32 / gdi32
lock while under the GL (winex11) lock. As a consequence, you can't call
anything like context_acquire() or context_destroy() either.
2010-09-03 11:05:10 +02:00
Henri Verbeet
6c4c351791 wined3d: Don't require wined3d object parents to be COM objects. 2010-09-01 14:01:02 +02:00
Henri Verbeet
3a7f08a56f wined3d: Rename wined3d_format_desc to wined3d_format. 2010-08-31 14:23:47 +02:00
Henri Verbeet
b233e7b301 wined3d: Rename the "format" field in wined3d_format_desc to "id". 2010-08-26 12:41:44 +02:00
Henri Verbeet
cc5271d1b7 wined3d: Rename WINED3DFORMAT to wined3d_format_id. 2010-08-24 12:25:01 +02:00
Henri Verbeet
5f2fcfdd6b wined3d: Reattach FBO attachments when any of the corresponding surfaces is unloaded. 2010-08-16 13:47:08 +02:00
Henri Verbeet
64e2525ba0 wined3d: Release the context on an error path in buffer_PreLoad(). 2010-06-07 12:22:44 +02:00
Henri Verbeet
e8ac9bbd7f wined3d: Get rid of GLINFO_LOCATION. 2010-05-25 13:29:00 +02:00
Henri Verbeet
5dff410254 wined3d: Explicitly pass GL info to buffer_get_sysmem(). 2010-05-21 14:37:52 +02:00
Henri Verbeet
e647309402 wined3d: Explicitly pass GL info to buffer_create_buffer_object(). 2010-05-21 14:37:52 +02:00
Henri Verbeet
e536f99871 wined3d: Set the buffer.c GLINFO_LOCATION to *gl_info. 2010-05-21 14:37:52 +02:00
Stefan Dösinger
481aca47ad wined3d: Don't use GL_ARB_map_buffer_range for now.
There are numerous problems with this extension, and there are no
visible upsides. In the best case dynamic VBOs are just as fast as no
VBO at all.
2010-05-10 13:45:16 +02:00
Henri Verbeet
49e076eabd wined3d: Separate context acquisition and state application. 2010-05-04 13:14:59 +02:00
Henri Verbeet
a4fad54134 wined3d: Don't write past the end of the buffer's conversion_map. 2010-04-12 11:33:32 +02:00
Alexandre Julliard
90f4ae6948 wined3d: Remove unused offset parameter in buffer_get_memory. 2010-04-09 15:47:23 +02:00
Henri Verbeet
2533860114 wined3d: Initialization functions don't allocate. 2010-03-30 14:49:31 +02:00
Stefan Dösinger
1181762f99 wined3d: Implement manual buffer fencing. 2010-03-23 12:31:15 +01:00
Stefan Dösinger
fd13a6ae23 wined3d: Partially implement unserialized buffers with the apple extension. 2010-03-23 12:30:18 +01:00
Stefan Dösinger
5d94fe2095 wined3d: Add a function for deleting the GL buffer. 2010-03-23 12:29:33 +01:00
Henri Verbeet
3aaa6ee6e7 wined3d: Rename GlPixelFormatDesc to wined3d_format_desc. 2010-03-19 14:31:47 +01:00
Stefan Dösinger
b621fac215 wined3d: Merge two if conditions in buffer.c. 2010-03-17 13:36:17 +01:00
Henri Verbeet
ec10c1ed8d wined3d: Add missing checkGLcall's to buffer_Map(). 2010-03-17 10:06:09 +01:00
Stefan Dösinger
cc6d17ba7c wined3d: Check the alignment of mapped buffer pointers.
Windows returns 32 byte aligned pointers when locking vertex and index
buffers, and some applications(Half Life 2, Alpha Prime, possibly others)
rely on this. Check the alignment and fall back to double buffered
buffers with HeapAlloced and aligned pointers if the alignment doesn't
fit.
2010-03-16 17:03:13 +01:00
Stefan Dösinger
6c53871d30 wined3d: Implement unfenced updates of double buffered buffers. 2010-03-16 17:02:50 +01:00
Stefan Dösinger
1691a6d7d0 wined3d: Use glMapBuffer for 1:1 uploads in PreLoad.
This is needed to take advantage of asynchronous uploads with double buffered buffers
2010-03-16 17:02:43 +01:00
Stefan Dösinger
04752991b1 wined3d: Don't DISCARD or NOOVERWRITE non-dynamic buffers.
Shaiya locks a non-dynamic buffer with the DISCARD flag and expects
the contents to be retained. The SDK says DISCARD requires dynamic
resources, and Windows 7 returns an error in this situation, crashing
Shaiya. This patch sticks to the Windows XP behavior and allows the
lock, but ignores the DISCARD flag to retain the buffer contents.
2010-03-16 17:02:34 +01:00
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