Commit Graph

2067 Commits

Author SHA1 Message Date
Stefan Dösinger 7b297890a7 wined3d: Mark a vertex buffer dirty after VBO creation. 2008-02-26 11:31:53 +01:00
Stefan Dösinger 220d9eb44c wined3d: Move the dummy texture creation to the device. 2008-02-26 11:31:47 +01:00
Stefan Dösinger f912f18b13 wined3d: Move shader model private data into its own structure. 2008-02-26 11:31:39 +01:00
Stefan Dösinger 6269415793 wined3d: Add GL_APPLE_float_pixels. 2008-02-26 11:31:29 +01:00
Stefan Dösinger 825506d5ff wined3d: General cross format blitting infrastrucutre, R32F->R16F blits. 2008-02-26 11:31:19 +01:00
Roderick Colenbrander f5149e651e wined3d: Check real depth/stencil capabilities based on WGL pixel formats. 2008-02-26 11:29:59 +01:00
Roderick Colenbrander e5bef99fbe wined3d: Request aux buffers when using backbuffer rendering. 2008-02-25 12:17:36 +01:00
Roderick Colenbrander 68467cf344 wined3d: Request alpha in backbuffer mode, to work correctly with multiple opengl pixel formats. 2008-02-25 12:14:36 +01:00
Roderick Colenbrander e2d70fff6b ddraw: Add yv12 detection support. 2008-02-22 12:04:01 +01:00
Roderick Colenbrander 0b3d880c8e wined3d: Use the color key in glAlphaFunc in case of index_in_alpha. 2008-02-22 11:54:51 +01:00
Roderick Colenbrander 0cdccfc8b5 wined3d: Unify p8 render target detection code. 2008-02-22 11:54:40 +01:00
Roderick Colenbrander a5444cb897 wined3d: In DirectDraw a palette is a property of a surface while in d3d8/9 it is a property of a device. 2008-02-22 11:54:31 +01:00
Roderick Colenbrander 98a0786096 wined3d: Don't flush in D3D RealizePalette without a palette. 2008-02-22 11:53:45 +01:00
Roderick Colenbrander c623ffd7d0 wined3d: Don't flush in GDI RealizePalette without a palette. 2008-02-22 11:53:29 +01:00
Roderick Colenbrander 8f18eeea35 wined3d: Let flush_to_framebuffer_drawpixels use a valid rect. 2008-02-20 12:06:46 +01:00
Stefan Dösinger f952419651 wined3d: Enable the texcoord init workaround on radeon HD cards on MacOS. 2008-02-19 14:47:59 +01:00
Stefan Dösinger e40bb4a8c3 wined3d: Create a VBO before returning memory.
The state manager calls GetMemory before it calls PreLoad on the VBO,
and PreLoad depends on finding the VBO in the strided vertex structure.
This can cause problems on the first draw which creates the vertex
buffer, because the first PreLoad creates the vbo and attempts to
convert with an incorrect strided structure.
2008-02-19 14:47:51 +01:00
Roderick Colenbrander 28464f9689 wined3d: Fix lack of indent in PreLoad. 2008-02-19 13:39:25 +01:00
Roderick Colenbrander ef21f1e85e wined3d: The base RealizePalette isn't needed anymore. 2008-02-19 13:39:25 +01:00
Roderick Colenbrander 48275308ee wined3d: Add a GL specific RealizePalette which also updates the drawable. 2008-02-19 13:39:25 +01:00
Roderick Colenbrander 61c82f8069 wined3d: Add a GDI version of RealizePalette.
The base version won't suffice anymore as it is not able to upload
palette changes to the drawable in an efficient way for both GDI and
GL. Further the LoadLocation code in RealizePalette isn't needed for
the GDI version as in all cases it works on system memory.
2008-02-19 13:39:25 +01:00
Alexander Dorofeyev 5346039d5a wined3d: Take alpha from device palette entry for d3d 8 and later.
Adds support for D3D >= 8 style palettes that contain alpha. This fixes
rendering problems in games like Commandos 3 and Madden NFL 2004.
2008-02-19 13:39:24 +01:00
Roderick Colenbrander 1079f37407 wined3d: When DDCAPS_ALLOW256 is set, palette entry 0 and 255 are filled with black and white. 2008-02-19 12:06:25 +01:00
Roderick Colenbrander c2d978410f wined3d: Add separate alpha blend support. 2008-02-18 14:19:57 +01:00
Roderick Colenbrander a29584b34f wined3d: Add SURFACE_BUSY support to *_BltFast. 2008-02-18 14:19:44 +01:00
Roderick Colenbrander 5437cb01f1 wined3d: Add SURFACE_BUSY support to *_Blt. 2008-02-18 14:19:37 +01:00
Stefan Dösinger 989d283000 wined3d: Detect and work around the MacOS Geforce 8 PBO brokeness. 2008-02-18 13:36:58 +01:00
Stefan Dösinger b8c613196d wined3d: Fix a syntax error in the ARB vertex program offset shader.
As some Mesa developers pointed out, the GL_ARB_vertex_program grammar
does not allow an immediate value as source argument in ARL. Most
compilers accept it, but since it is not the purpose of the test
program to test for this replace it with a proper constant.
2008-02-18 13:34:37 +01:00
Stefan Dösinger c2d97b2329 wined3d: Add a test for fixed function bump mapping. 2008-02-18 13:34:25 +01:00
Stefan Dösinger d49c9bbcbe wined3d: Do not change the texture unit when binding surfaces.
Changing the texture unit when binding a surface for loading can break
the state manager in the way that it changes the currently active
texture unit while it is setting up a texture that has to be loaded.
Instead find out the current unit to dirtify the correct sampler.
2008-02-18 13:34:13 +01:00
Stefan Dösinger b1e1df5117 wined3d: Extend out anti-spam database a bit. 2008-02-18 13:34:01 +01:00
Rico Schüller 59a43c4cc9 wined3d: Fix memcpy with wrong size parameter to simple assignment in GetScissorRect. 2008-02-15 12:08:54 +01:00
Stefan Dösinger 81de2fa10a wined3d: Add a test for the vFace register. 2008-02-15 09:40:03 +01:00
Roderick Colenbrander ba90a740be wined3d: Add read_from_framebuffer_texture which combines code from read_from_framebuffer (drawpixels) and LoadLocation.
This makes the code easier to read and the pieces borrowed from
read_from_framebuffer are more correct than the code in LoadLocation.
2008-02-11 19:58:58 +01:00
Roderick Colenbrander 059778446f wined3d: Upload p8 palette using GL_ALPHA instead of GL_RED. 2008-02-08 11:04:36 +01:00
Stefan Dösinger 62a92d160e wined3d: Restore the Window size on reset. 2008-02-07 13:05:44 +01:00
Stefan Dösinger b322f81b75 wined3d: Reject unsupported modes when restting the device. 2008-02-07 13:05:27 +01:00
Stefan Dösinger 3e7f1388be wined3d: Add some ATI cards to the version database. 2008-02-07 13:05:20 +01:00
Stefan Dösinger 1c1a6f32ae wined3d: Add infrastructure for faking driver versions.
Often the Linux / MacOS graphics driver version is of no use for
finding a proper driver version to report to the D3D app. So this
patch adds some infrastructure for easy hardcoding of card specific
driver versions to report to the application. This helps applications
which make assumptions based on the driver version, like bug
workarounds.
2008-02-07 13:05:04 +01:00
Stefan Dösinger 089c34b95a wined3d: Create VBOs. 2008-02-06 12:43:53 +01:00
Stefan Dösinger 74db14728e wined3d: Separate OpenGL and driver version. 2008-02-06 12:43:53 +01:00
Stefan Dösinger 3188d9ae30 wined3d: Move the highpart of the driver version to the gl structure.
While 6.14 is a sane default, we might want to override it on a
per-driver basis, if we have really old Windows drivers on some cards.
2008-02-06 12:43:53 +01:00
Stefan Dösinger cb6de00c86 wined3d: Tear down the dummy textures before resetting.
In theory the opengl library should release the gl resources when we
destroy the context, and the stateblock reset will recreate the dummy
textures, but I think it is cleaner to do this explicitly.
2008-02-06 12:43:53 +01:00
Stefan Dösinger 564532f026 wined3d: Restore the stateblock after Reset. 2008-02-06 12:43:53 +01:00
Roderick Colenbrander 35e0bb8225 wined3d: Redownload the surface data in case of a palette change. This fixes a lot of redrawing problems in Red Alert. 2008-02-06 11:36:44 +01:00
Roderick Colenbrander 424e9c3e08 wined3d: Allow read back of P8 surfaces. This fixes some of the redrawing issues in Red Alert. 2008-02-06 11:36:35 +01:00
Roderick Colenbrander f84589ea1f wined3d: Reload the palette on a color key change. This fixes the ddex4/ddex5 samples from the dx7 sdk. 2008-02-06 11:36:23 +01:00
Roderick Colenbrander 1b78457bc6 wined3d: Make sure to set the color key when it is needed including for index_in_alpha. 2008-02-06 11:36:15 +01:00
Stefan Dösinger dcf08f01ed wined3d: Recreate the contexts on _Reset. 2008-02-05 12:42:39 +01:00
Stefan Dösinger e7393a8a11 wined3d: Move vertex buffer vbo creation to PreLoad. 2008-02-05 12:42:30 +01:00