Henri Verbeet
6a9476b609
wined3d: Correctly calculate the resource size for ATI2N surfaces.
2010-08-16 13:47:37 +02:00
Henri Verbeet
e1188b0c8e
wined3d: Fix some misspellings of "surface".
2010-08-16 13:47:17 +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
b2e1e1fd71
wined3d: Pass the color as floating point values to device_clear_render_targets().
2010-08-03 11:06:42 +02:00
Henri Verbeet
237f39377f
wined3d: Move the draw buffer array to the context.
2010-07-30 11:36:03 +02:00
Stefan Dösinger
6a87681b11
wined3d: Fix an msvc anachronism warning.
2010-07-29 17:33:34 +02:00
Stefan Dösinger
81b03d8891
wined3d: Use a int for the mantissa in float_24_to_32.
2010-07-29 17:33:34 +02:00
Stefan Dösinger
b25f22e456
wined3d: Use powf instead of pow.
2010-07-29 17:33:34 +02:00
Henri Verbeet
0bf68b846a
wined3d: Merge strect_rect_fbo() and surface_load_srgb_fbo().
2010-07-26 18:38:31 +02:00
Henri Verbeet
943fb2fb57
wined3d: Do RGB <=> sRGB transfers using FBO blits.
...
Concept based on a patch by Stefan.
2010-07-26 18:38:31 +02:00
Henri Verbeet
d374d85055
wined3d: Clear all render targets in an MRT setup.
2010-07-23 11:46:47 +02:00
Henri Verbeet
f7760656f3
wined3d: Remove LoadLocation() from the public wined3d surface interface.
2010-07-22 10:13:24 +02:00
Henri Verbeet
147f24dd78
wined3d: Remove ModifyLocation() from the public wined3d surface interface.
2010-07-22 10:13:13 +02:00
Luke Bratch
c63c568731
wined3d: Add Nvidia 8800GTX detection.
2010-07-21 13:23:59 +02:00
Henri Verbeet
0344bc429d
wined3d: Just implement BindTexture() for GDI surfaces in surface_gdi.c.
2010-07-21 09:33:05 +02:00
Henri Verbeet
aae8f13610
wined3d: Remove an unused prototype.
2010-07-21 09:33:01 +02:00
Henri Verbeet
d6e08f8074
wined3d: Consolidate surface related prototypes in wined3d_private.h.
2010-07-20 13:13:04 +02:00
Wolfram Sang
ddd1c72574
wined3d: Clarify some comments about Intel cards.
2010-06-01 13:37:18 +02:00
Henri Verbeet
1b5cc39a86
wined3d: Get rid of some dead code.
2010-06-01 11:03:56 +02:00
Roderick Colenbrander
39eaaeaa27
wined3d: Add support for mobile Geforce 3xx GPUs.
2010-05-27 14:46:43 +02:00
Roderick Colenbrander
036295c37a
wined3d: Add Geforce 2xx lowend models.
2010-05-27 14:46:43 +02:00
Roderick Colenbrander
c471724a2a
wined3d: Add Geforce 4x0 cards to GPU database.
2010-05-27 14:46:43 +02:00
Henri Verbeet
e8ac9bbd7f
wined3d: Get rid of GLINFO_LOCATION.
2010-05-25 13:29:00 +02:00
Stefan Dösinger
b5da118531
wined3d: Catch RCP 0.0 in ARB.
2010-05-21 18:58:04 +02:00
Michael Stefaniuc
6d89364ad1
wined3d: Avoid using the long type.
2010-05-21 18:58:04 +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
db0784e1da
wined3d: Introduce a separate function for translating front buffer coordinates to GL coordinates.
2010-05-21 14:37:52 +02:00
Henri Verbeet
0fe7b45b6c
wined3d: Make context_attach_surface_fbo() static.
2010-05-19 16:57:59 +02:00
Roderick Colenbrander
ba8f0da271
wined3d: Remove unneeded d3dfmt_get_conv conversion constants.
2010-05-17 14:43:56 +02:00
Henri Verbeet
79145e215b
wined3d: Add support for shadow samplers.
2010-05-17 13:19:53 +02:00
Henri Verbeet
498664af3a
wined3d: Remove some unused winetexturestates elements.
2010-05-17 13:19:44 +02:00
Henri Verbeet
7a2debe113
wined3d: Use the FBO cache in swapchain_blit().
2010-05-06 14:17:30 +02:00
Henri Verbeet
3345146d0b
wined3d: Use the FBO cache in stretch_rect_fbo().
2010-05-06 14:17:24 +02:00
Henri Verbeet
ed75f5ca7a
wined3d: Setup the FBO for the correct target in context_apply_clear_state().
2010-05-05 10:37:40 +02:00
Henri Verbeet
49e076eabd
wined3d: Separate context acquisition and state application.
2010-05-04 13:14:59 +02:00
Henri Verbeet
c9e7561b34
wined3d: Remove some unused fields from the shader backend caps.
2010-05-03 13:50:51 +02:00
Henri Verbeet
c1ea8fb6c7
wined3d: Store the VTF format capability in the format table.
2010-04-29 10:19:39 -05:00
Henri Verbeet
be7b01589f
wined3d: Store the sRGB write format capability in the format table.
2010-04-29 10:19:39 -05:00
Henri Verbeet
c041781255
wined3d: Store the sRGB read format capability in the format table.
2010-04-29 10:19:39 -05:00
Henri Verbeet
163940540d
wined3d: Store the bumpmap format capability in the format table.
2010-04-29 10:19:39 -05:00
Henri Verbeet
f09b8e454d
wined3d: Avoid some needless depth buffer copies.
...
If an application switches between render targets of a different size, but
with the same depth/stencil surface it'll typically clear the depth/stencil
surface before drawing. However, in case of the smaller render target that
wouldn't be a full clear, so we'd have to do a depth copy if we also switched
between onscreen and offscreen rendering. Keeping track of which part of the
depth/stencil surface is current for onscreen/offscreen allows us to avoid
most of these kinds of copies. The current scheme requires the current/dirty
rectangle to have an origin at (0,0). This could be extended to an arbitrary
rectangle, but the bookkeeping becomes somewhat more complex in that case, and
it's not clear that there would be much of a benefit at this point.
2010-04-29 10:19:39 -05:00
Henri Verbeet
23a377f02b
wined3d: Simply pass an IWineD3DSurfaceImpl pointer to surface_init_sysmem().
2010-04-28 07:31:13 -05:00
Henri Verbeet
42375518ba
wined3d: Simply pass an IWineD3DSurfaceImpl pointer to surface_add_dirty_rect().
2010-04-27 12:02:39 -05:00
Henri Verbeet
f78d85ffe1
wined3d: Simply pass an IWineD3DSurfaceImpl pointer to surface_set_texture_target().
2010-04-27 12:02:31 -05:00
Henri Verbeet
294d9dae8f
wined3d: Simply pass an IWineD3DSurfaceImpl pointer to surface_set_texture_name().
2010-04-27 12:02:24 -05:00
Henri Verbeet
d977e91b11
wined3d: Store back buffer surfaces as IWineD3DSurfaceImpl pointers in the swapchain.
2010-04-27 12:02:14 -05:00
Henri Verbeet
62acb2fdbc
wined3d: Store the front buffer surface as an IWineD3DSurfaceImpl pointer in the swapchain.
2010-04-27 12:01:59 -05:00
Henri Verbeet
d1ea48b971
wined3d: Simply pass an IWineD3DSurfaceImpl pointer to surface_internal_preload().
2010-04-26 09:04:35 -05:00
Henri Verbeet
61d8338815
wined3d: Kill the now unused MAX_MIP_LEVELS.
2010-04-26 09:04:19 -05:00
Henri Verbeet
339f7ef100
wined3d: Introduce basetexture_get_sub_resource() to simplify retrieving texture sub-resources.
2010-04-25 07:27:57 -05:00
Henri Verbeet
958b523707
wined3d: Store texture sub-resources in IWineD3DBaseTextureClass.
2010-04-25 07:26:51 -05:00
Henri Verbeet
6b34b8e6d1
wined3d: Simply pass an IWineD3DSurfaceImpl pointer to context_acquire().
2010-04-22 11:28:17 +02:00
Henri Verbeet
1c403e44b5
wined3d: Store the current render target as an IWineD3DSurfaceImpl pointer in the context.
2010-04-22 11:28:12 +02:00
Henri Verbeet
660ad06692
wined3d: Simply pass implementation pointers to stretch_rect_fbo().
2010-04-21 11:57:32 +02:00
Henri Verbeet
79a014a505
wined3d: Simply pass an IWineD3DSurfaceImpl pointer to surface_get_gl_buffer().
2010-04-21 11:57:32 +02:00
Henri Verbeet
7b47dabd09
wined3d: Avoid some unnecessary invalidations of the the onscreen depth buffer.
...
This can happen for example when the application switches to a different
depth/stencil for offscreen rendering and back again.
2010-04-21 11:57:32 +02:00
Henri Verbeet
dc67164d0d
wined3d: Fix some more misspellings of "device".
2010-04-21 11:57:32 +02:00
Henri Verbeet
c5de1e1045
wined3d: Store the depth/stencil surface as an IWineD3DSurfaceImpl pointer in the device.
2010-04-20 11:14:42 +02:00
Henri Verbeet
520f74de21
wined3d: Store the auto depth/stencil surface as an IWineD3DSurfaceImpl pointer in the device.
2010-04-20 11:14:35 +02:00
Henri Verbeet
c7a1848656
wined3d: Store render targets as IWineD3DSurfaceImpl pointers in the device.
2010-04-20 11:14:30 +02:00
Henri Verbeet
92a44884c7
wined3d: Simply pass an IWineD3DSurfaceImpl pointer to surface_set_compatible_renderbuffer().
2010-04-19 14:55:35 +02:00
Henri Verbeet
03dc612c9c
wined3d: Simply pass an IWineD3DSurfaceImpl pointer to surface_is_offscreen().
2010-04-19 14:55:31 +02:00
Henri Verbeet
efb3993a3a
wined3d: Simply pass an IWineD3DSurfaceImpl pointer to surface_modify_ds_location().
2010-04-19 14:55:24 +02:00
Henri Verbeet
ae46589f53
wined3d: Simply pass an IWineD3DSurfaceImpl pointer to surface_load_ds_location().
2010-04-19 14:55:19 +02:00
Roderick Colenbrander
057c64c5b0
wined3d: Separate AMD Radeon HD2300 from other HD2xxx/HD3xxx GPUs since it is D3D9 instead of D3D10.
2010-04-16 12:38:18 +02:00
Henri Verbeet
da1b459754
wined3d: Store the depth/stencil attachment as IWineD3DSurfaceImpl pointer in struct fbo_entry.
2010-04-16 12:09:45 +02:00
Henri Verbeet
be993fc49f
wined3d: Store render target attachments as IWineD3DSurfaceImpl pointers in struct fbo_entry.
2010-04-16 12:09:42 +02:00
Henri Verbeet
24c93d48aa
wined3d: Simply pass an IWineD3DSurfaceImpl pointer to context_attach_depth_stencil_fbo().
2010-04-16 12:09:39 +02:00
Henri Verbeet
95130a7d5e
wined3d: Simply pass an IWineD3DSurfaceImpl pointer to context_attach_surface_fbo().
2010-04-16 12:09:36 +02:00
Henri Verbeet
65797d7f75
wined3d: Get rid of glRect from IWineD3DSurfaceImpl.
...
604caf0caa
supposedly removed the "oversized
texture" code, but this was still left over.
2010-04-16 12:09:14 +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
bf73d23d95
wined3d: Separate detection of D3D10+ and D3D9 Nvidia GPUs.
2010-04-14 18:00:47 +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
76a9712779
wined3d: Add an initial implementation of arbfp_blit_surface.
2010-04-09 16:50:21 +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
e7a71e15b5
wined3d: Turn blit_shader color_fixup_supported into blit_supported.
2010-04-07 18:13:35 +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
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
ff82e66a69
wined3d: Move upsideDown calculation to blit implementation.
2010-04-02 15:22:51 +02:00
Henri Verbeet
03c472bff0
wined3d: Don't call directly into the state table.
2010-04-01 18:12:42 +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
Roderick Colenbrander
ae26d9defd
wined3d: Use RECT instead of WINED3DRECT in stretch_rect_fbo.
2010-03-31 16:12:27 +02:00
Henri Verbeet
2533860114
wined3d: Initialization functions don't allocate.
2010-03-30 14:49:31 +02:00
Roderick Colenbrander
a7d3b616c4
wined3d: Add color_fill to blit_shader.
2010-03-30 13:54:24 +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
Stefan Dösinger
f74de3ab65
wined3d: Don't advertise float formats as supported by WGL.
2010-03-26 10:28:52 +01: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