Commit Graph

4189 Commits

Author SHA1 Message Date
Roderick Colenbrander 4cb6255907 wined3d: We don't need color keying for sysmem->drawable uploads. 2010-04-15 17:03:52 +02:00
Roderick Colenbrander 2a949ec323 wined3d: Remove call to d3dfmt_get_conv from read_from_framebuffer_texture. 2010-04-15 17:03:49 +02:00
Roderick Colenbrander 1a61f46bbb wined3d: Remove temporary conv_byte_count fixup from d3dfmt_get_conv. 2010-04-15 17:03:47 +02:00
Roderick Colenbrander bccfd7cc06 wined3d: Add BLT_OP_COLOR_FILL to blit_supported and use it in BltOverride. 2010-04-15 14:20:48 +02:00
Roderick Colenbrander 10f58c14bc wined3d: Improve FBO support in ClearSurface. 2010-04-15 14:20:40 +02:00
Roderick Colenbrander bf73d23d95 wined3d: Separate detection of D3D10+ and D3D9 Nvidia GPUs. 2010-04-14 18:00:47 +02:00
Roderick Colenbrander 4c87bc0c41 wined3d: Move A4L4 conversion to the formats table. 2010-04-14 18:00:47 +02:00
Roderick Colenbrander cda78c01e6 wined3d: Move G16R16/R16G16F conversion to the formats table. 2010-04-14 18:00:47 +02:00
Henri Verbeet 43e89cb981 wined3d: Prune unsupported world matrix transform states. 2010-04-13 21:13:54 +02:00
Henri Verbeet 71d484303a wined3d: We always support at least a single modelview matrix. 2010-04-13 21:13:50 +02:00
Henri Verbeet 8eb2a2cf0c wined3d: Disable strict draw ordering by default.
While some performance hit from the extra flushes was expected and would be
acceptable, the performance hit can be over 50% on some configurations, which
clearly isn't acceptable. This patch introduces a "StrictDrawOrdering"
registry key for applications affected by this, until we have a more
structural solution.
2010-04-13 21:13:36 +02:00
Henri Verbeet ab80e9739c wined3d: Add a separate function for palette initialization. 2010-04-13 21:13:26 +02:00
Henri Verbeet d1d8c81439 wined3d: Add a separate function for rendertarget view initialization. 2010-04-13 21:13:21 +02:00
Roderick Colenbrander e35f54ef1f wined3d: Move R32G32F convertion to the formats table. 2010-04-13 17:56:35 +02:00
Roderick Colenbrander 5c635f4146 wined3d: Move D15S1 over to the formats table. 2010-04-13 17:56:32 +02:00
Roderick Colenbrander 6a081ef95a wined3d: Move D24X4S4 to the formats table. 2010-04-13 17:56:29 +02:00
Roderick Colenbrander 485040bb5c wined3d: Move D24FS8 to formats table. 2010-04-13 17:56:27 +02:00
Roderick Colenbrander 798ba56c1b wined3d: Move L6V5U5 conversion to the formats table. 2010-04-13 17:56:24 +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
Henri Verbeet 5f7e087644 wined3d: Fix a GL extension prototype. 2010-04-12 11:33:28 +02:00
Roderick Colenbrander 76a9712779 wined3d: Add an initial implementation of arbfp_blit_surface. 2010-04-09 16:50:21 +02:00
Roderick Colenbrander f1ca14cb5b wined3d: Add an initial fbo_blit_supported implementation. 2010-04-09 16:50:21 +02:00
Roderick Colenbrander 7df7ce40c3 wined3d: Move X8L8V8U8 surface conversion to the format table. 2010-04-09 16:50:21 +02:00
Roderick Colenbrander 60c6294f84 wined3d: Move Q8W8V8U8 conversion to the format table. 2010-04-09 16:50:20 +02:00
Roderick Colenbrander d7e1b973c7 wined3d: Start moving texture format fixups to the formats table. 2010-04-09 16:50:20 +02:00
Roderick Colenbrander a4559e761b wined3d: Move srgb checks away from d3dfmt_get_conv. 2010-04-09 16:50:20 +02:00
Roderick Colenbrander 00598c3e36 wined3d: Let d3dfmt_get_conv return a wined3d_format_desc. 2010-04-09 16:50:20 +02:00
Alexandre Julliard 90f4ae6948 wined3d: Remove unused offset parameter in buffer_get_memory. 2010-04-09 15:47:23 +02:00
Roderick Colenbrander 1c02a909e5 wined3d: Remove remaining redundant code from d3dfmt_get_conv. 2010-04-08 17:34:18 +02:00
Henri Verbeet d373e14d53 wined3d: Add a FIXME for predicated shader instructions. 2010-04-08 12:26:10 +02:00
Henri Verbeet 284e92def9 wined3d: Validate some more states. 2010-04-08 12:26:07 +02:00
Henri Verbeet e24473d531 wined3d: Update shader constants on viewport changes.
Otherwise the vertex shader will see stale posFixup values.
2010-04-08 12:25:51 +02:00
Henri Verbeet cece23c7c9 wined3d: Get rid of state_nogl().
It's unused, all states that have this as handler have a 0 representative.
2010-04-08 12:25:43 +02:00
Henri Verbeet 3f79ba3019 wined3d: Add an extensionless STATE_INDEXBUFFER handler. 2010-04-08 12:25:38 +02:00
Roderick Colenbrander 2c5eee25ca wined3d: Only apply float R16G16F/R32G32F fixup when ARB_texture_rg isn't around and remove redundant code. 2010-04-07 18:14:05 +02:00
Roderick Colenbrander edcdbc2a76 wined3d: Remove redundant gl format/type code from d3dfmt_get_conv since it is already in the table. 2010-04-07 18:13:49 +02:00
Roderick Colenbrander e7a71e15b5 wined3d: Turn blit_shader color_fixup_supported into blit_supported. 2010-04-07 18:13:35 +02:00
Henri Verbeet 55a96174c8 wined3d: Add a separate function for adding declaration elements in ConvertFvfToDeclaration(). 2010-04-07 13:50:23 +02:00
Henri Verbeet be9e077a4d wined3d: Pass the correct window to Present() in IWineGDISurfaceImpl_Flip(). 2010-04-07 13:50:19 +02:00
Henri Verbeet 83443273c1 wined3d: Pass the correct window to Present() in IWineD3DSurfaceImpl_Flip(). 2010-04-07 13:50:16 +02:00
Henri Verbeet 3b7774b37b wined3d: Pass the correct window to Present() in IWineD3DSurfaceImpl_BltOverride(). 2010-04-07 13:50:12 +02:00
Roderick Colenbrander e6ae272efe wined3d: Due to code rewrites is_color_fixup_supported is not needed anymore in RealizePalette.
The code in question should be executed in all cases. This also fixes
palette refresh issues when shaders / paletted textures aren't around.
2010-04-06 13:55:14 +02:00
Roderick Colenbrander 1f2976a302 wined3d: Move the arbfp p8 fixup to the format table and get rid of the d3dfmt_get_conv override. 2010-04-06 13:55:02 +02:00
Roderick Colenbrander a5a4be4fc5 wined3d: Disable framebuffer to texture blitting.
The current code doesn't work for this at all and causes major
rendering issues in e.g. C&C. I don't think we should fix this code
either since it isn't worth the effort and requires evil things like
paletteOverride.
2010-04-06 13:54:47 +02:00
Roderick Colenbrander 9fec1a02b9 wined3d: Disable paletted texture support. It was only offered on a few cards, so can be missed. 2010-04-06 13:54:06 +02:00
Roderick Colenbrander 69902ab6d0 wined3d: Move EXT_PALETTED_TEXTURE code over to ffp_blit. 2010-04-06 13:53:21 +02:00
Roderick Colenbrander 3b6aea5934 wined3d: Move palette uploading code over to arbfp blit_shader. 2010-04-06 13:53:15 +02:00
Henri Verbeet f41ee7cd0a wined3d: Capture the correct scissor rectangle.
This bug was originally introduced by
d4b63bbd87, and then propagated by
1f029a30db.
2010-04-06 11:48:51 +02:00
Henri Verbeet 2381c9529d wined3d: Don't use GLSL if the supported version isn't at least 1.20. 2010-04-06 11:48:47 +02:00
Henri Verbeet ca1b35aaff wined3d: Rename some GL vendors.
GL_VENDOR_ATI -> GL_VENDOR_FGLRX because it's much more specific. Besides, AMD
also works on the Mesa drivers.
2010-04-05 11:37:45 +02:00
Henri Verbeet b8211a67d4 wined3d: Rename HW_VENDOR_WINE to HW_VENDOR_SOFTWARE.
Software adapters like the refrast also return a 0 PCI ID on Windows.
2010-04-05 11:37:39 +02:00
Henri Verbeet 224c376528 wined3d: Make some functions static. 2010-04-05 11:37:34 +02:00
Henri Verbeet fcee05586b wined3d: Simply inline dumpResources(). 2010-04-05 11:37:28 +02:00
Henri Verbeet 5ce986f1de wined3d: Add a separate function for wined3d object initialization. 2010-04-05 11:37:24 +02:00
Roderick Colenbrander ae8d9e21e3 wined3d: Remove the swapchain parameter from fb_copy_to_texture_hwstretch in order to unify all blit calls. 2010-04-02 15:22:51 +02:00
Roderick Colenbrander ff82e66a69 wined3d: Move upsideDown calculation to blit implementation. 2010-04-02 15:22:51 +02:00
Henri Verbeet 23bfdecd8b wined3d: Verify all render states have a handler. 2010-04-02 10:36:17 +02:00
Henri Verbeet 1289842da3 wined3d: Move handling of the unimplemented WINED3DRS_STIPPLEPATTERN states to ddraw. 2010-04-02 10:36:06 +02:00
Henri Verbeet 2e5976a8c5 wined3d: Move handling of the unimplemented WINED3DRS_BORDERCOLOR state to ddraw. 2010-04-02 10:35:54 +02:00
Henri Verbeet af9510f400 wined3d: Remove some unused render states. 2010-04-02 10:35:44 +02:00
Henri Verbeet e62771f7f7 wined3d: Add a state handler for WINED3DRS_ZVISIBLE. 2010-04-02 10:35:37 +02:00
Henri Verbeet ef34b0ba06 wined3d: Verify state representatives represent themselves.
This ensures there's no multilevel indirection in the state table.
2010-04-02 10:35:30 +02:00
Henri Verbeet a2344e7288 wined3d: Remove some superfluous white space and braces from the card selection functions. 2010-04-01 18:12:55 +02:00
Henri Verbeet 8afeb34559 wined3d: Add a state table entry for WINED3DRS_INDEXEDVERTEXBLENDENABLE. 2010-04-01 18:12:42 +02:00
Henri Verbeet f4330add39 wined3d: Verify each state table entry has either a handler or a representative. 2010-04-01 18:12:42 +02:00
Henri Verbeet 57cfd613a5 wined3d: Explicitly set the state handler to NULL for states with a representative.
We should never call the handler for states that have a rep.
2010-04-01 18:12:42 +02:00
Henri Verbeet f70193b915 wined3d: Use the rep instead of the apply function to determine if a state is used. 2010-04-01 18:12:42 +02:00
Henri Verbeet 03c472bff0 wined3d: Don't call directly into the state table. 2010-04-01 18:12:42 +02:00
Henri Verbeet a298f37a9a wined3d: Add a state table entry for WINED3DRS_TWEENFACTOR. 2010-03-31 16:32:57 +02:00
Henri Verbeet 6e1ed1c167 wined3d: Print a FIXME/WARN for all unsupported vertex blend flags. 2010-03-31 16:32:52 +02:00
Henri Verbeet 91db9f8bd3 wined3d: Remove a redundant initialization in IWineD3DDeviceImpl_UpdateSurface(). 2010-03-31 16:32:41 +02:00
Henri Verbeet 3af0909693 wined3d: Get rid of some mostly useless local variables in IWineD3DDeviceImpl_UpdateSurface(). 2010-03-31 16:32:35 +02:00
Henri Verbeet 61ca407151 wined3d: Cleanup variable naming in IWineD3DDeviceImpl_UpdateSurface(). 2010-03-31 16:32:29 +02:00
Stefan Dösinger dc918d4394 wined3d: Use FBOs when the onscreen depth stencil format isn't suitable.
This allows proper support of float depth buffers when rendering to onscreen surfaces.
2010-03-31 16:12:32 +02:00
Stefan Dösinger 19b6f5ca75 wined3d: Control the onscreen depth stencil format in the swapchain.
This allows the swapchain to know what depth format its window contexts have to see if the
requested depth format is compatible or a FBO fallback is needed, and it will be needed to
set the onscreen format to the requested auto depth stencil format instead of the
let's-hope-it-fits D24_UNORM_S8_UINT format.
2010-03-31 16:12:31 +02:00
Stefan Dösinger a4b0bedc30 wined3d: Split out offscreen rendering concerns from FindContext. 2010-03-31 16:12:31 +02:00
Roderick Colenbrander c6f0ddcb1a wined3d: Remove some unneeded source rectangle calculations from BltOverride. 2010-03-31 16:12:30 +02:00
Roderick Colenbrander 87b5b2f738 wined3d: Remove the last use of the WINED3DRECT destination rectangle in BltOverride. 2010-03-31 16:12:30 +02:00
Roderick Colenbrander 40f3f0b041 wined3d: Use RECT instead of WINED3DRECT in fb_copy_to_texture_hwstretch. 2010-03-31 16:12:29 +02:00
Roderick Colenbrander 7f1f61e28e wined3d: Use RECT instead of WINED3DRECT in fb_copy_to_texture_direct. 2010-03-31 16:12:28 +02:00
Roderick Colenbrander ae26d9defd wined3d: Use RECT instead of WINED3DRECT in stretch_rect_fbo. 2010-03-31 16:12:27 +02:00
Henri Verbeet 72be7fe3a5 wined3d: Get rid of destFormat and srcFormat in IWineD3DDeviceImpl_UpdateSurface(). 2010-03-30 14:49:32 +02:00
Henri Verbeet eced5fe8ec wined3d: Calculate "offset" in the appropriate path in IWineD3DDeviceImpl_UpdateSurface(). 2010-03-30 14:49:32 +02:00
Henri Verbeet bb94bc3823 wined3d: Add more general support for partial updates of compressed surfaces to IWineD3DDeviceImpl_UpdateSurface(). 2010-03-30 14:49:31 +02:00
Henri Verbeet 88a2decc49 wined3d: Source and destination formats should match in IWineD3DDeviceImpl_UpdateSurface(). 2010-03-30 14:49:31 +02:00
Henri Verbeet 0eae42ddc6 wined3d: Use GL_UNPACK_ROW_LENGTH for partial updates of regular surfaces in IWineD3DDeviceImpl_UpdateSurface(). 2010-03-30 14:49:31 +02:00
Henri Verbeet 2533860114 wined3d: Initialization functions don't allocate. 2010-03-30 14:49:31 +02:00
Roderick Colenbrander c864ae6348 wined3d: Disable flipping through the source rectangle in BltOverride. 2010-03-30 14:10:45 +02:00
Roderick Colenbrander 334fea7d79 wined3d: Fix a destination flipping bug using the destination rectangle. 2010-03-30 14:10:37 +02:00
Roderick Colenbrander a91f844a3d wined3d: Use RECT instead of WINED3DRECT in more parts of BltOverride. 2010-03-30 13:54:45 +02:00
Roderick Colenbrander 682c969e9a wined3d: Add a helper function for getting a valid rectangle. 2010-03-30 13:54:35 +02:00
Roderick Colenbrander a7d3b616c4 wined3d: Add color_fill to blit_shader. 2010-03-30 13:54:24 +02:00
Roderick Colenbrander 9a1fd552d2 wined3d: Introduce a helper function which converts a color from the surface format to ARGB. 2010-03-30 13:54:12 +02:00
Roderick Colenbrander f724843f14 wined3d: Move argb_to_fmt to utils.c as a helper function to be used in more places. 2010-03-30 13:53:54 +02:00
Henri Verbeet f69d0fa00d wined3d: GL errors aren't FIXMEs. 2010-03-29 15:51:21 +02:00
Michael Stefaniuc 6997c8d70c wined3d: Remove superfluous cast of zero. 2010-03-29 11:49:58 +02:00
Henri Verbeet eb064db083 wined3d: Add support for partial updates of compressed surfaces to IWineD3DDeviceImpl_UpdateSurface(). 2010-03-26 10:29:39 +01:00
Henri Verbeet 941c7da08e wined3d: Don't warn about independent color write masks when the masks are all the same. 2010-03-26 10:29:34 +01:00
Henri Verbeet 4651dd86bf wined3d: Implement independent color write masks. 2010-03-26 10:29:29 +01:00
Henri Verbeet 13a57c81f0 wined3d: Add support for EXT_draw_buffers2. 2010-03-26 10:29:23 +01:00