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