Commit Graph

3305 Commits

Author SHA1 Message Date
Henri Verbeet 23231d5a62 wined3d: Add format conversions for some depth stencil formats.
Although these formats aren't lockable, we still explicitly set the initial
surface data when creating the texture. Unfortunately that means we'll need
the conversion functions, even though all they'll ever convert will be zeroes.
2009-06-16 13:37:06 +02:00
Henri Verbeet 88162fabb8 wined3d: Get rid of the pointers in WINED3DSURFACE_DESC. 2009-06-15 13:42:29 +02:00
Henri Verbeet fede35d1c5 wined3d: Introduce surface_calculate_size(). 2009-06-15 13:42:28 +02:00
Henri Verbeet 5f581975dc wined3d: Introduce surface_init() to handle most of the surface initialization. 2009-06-15 13:42:28 +02:00
Henri Verbeet bbfdfb2f1f wined3d: Introduce surface_gdi_cleanup(). 2009-06-15 13:42:28 +02:00
Henri Verbeet 32613eb628 wined3d: Introduce surface_cleanup(). 2009-06-15 13:42:28 +02:00
Henri Verbeet 7599520321 wined3d: Avoid checking depth/stencil and compressed formats in init_format_fbo_compat_info().
Checking these is somewhat pointless since they should never be
color-renderable according to the FBO spec. This patch also happens to avoid
dereferencing a NULL pointer inside fglrx.
2009-06-12 17:33:15 +02:00
Henri Verbeet 669891c817 wined3d: Respect the "srgb" parameter to IWineD3DSurfaceImpl_BindTexture().
This is mostly for consistency, standalone surfaces can't be used for
texturing, so in practice "srgb" should always be FALSE in this path.
2009-06-12 17:33:15 +02:00
Henri Verbeet 4bc6b376e0 wined3d: Remove the useless "resource_type" parameter from IWineD3DDevice::CreateSurface(). 2009-06-12 17:33:15 +02:00
Henri Verbeet 8f67918f1d wined3d: Use WINED3DFMT_FLAG_COMPRESSED instead of checking for specific formats. 2009-06-12 17:33:15 +02:00
Henri Verbeet 71e12ae936 wined3d: Use the compressed format info in IWineD3DBaseSurfaceImpl_LockRect(). 2009-06-12 17:33:15 +02:00
Rico Schüller 3ea66d6026 wined3d: Don't allow a negative lock_count in buffer_Unmap. 2009-06-11 13:23:25 +02:00
Henri Verbeet 5fbf895da6 wined3d: Use the format info to calculate compressed surface pitch in IWineD3DBaseSurfaceImpl_GetPitch(). 2009-06-11 11:53:55 +02:00
Henri Verbeet da12ac05a4 wined3d: Use the format info to calculate compressed surface size in IWineD3DBaseSurfaceImpl_SetFormat(). 2009-06-11 11:53:55 +02:00
Henri Verbeet e255f971e4 wined3d: Use the format info to calculate compressed surface size in IWineD3DDeviceImpl_CreateSurface(). 2009-06-11 11:53:55 +02:00
Henri Verbeet 1ad485ff83 wined3d: Improve some TRACEs in init_format_fbo_compat_info(). 2009-06-11 11:53:54 +02:00
Henri Verbeet b052c6e8aa wined3d: Remove some redundant s3tc extension checks.
If the extension isn't available to surface shouldn't have been created. We
don't do extension checks for all the other formats either.
2009-06-11 11:53:54 +02:00
Stefan Dösinger 3f5936f6f7 wined3d: Don't set unloaded arrays to zero.
This causes memory corruption on MacOS, even if the app does not
reference undeclared arrays. Trying to avoid potential breakage in
broken apps which provoke undefined behavior is pointless if it causes
actual breakage in well-behaved apps (on ill-behaved drivers).
2009-06-10 11:52:58 +02:00
Stefan Dösinger 8e259d9fcd wined3d: A small atifs bump map improvement.
Thanks to Roland Scheidegger from Tungsten Graphics for the suggestion to
replace the 2 movs + dp2add with two MADs, where one can conveniently be
coissued with the other dp2add.
2009-06-10 11:52:24 +02:00
Stefan Dösinger 258d99d289 wined3d: Implement dsy in ARB. 2009-06-10 11:52:15 +02:00
Stefan Dösinger 51cdc9d361 wined3d: Implement loops with the NV extensions. 2009-06-10 11:52:01 +02:00
Stefan Dösinger 298bd3c50d wined3d: Store the bumpmap ARB constants in ARB structures. 2009-06-10 11:51:49 +02:00
Henri Verbeet e83fa982ca wined3d: Use the format info for doing compressed surface blits in BltFast(). 2009-06-10 11:51:12 +02:00
Henri Verbeet 61fd875bb4 wined3d: Store compression information about compressed formats. 2009-06-10 11:51:04 +02:00
Henri Verbeet 9d71a5f1e0 wined3d: Round rows up to whole blocks for compressed surface blits in BltFast(). 2009-06-10 11:50:57 +02:00
Henri Verbeet a25e63c62d wined3d: Check the correct extensions in d3dfmt_get_conv().
According to Stefan these are either typos or leftovers from using GL_HILO8_NV.
2009-06-10 11:50:44 +02:00
Henri Verbeet 5ac8a7b054 wined3d: Set explicitly sized internal formats for color key conversion in d3dfmt_get_conv(). 2009-06-10 11:50:31 +02:00
Henri Verbeet 910455e435 wined3d: Add some FIXMEs about blitting with unsupported fixups. 2009-06-09 17:01:14 +02:00
Henri Verbeet 621da64245 wined3d: Get rid of the silly pointers in WINED3DVOLUME_DESC. 2009-06-09 17:01:14 +02:00
Henri Verbeet 08d95233e3 wined3d: Don't modify the internal format in d3dfmt_get_conv().
For most conversions the internal format is irrelevant. Color key conversions
are an exception, because they need to ensure an alpha channel is present.
2009-06-09 17:01:14 +02:00
Henri Verbeet fcf6a27a9b wined3d: Simplify some code in set_glsl_shader_program(). 2009-06-09 17:01:14 +02:00
Henri Verbeet a6dc31e442 wined3d: Avoid comparing shader compile args if the relevant shader isn't present. 2009-06-09 17:01:14 +02:00
Frank Richter 6136884120 d3d9: Fix bitmask for A2R10G10B10 format. 2009-06-08 16:22:18 +02:00
Gerald Pfeifer 6d1a76fb10 wined3d: Fix (and simplify) the ATI case in IWineD3DImpl_FillGLCaps. 2009-06-08 14:29:01 +02:00
Gerald Pfeifer 7856ac3c19 wined3d: Use & instead of && for bit test in IWineD3DDeviceImpl_CreateSurface(). 2009-06-08 14:28:54 +02:00
Henri Verbeet 7422babd88 wined3d: Set FBO stencil attachments for relevant depth stencil formats. 2009-06-08 12:44:27 +02:00
Henri Verbeet a2244051ef wined3d: Use context_attach_depth_stencil_fbo() to clear FBO depth attachments. 2009-06-08 12:44:22 +02:00
Henri Verbeet 13aea3a131 wined3d: Use GL_DEPTH32F_STENCIL8 for WINED3DFMT_D24FS8. 2009-06-08 12:44:17 +02:00
Henri Verbeet 4bc2180821 wined3d: Use GL_DEPTH_COMPONENT32F for WINED3DFMT_D32F_LOCKABLE. 2009-06-08 12:44:13 +02:00
Henri Verbeet d3bc045f26 wined3d: Add support for the ARB_depth_buffer_float extension. 2009-06-08 12:44:08 +02:00
Henri Verbeet f8c4832276 wined3d: Use GL_DEPTH24_STENCIL8_EXT for depth stencil formats. 2009-06-05 15:19:56 +02:00
Henri Verbeet d08f4fb5f5 wined3d: Add support for EXT_packed_depth_stencil. 2009-06-05 15:19:56 +02:00
Henri Verbeet a5876bb91e wined3d: Use FBOs for offscreen rendering by default. 2009-06-05 15:19:40 +02:00
Henri Verbeet fb7531599f wined3d: Only use stretch_rect_fbo() on surfaces that are FBO attachable. 2009-06-05 15:19:35 +02:00
Henri Verbeet 786408fb95 wined3d: Check FBO compatibility on all formats with a GL format.
Instead of just the ones that have a fallback specified.
2009-06-05 14:43:25 +02:00
Henri Verbeet b93c3b3253 wined3d: Set texture filtering to NEAREST in check_fbo_compat(). 2009-06-05 14:43:25 +02:00
Henri Verbeet 0571ebcee3 wined3d: Add extension detection to the GL format template table. 2009-06-05 14:43:25 +02:00
Henri Verbeet a2440aed7e wined3d: Add extension detection for ARB_depth_texture. 2009-06-05 14:43:25 +02:00
Henri Verbeet daeb86d620 wined3d: Don't use the vertex/pixel shader when we're not supposed to.
This also avoids removing programs from lists they're not in in
delete_glsl_program_entry().
2009-06-05 14:43:25 +02:00
Henri Verbeet cae6a32b08 wined3d: Check the result from wine_rb_get() before using it in WINE_RB_ENTRY_VALUE. 2009-06-05 14:43:25 +02:00