Commit Graph

3998 Commits

Author SHA1 Message Date
Henri Verbeet c48adfe201 wined3d: Use "gl_filter" in the non-FBO path of swapchain_blit() as well. 2010-03-17 10:05:59 +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
Alexandre Julliard bef5645eb1 makefiles: Remove the no longer needed explicit separators for dependencies. 2010-03-16 13:28:19 +01:00
Ričardas Barkauskas a7aa4a87e2 wined3d: Fix ATI2N pitch and offset calculations. 2010-03-16 13:03:30 +01:00
Henri Verbeet 78166b0b23 wined3d: Implement SetDestWindowOverride() by simply making the context current on a different window. 2010-03-16 11:45:15 +01:00
Henri Verbeet cd9a8b74b9 wined3d: Store the device window in the swapchain.
The swapchain's current window might be changed by SetDestWindowOverride().
2010-03-16 11:45:11 +01:00
Henri Verbeet aa819fe888 wined3d: Simplify a comparison in IWineD3DDeviceImpl_Reset(). 2010-03-16 11:45:06 +01:00
Henri Verbeet d6bbe90b85 wined3d: The swapchain should always have a window handle. 2010-03-16 11:45:01 +01:00
Henri Verbeet 0ae49c35fb wined3d: Use the context's window handle in IWineD3DSurfaceImpl_BltOverride(). 2010-03-16 11:44:55 +01:00
Henri Verbeet 7b0b16fafe wined3d: Use the context's window handle in stretch_rect_fbo(). 2010-03-16 11:44:50 +01:00
Henri Verbeet 18ec2525a4 wined3d: Store the swapchain instead of the surface in the context. 2010-03-16 11:44:44 +01:00
Henri Verbeet b281f23efe wined3d: Add a separate function to set the pixel format in context_create(). 2010-03-16 11:44:38 +01:00
Henri Verbeet 4133a0a4ff wined3d: Use "gl_info" in some more places in context_create(). 2010-03-16 11:44:32 +01:00
Henri Verbeet 4b671f4d54 wined3d: Move device context array functions to device.c. 2010-03-15 15:55:57 +01:00
Henri Verbeet 6ed7906852 wined3d: Don't partially initialize contexts in AddContextToArray().
Just add a context to the device's context array.
2010-03-15 15:55:51 +01:00
Henri Verbeet 8a107bc63a wined3d: Kill pbuffer offscreen rendering support.
Our pbuffer support is broken, nobody cares.
2010-03-15 15:55:38 +01:00
Roderick Colenbrander 604caf0caa wined3d: Remove oversize texture support. 2010-03-15 14:23:15 +01:00
Roderick Colenbrander 74bf524a99 wined3d: Use surface_get_blt_info to compute texture coordinates for surface_blt_to_drawable. 2010-03-15 14:22:57 +01:00
Roderick Colenbrander 360384277b wined3d: Extend surface_get_depth_blt_info with texture coordinate code from surface_blt_to_drawable. 2010-03-15 14:22:44 +01:00
Paul Andrew Panon 482fbe91e2 wined3d: Update to add Mesa ATI card detection code. 2010-03-05 12:46:46 +01:00
Kusanagi Kouichi f4bce098ea wined3d: Fix a failure of card vendor detection. 2010-03-05 12:39:30 +01:00
Stefan Dösinger bd0641d37f wined3d: Add wined3d_event_query_create and destroy.
This also moves the event query faking code back to the external
interface and removes the temporary WINED3D_EVENT_QUERY_UNSUPPORTED
return value since wined3d_event_query_create properly fails if no
event query GL extension is supported.
2010-03-05 12:39:23 +01:00
Stefan Dösinger 6863af3ebb wined3d: Introduce wined3d_event_query_issue. 2010-03-05 12:39:15 +01:00
Stefan Dösinger a0d1a55650 wined3d: Create a wined3d internal event query interface.
The newly created wined3d_event_query_test will be available for
wined3d-internal use, primarily for synchronizing buffer updates when
using GL_APPLE_flush_buffer_range.

The wined3d_event_query interface will contain most of the functionality:
* Selecting the proper GL extension
* Context handling
* Thread handling

The IWineD3DEventQuery COM interface will use the internal interface
and implement event query faking on top of it (to enable games that
require event queries able to run on drivers that don't implement the
GL extension).
2010-03-05 12:39:07 +01:00
Henri Verbeet ba519be60f wined3d: Split TEXT shader comments into separate lines.
Based on a patch by Christian Costa.
2010-03-04 17:29:16 +01:00
Paul Andrew Panon 74a059d21b wined3d: Add Mesa ATI card detection code. 2010-03-03 16:13:23 +01:00
Paul Andrew Panon 85b07b9d38 wined3d: Add a card detection table and refactor wined3d_guess_card. 2010-03-03 16:13:09 +01:00
Paul Andrew Panon 1735b4ee92 wined3d: Adjust the quirks to use the new GL_VENDOR codes. 2010-03-03 16:06:40 +01:00
Paul Andrew Panon 7a9734dc68 wined3d: Add a real GL vendor detection. 2010-03-03 16:06:28 +01:00
Paul Andrew Panon 31573b21b9 wined3d: Rename GL_VENDOR to HW_VENDOR. 2010-03-03 16:06:07 +01:00
Roderick Colenbrander c0ef7a1a93 wined3d: Move the 8-bit palette shader code over to the blit_shader backend. 2010-03-03 12:53:51 +01:00
Roderick Colenbrander 922ad80f42 wined3d: Rename yuv to complex in order to prepare for 8-bit palette fixups using the same code. 2010-03-03 12:53:41 +01:00
Roderick Colenbrander ccea415c77 wined3d: Fix multisampling on cards without 32-bit RGB fbconfigs. 2010-03-02 11:11:49 +01:00
Henri Verbeet de006dbcf9 wined3d: Escape shader comments. 2010-02-23 12:06:58 +01:00
Henri Verbeet eefb45f333 wined3d: Properly report shader comment sizes. 2010-02-23 12:06:54 +01:00
Stefan Dösinger 5c4d3fb5a2 wined3d: Control SFLAG_CONVERTED in surface_prepare_texture.
This makes sure that the flag is set correctly when
surface_allocate_surface is called and client storage is disabled
properly for converted surfaces.
2010-02-17 16:50:38 +01:00
Henri Verbeet f97565191c wined3d: Drop buffer objects from the stream info as well when PreLoad drops them. 2010-02-16 10:47:56 +01:00
Henri Verbeet 974f888dfa wined3d: Move the gl info structure to wined3d_private.h. 2010-02-16 10:47:50 +01:00
Henri Verbeet 1a880cb1f9 wined3d: Remove some unused extensions. 2010-02-16 10:47:40 +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
Henri Verbeet ba8e6f713b wined3d: Use the HDC from the acquired context to call SwapBuffer().
These should be the same, but this way the relation is clearer.
2010-02-05 10:06:21 +01:00
Henri Verbeet d0afc7567b wined3d: Call SetDestWindowOverride() before acquiring a context. 2010-02-05 10:06:17 +01:00
Henri Verbeet 3df59ef0d5 wined3d: Get rid of the now redundant max_ffp_texture_stages device field. 2010-02-05 10:06:12 +01:00
Henri Verbeet 4c7bcb883b wined3d: Set the texture stage limit based on the fragment pipe caps. 2010-02-05 10:06:08 +01:00
Henri Verbeet b59dd0e4e8 wined3d: Add the general combiner limit to wined3d_gl_info. 2010-02-05 10:06:03 +01:00
Henri Verbeet 576ea95803 wined3d: Remove the unused device type parameter from the shader backend's get_caps() function. 2010-02-04 13:39:27 +01:00