Henri Verbeet
9059271442
wined3d: Check subresources for NULL during texture cleanup.
...
This fixes a regression introduced by
1de6adfbae
.
2011-03-07 11:10:01 +01:00
Henri Verbeet
af0a4b6956
wined3d: Pass gl_info to basetexture_bind().
2011-03-03 17:47:14 +01:00
Henri Verbeet
75c8e9f7b4
wined3d: Use EXT_texture_sRGB_decode to avoid sRGB texture duplication.
2011-03-03 17:47:13 +01:00
Henri Verbeet
09c3537ad0
wined3d: Retrieve the GL texture through a function.
2011-03-03 17:47:13 +01:00
Henri Verbeet
fe425a2f23
wined3d: Use basetexture_set_dirty() in some more places.
2011-03-02 12:50:59 +01:00
Henri Verbeet
1de6adfbae
wined3d: Make IWineD3DResourceImpl an independent structure.
2011-03-01 13:21:59 +01:00
Henri Verbeet
39497ff4d1
wined3d: Remove IWineD3DResource::UnLoad() from the public interface.
2011-02-28 11:09:48 +01:00
Henri Verbeet
0b7fef751e
wined3d: Remove IWineD3DSurface::LoadTexture() from the public interface.
2011-01-21 18:37:06 +01:00
Henri Verbeet
c117248bd1
wined3d: Pass an IWineD3DResourceImpl pointer to resource_get_type().
2011-01-07 10:23:37 +01:00
Henri Verbeet
7e67bcedfd
wined3d: Pass an IWineD3DResourceImpl pointer to resource_set_priority().
2011-01-07 10:23:25 +01:00
Henri Verbeet
2d9748b1e3
wined3d: Pass an IWineD3DResourceImpl pointer to resource_get_priority().
2011-01-07 10:23:21 +01:00
Henri Verbeet
a80749fd57
wined3d: Pass an IWineD3DResourceImpl pointer to resource_set_private_data().
2011-01-07 10:23:17 +01:00
Henri Verbeet
92e439b0f0
wined3d: Pass an IWineD3DResourceImpl pointer to resource_get_private_data().
2011-01-06 11:33:33 +01:00
Henri Verbeet
a97ae0db6a
wined3d: Pass an IWineD3DResourceImpl pointer to resource_free_private_data().
2011-01-06 11:33:29 +01:00
Henri Verbeet
d72520b5cc
wined3d: Remove IWineD3DBaseTexture::BindTexture() from the public interface.
2011-01-05 17:22:01 +01:00
Henri Verbeet
3a59137b09
wined3d: Pass an IWineD3DBaseTextureImpl pointer to internal_preload().
2011-01-04 11:09:52 +01:00
Henri Verbeet
32779a2232
wined3d: Pass an IWineD3DBaseTextureImpl pointer to basetexture_bind().
2011-01-04 11:09:47 +01:00
Henri Verbeet
bf108ac872
wined3d: Pass an IWineD3DBaseTextureImpl pointer to basetexture_generate_mipmaps().
2011-01-04 11:09:45 +01:00
Henri Verbeet
9de4433dbe
wined3d: Pass an IWineD3DBaseTextureImpl pointer to basetexture_get_autogen_filter_type().
2011-01-03 11:54:05 +01:00
Henri Verbeet
568f9ecb22
wined3d: Pass an IWineD3DBaseTextureImpl pointer to basetexture_set_autogen_filter_type().
2011-01-03 11:54:04 +01:00
Henri Verbeet
54e1aeeb62
wined3d: Pass an IWineD3DBaseTextureImpl pointer to basetexture_get_lod().
2011-01-03 11:54:04 +01:00
Henri Verbeet
482a5fd030
wined3d: Pass an IWineD3DBaseTextureImpl pointer to basetexture_set_lod().
2011-01-03 11:54:04 +01:00
Henri Verbeet
f5d96d1701
wined3d: Pass an IWineD3DBaseTextureImpl pointer to basetexture_get_level_count().
2010-12-16 11:50:09 +01:00
Henri Verbeet
2438968c34
wined3d: Pass an IWineD3DBaseTextureImpl pointer to basetexture_cleanup().
2010-12-16 11:50:09 +01:00
Henri Verbeet
47fcc00cce
wined3d: Pass an IWineD3DBaseTextureImpl pointer to basetexture_unload().
2010-12-16 11:50:09 +01:00
Henri Verbeet
a3b2407824
wined3d: Remove IWineD3DBaseTexture::SetDirty() from the public interface.
2010-12-09 12:14:19 +01:00
Henri Verbeet
4dd3066ea3
wined3d: Remove the unused IWineD3DBaseTexture::GetDirty() method.
2010-12-09 12:14:11 +01:00
Henri Verbeet
03f7a2d88e
wined3d: Get rid of the remaining "Flags".
2010-11-23 13:15:36 +01:00
Henri Verbeet
b459b917fb
wined3d: Textures never have a resource size.
...
They're just containers for their subresources.
2010-11-23 13:15:32 +01:00
Henri Verbeet
efb185dcd5
wined3d: Rename the wined3d_format "Flags" field to "flags".
2010-11-12 15:43:08 +01:00
Henri Verbeet
6dd9109358
wined3d: Pass a sub-resource index instead of a face + miplevel to cube texture methods.
2010-10-25 14:29:31 +02:00
Henri Verbeet
f0a0714ecd
wined3d: Pass a sub-resource index instead of a miplevel to 2D texture methods.
2010-10-25 14:29:21 +02:00
Henri Verbeet
95469309d6
wined3d: Consistently use Map/Unmap for mapping resources.
2010-10-14 17:54:52 +02:00
Henri Verbeet
5a3a4ac77a
wined3d: Remove IWineD3DBaseTexture::GetTextureDimensions() from the public wined3d interface.
2010-09-18 13:05:44 +02:00
Henri Verbeet
2e119ecd28
wined3d: Move the texture's target field to the base texture struct.
2010-09-18 13:05:36 +02:00
Henri Verbeet
53183b4cf3
wined3d: IWineD3DSurface_GetDesc() should never fail.
2010-09-08 13:31:43 +02:00
Henri Verbeet
bc2db78c3a
wined3d: Explicitly document some more consequences of GL locking policy.
...
The basic rule is that you can't call anything that takes the user32 / gdi32
lock while under the GL (winex11) lock. As a consequence, you can't call
anything like context_acquire() or context_destroy() either.
2010-09-03 11:05:10 +02:00
Henri Verbeet
6c4c351791
wined3d: Don't require wined3d object parents to be COM objects.
2010-09-01 14:01:02 +02:00
Henri Verbeet
3a7f08a56f
wined3d: Rename wined3d_format_desc to wined3d_format.
2010-08-31 14:23:47 +02:00
Henri Verbeet
b233e7b301
wined3d: Rename the "format" field in wined3d_format_desc to "id".
2010-08-26 12:41:44 +02:00
Henri Verbeet
cc5271d1b7
wined3d: Rename WINED3DFORMAT to wined3d_format_id.
2010-08-24 12:25:01 +02:00
Henri Verbeet
0b24db5db5
wined3d: Also store the subresource container type.
2010-08-17 11:55:32 +02:00
Henri Verbeet
61db577a4b
wined3d: Remove SetContainer() from the public IWineD3DSurface interface.
2010-08-17 11:55:32 +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
Henri Verbeet
c411b45da9
wined3d: Use a more consistent name for the normalized texrect "extension".
2010-07-21 09:33:18 +02:00
Henri Verbeet
49e076eabd
wined3d: Separate context acquisition and state application.
2010-05-04 13:14:59 +02: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
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
3aaa6ee6e7
wined3d: Rename GlPixelFormatDesc to wined3d_format_desc.
2010-03-19 14:31:47 +01:00
Roderick Colenbrander
604caf0caa
wined3d: Remove oversize texture support.
2010-03-15 14:23:15 +01:00
Henri Verbeet
b3defd4c80
wined3d: Rename "wineD3DDevice" to "device".
2009-12-10 11:54:47 +01:00
Henri Verbeet
b6ef17f23d
wined3d: Remove unused GetDevice() implementations.
2009-12-09 13:51:04 +01:00
Henri Verbeet
d7b087618b
wined3d: Remove some unused GLINFO_LOCATION definitions.
2009-10-29 13:09:20 +01:00
Henri Verbeet
eeb54b9922
wined3d: Keep better track of where we're using wined3d contexts.
...
The idea here is that we can restore the thread's current GL context on
context_release() if it doesn't correspond to the current wined3d context on
context_acquire().
2009-10-28 11:15:19 +01:00
Henri Verbeet
47c84f4f7f
wined3d: Use the DXGI naming convention for all formats.
2009-09-25 15:15:44 +02:00
Stefan Dösinger
5b5e3bd0d2
wined3d: Track GL texture states in a separate structure.
2009-09-23 13:24:16 +02:00
Henri Verbeet
dbc4dfc495
wined3d: Move "parent_ops" to IWineD3DResourceClass.
2009-09-18 08:55:33 -05:00
Henri Verbeet
a8e8f763bf
wined3d: Don't free D3D textures until the wined3d texture is destroyed.
2009-09-18 08:54:34 -05:00
Henri Verbeet
83b3d4f27a
wined3d: Move vtable initialization to the texture init functions.
2009-09-16 13:05:45 -05:00
Henri Verbeet
a5214c306f
wined3d: Don't free D3D surfaces until the wined3d surface is destroyed.
...
This prevents for example a d3d9 depth stencil from being destroyed when it
has no external references but is still in use by the device/stateblock. A
nice side effect is that it simplifies handling of "implicit" surfaces like
the frontbuffer and backbuffers, as well as the forwarding of reference counts
for surfaces that are part of a texture.
2009-09-16 13:04:32 -05:00
Stefan Dösinger
531ec2267b
wined3d: Allow filtering on RECT textures.
...
There is no reason to disable linear filtering, we just cannot use mipmapping.
2009-08-31 12:18:01 +02:00
Roderick Colenbrander
5a00c8053e
wined3d: Get rid of two dead render target lock mode options.
2009-08-10 13:10:49 +02:00
Henri Verbeet
a86f31658b
wined3d: Move texture filter lookup table initialization to basetexture_init().
2009-08-05 11:20:19 +02:00
Henri Verbeet
ee4d18cc83
wined3d: Pass NULL to ActivateContext() when we don't need a specific target.
...
Once we keep track of the wined3d context for each thread,
lastActiveRenderTarget won't do what we want here.
2009-07-21 14:22:44 +02:00
Henri Verbeet
43e6686a78
wined3d: Rename _WineD3D_GL_Info to struct wined3d_gl_info.
2009-07-17 11:22:07 +02:00
Henri Verbeet
2ac34bf231
wined3d: Add some missing float suffixes.
...
The compiler should be smart enough to fix most of these, but it looks sloppy.
2009-07-07 11:50:05 +02:00
Henri Verbeet
7363b6e2e3
wined3d: Document GL context dependencies.
2009-06-26 12:05:07 +02:00
Henri Verbeet
5171a65d81
wined3d: Introduce texture_init() to handle most of the 2D texture initialization.
2009-06-03 11:38:50 +02:00
Henri Verbeet
22022cf8b3
wined3d: Create a texture_cleanup() function.
2009-06-02 11:57:22 +02:00
Henri Verbeet
91c3a5eac1
wined3d: Directly call basetexture_apply_state_changes().
...
All the implementations of IWineD3DBaseTexture::ApplyStateChanges() forward to
basetexture_apply_state_changes().
2009-05-13 11:55:01 +02:00
Henri Verbeet
42e31a4242
wined3d: Fix a few sign compare warnings.
2009-03-25 11:12:30 +01:00
Henri Verbeet
2dc7fc2916
wined3d: Remove the format field from IWineD3DResourceClass.
2009-03-13 11:29:19 +01:00
Stefan Dösinger
4386a827e9
wined3d: Pass the requested srgb flag to PreLoad.
...
Add a new wined3d-internal PreLoad function to textures and surfaces
that takes a parameter specifying wether the rgb or srgb texture
should be loaded.
2009-02-17 12:51:36 +01:00
Stefan Dösinger
c585b4de99
wined3d: Duplicate GL textures for srgb switching.
...
This reduces the number of srgb switching reloads quite a lot. The only
situation in which a reload is needed is if the rgb copy is modified on the GL
side and the srgb copy is needed.
2009-02-17 12:48:05 +01:00
Henri Verbeet
9440dfedf4
wined3d: Remove AddDirtyRect() from the public interface.
2009-01-14 13:51:00 +01:00
Henri Verbeet
007c648c20
d3d: Correct some debug levels.
2008-12-30 11:36:50 +01:00
Henri Verbeet
2acf8d7947
wined3d: Rename resource functions to reflect that they're not COM functions.
2008-12-03 09:47:26 +01:00
Henri Verbeet
4d60b6633c
wined3d: Rename basetexture functions to reflect that they're not COM functions.
2008-12-03 09:47:16 +01:00
Alexandre Julliard
6cfef95ce7
wined3d: Convert source files to utf-8.
2008-10-18 19:21:20 +02:00
Henri Verbeet
0ee57cf142
wined3d: Set the texture name at surface creation.
...
This prevents the target from changing during the first PreLoad() call
on a surface, which would be inconvenient when attaching a surface to
a FBO for example.
2008-09-25 11:52:50 +02:00
Henri Verbeet
eaf2474003
wined3d: Split SetGlTextureDesc() up.
...
This creates a function for setting the texture name and one for
setting the texture target. The idea is that the texture target should
get set right after the surface is created, and won't change, while
generating a texture name can wait.
2008-09-25 11:52:42 +02:00
Henri Verbeet
728932f2eb
wined3d: Don't needlessly bind the texture in PreLoad().
2008-09-17 20:49:47 +02:00
Stefan Dösinger
750973cec5
wined3d: Remove BaseTexture::UnBindTexture.
2008-08-28 11:24:49 +02:00
Stefan Dösinger
5b77a2f90b
wined3d: Override the default filter of conditional np2 textures.
2008-08-25 12:24:06 +02:00
Stefan Dösinger
c425bbccab
wined3d: Set the texture wrap default with the NP2 emulation properly.
2008-08-21 13:33:42 +02:00
Stefan Dösinger
c088edeae7
wined3d: Use GL_ARB_texture_non_power_of_two emulation.
...
ATI cards prior to the radeon HD series did not have unconditional non
power of two support. So far we've used texture_rectangle for that, or
created a bigger power of two texture with padding. This had the
disadvantage that we had to correct the coordinates, which causes
extreme problems with shaders(doesn't work, pretty much).
Both the MacOS and the fglrx driver have support for
GL_ARB_texture_non_power_of_two, and run it on the hardware as long as
we stay within the texture_rectangle limitations. This allows us to
have conditional non power of two textures with normalized
coordinates. This patch adds an internal extension, and the code
creates a regular GL_TEXTURE_2D texture with NP2 size, but refuses
mipmapping, filtering and texture_rectangle incompatible
operations. This makes np2 textures work with shaders on fglrx and
macos.
2008-07-18 11:41:09 +02:00
Alexander Dorofeyev
d6ba069d9e
wined3d: Improve detection of device palette change.
2008-04-03 11:31:57 +02:00
Alexander Dorofeyev
9b04822170
wined3d: Remove ENTER_GL/LEAVE_GL in IWineD3DTextureImpl_PreLoad.
2008-04-03 11:31:19 +02:00
Stefan Dösinger
b1d8af7926
wined3d: Update copyright lines.
2008-04-02 20:22:42 +02:00
Stefan Dösinger
a0f2e6e55e
wined3d: Move some UnLoad code to the base texture class.
2008-02-05 12:32:58 +01:00
Andrew Talbot
35c3bfe25c
wined3d: Remove unneeded casts.
2008-01-24 11:41:47 +01:00
Stefan Dösinger
5d7b8dafb8
wined3d: Implement IWineD3DTexture::UnLoad.
2008-01-14 15:11:18 +01:00
Stefan Dösinger
e59ddb0ab1
wined3d: Add a new IWineD3DResource::UnLoad method.
2008-01-14 15:10:17 +01:00
H. Verbeet
2820ecc5fe
wined3d: Call SetGlTextureDesc() from BindTexture() rather than from PreLoad().
2008-01-03 11:40:31 +01:00
Stefan Dösinger
d09cbcec91
wined3d: Activate GL_ARB_texture_rectangle.
2007-11-29 13:36:55 +01:00
Stefan Dösinger
26f7eae9cf
wined3d: Non power of two texture fixes.
2007-11-14 11:59:21 +01:00