Henri Verbeet
ed230a426a
wined3d: Explicitly destroy the surface in texture2d_sub_resource_cleanup().
...
Like volumes. We can do this now because we no longer have standalone
surfaces.
2014-08-19 14:49:32 +02:00
Henri Verbeet
64a1fde181
wined3d: Explicitly destroy the volume in texture3d_sub_resource_cleanup().
...
The texture always has the only reference to its subresources. This also means
we never have to set the container to NULL.
2014-08-19 14:49:30 +02:00
Stefan Dösinger
341db6d8d3
wined3d: Remove wined3d_texture_set/get_priority.
2014-07-16 16:10:05 +02:00
Stefan Dösinger
cf11933701
wined3d: Remove wined3d_buffer_set/get_priority.
2014-07-16 16:10:01 +02:00
Henri Verbeet
91fbd2232d
wined3d: Print a winediag message if we failed to create a DXTn texture because of lack of driver support.
2014-07-01 12:52:05 +02:00
Henri Verbeet
5cf9fe1c63
wined3d: Get rid of surface_set_texture_target().
2014-04-23 15:00:46 +02:00
Stefan Dösinger
e2c0bc63cb
wined3d: Start to split up surface_prepare_system_memory.
2014-01-13 18:41:15 +01:00
Stefan Dösinger
676a7f2140
wined3d: Make the callers of load_location responsible for allocating sysmem.
2014-01-13 18:41:09 +01:00
Stefan Dösinger
c770d3f573
wined3d: Mark the map binding up to date in texture2d_sub_resource_add_dirty_region.
2014-01-10 17:56:41 +01:00
Henri Verbeet
4710c4b51a
wined3d: Store color keys in textures instead of in surfaces.
2014-01-09 15:50:39 +01:00
Henri Verbeet
36dbac6cb8
wined3d: Set the volume container in volume_init().
2013-12-06 13:14:52 +01:00
Henri Verbeet
5db26f7b45
wined3d: Pass a wined3d_resource_desc structure to volume_init().
2013-12-06 13:14:52 +01:00
Henri Verbeet
15c1a26b55
wined3d: Create volumes inside wined3d.
2013-12-06 13:14:52 +01:00
Henri Verbeet
4b3db52b53
wined3d: Merge the texture creation functions.
2013-11-27 11:30:15 +01:00
Henri Verbeet
4122cd8083
wined3d: Get rid of surface_set_dirty().
2013-11-25 15:15:54 +01:00
Henri Verbeet
f6b5dc246a
wined3d: Get rid of the WINED3DSRGB enum.
2013-11-22 11:37:29 +01:00
Henri Verbeet
e0beab8b81
wined3d: Merge texture2d_preload() and texture3d_preload() into wined3d_texture_load().
2013-11-22 11:37:20 +01:00
Henri Verbeet
0d7b12696d
wined3d: Merge texture2d_unload() and texture3d_unload().
2013-11-21 13:36:37 +01:00
Henri Verbeet
f91eab6d3e
wined3d: Merge surface_bind_and_dirtify() and volume_bind_and_dirtify() into wined3d_texture_bind_and_dirtify().
2013-11-21 13:36:35 +01:00
Henri Verbeet
2ca86bcab6
wined3d: Return early in wined3d_texture_bind() if the GL texture already has a name.
2013-11-21 13:36:31 +01:00
Henri Verbeet
6b90248aec
wined3d: Merge texture2d_bind() and texture3d_bind() into wined3d_texture_bind().
2013-11-21 13:36:29 +01:00
Stefan Dösinger
0ff0a6e9bc
wined3d: Remove surface->dirtyRect.
2013-11-20 16:54:39 +01:00
Henri Verbeet
7e72985358
wined3d: wined3d_texture_bind() should never fail.
2013-11-20 11:28:23 +01:00
Henri Verbeet
7e8897b7b8
wined3d: Get rid of the redundant texture_name and texture_name_srgb fields in struct wined3d_surface.
2013-11-20 11:28:22 +01:00
Henri Verbeet
42f6ca821c
wined3d: Set the surface container in surface_init().
2013-11-15 12:00:32 +01:00
Henri Verbeet
bb00811d60
wined3d: Pass a wined3d_resource_desc structure to surface_init().
2013-11-15 12:00:30 +01:00
Henri Verbeet
afc3d2ab70
wined3d: Create surfaces inside wined3d.
2013-11-15 12:00:26 +01:00
Stefan Dösinger
86d63f1d5a
wined3d: Move sRGB_decode handling to the top of texture_bind / preload.
2013-10-09 15:52:37 +02:00
Stefan Dösinger
16f7c24296
wined3d: Take sRGB_decode into account in texture_srgb_mode.
2013-10-09 15:52:22 +02:00
Stefan Dösinger
fe44be5fde
wined3d: Pass the context to the internal texture_preload function.
2013-09-16 13:05:52 +02:00
Henri Verbeet
59e2f52ff8
wined3d: Replace the "dirty" field in struct gl_texture with WINED3D_TEXTURE_ flags.
2013-09-09 22:09:58 +02:00
Henri Verbeet
c44012f0c1
wined3d: Get rid of the "dirty" flag to wined3d_texture_set_dirty().
2013-09-09 22:09:57 +02:00
Stefan Dösinger
df5a0976e9
wined3d: Check the format block size before creating textures.
...
Sizes of textures and stand-alone surfaces must be multiples of the
format's block size for DXTN formats. Since we create a texture for
everything (except in ddraw), this check also takes care of stand-alone
surfaces.
2013-09-06 17:25:08 +02:00
Henri Verbeet
b5e0c5d052
wined3d: Get rid of some leftover comments referring to the GL lock.
2013-09-02 18:02:26 +02:00
Henri Verbeet
f5f7a4e457
wined3d: Get rid of GL_EXT_paletted_texture support.
...
No current drivers support this, and it's probably broken. Also note that
since we removed paletted texture support from wined3d, this would only be
used for WINED3DFMT_P8_UINT blits.
2013-08-28 11:17:09 +02:00
Stefan Dösinger
6bc3cbf1c5
wined3d: Implement sRGB for volumes.
2013-08-26 19:02:16 +02:00
Stefan Dösinger
07079d1109
wined3d: Remove locked and dirty boxes from volumes.
2013-08-22 20:15:39 +02:00
Stefan Dösinger
ac871305f8
wined3d: Store the mipmap level in the volume.
2013-08-22 20:15:18 +02:00
Henri Verbeet
d6bc4fe71a
wined3d: Allow surface flags to be passed to texture creation functions.
2013-06-06 11:47:19 +02:00
Henri Verbeet
91096dd7ad
wined3d: Pass a wined3d_resource_desc structure to wined3d_texture_create_3d().
2013-06-06 11:47:07 +02:00
Henri Verbeet
b23739316c
wined3d: Pass a wined3d_resource_desc structure to wined3d_texture_create_cube().
2013-06-05 17:31:39 +02:00
Henri Verbeet
9d4cbd6195
wined3d: Pass a wined3d_resource_desc structure to wined3d_texture_create_2d().
2013-06-05 17:31:39 +02:00
Henri Verbeet
1366e3a5bf
wined3d: Pass a wined3d_resource_desc structure to wined3d_texture_init().
2013-06-05 17:31:39 +02:00
Henri Verbeet
a4d2660c9b
wined3d: Pass a wined3d_resource_desc structure to device_parent_create_texture_surface().
2013-06-04 10:14:26 +02:00
Henri Verbeet
1276a3db04
wined3d: Properly set resource dimensions in wined3d_texture_init().
2013-06-04 10:14:24 +02:00
Henri Verbeet
a3f59cf618
wined3d: Allow textures as swapchain surfaces.
2013-06-03 11:30:43 +02:00
Stefan Dösinger
c6ed62735d
wined3d: Refuse to create NPOT textures without GL support.
2013-04-16 17:48:20 +02:00
Stefan Dösinger
196c88cfc4
wined3d: 1x1 texures have a power of two size.
2013-04-15 17:45:44 +02:00
Michael Stefaniuc
50a9fb579c
wined3d: Remove ERR() on HeapAlloc failure for small sizes known at compile time.
2013-02-06 09:04:41 +01:00
Henri Verbeet
78984cf46c
wined3d: Get rid of ENTER_GL / LEAVE_GL.
2012-12-11 12:03:39 +01:00
Henri Verbeet
2bf46c60fb
wined3d: Replace the face and level parameters to device_parent_create_texture_surface() with the sub-resource index.
2012-10-25 11:48:25 +02:00
Henri Verbeet
ddbe791d37
wined3d: Set texture_level in surface_set_texture_target() as well.
2012-10-24 11:24:22 +02:00
Henri Verbeet
894d161891
wined3d: Call core GL functions through gl_info.gl_ops as well.
2012-07-25 20:10:08 +02:00
Henri Verbeet
0821c8024b
wined3d: Merge the device parent create_rendertarget() and create_depth_stencil() handlers.
2012-07-11 09:57:07 -05:00
Francois Gouget
19ba80e7c2
wined3d: We must include Wine's port.h before using NAN.
2012-06-01 17:41:52 +02:00
Henri Verbeet
de43de510a
wined3d: Move the resource bind_count field up to wined3d_resource.
2012-04-26 19:26:14 +02:00
Henri Verbeet
e53a277305
wined3d: Get rid of the WINED3DPOOL typedef.
2012-01-18 12:37:38 +01:00
Henri Verbeet
6a5a098b23
wined3d: Get rid of the WINED3DRESOURCETYPE typedef.
2012-01-18 12:37:38 +01:00
Henri Verbeet
e70990041b
wined3d: Get rid of the WINED3DTEXTUREFILTERTYPE typedef.
2012-01-13 17:34:31 +01:00
Henri Verbeet
2650ba4b17
wined3d: Get rid of the WINED3DTEXTUREADDRESS typedef.
2012-01-11 17:47:23 +01:00
Henri Verbeet
9a8491045e
wined3d: Get rid of the WINED3DMULTISAMPLE_TYPE typedef.
2012-01-09 12:22:17 +01:00
Henri Verbeet
08545dc739
wined3d: Get rid of the WINED3DSAMPLERSTATETYPE typedef.
2012-01-09 12:22:12 +01:00
Henri Verbeet
5c5216e609
wined3d: Get rid of the WINED3DBOX typedef.
2011-12-07 17:49:56 +01:00
Matteo Bruni
1ac60004dc
wined3d: Update sRGB GL texture state.
2011-11-23 09:13:21 +01:00
Stefan Dösinger
496b438ede
wined3d: Remove d3d8/9 palette support.
2011-10-11 13:37:49 +02:00
Matteo Bruni
0386b44bad
wined3d: Keep track of the current texture type for each texture unit.
2011-08-29 12:08:19 +02:00
Matteo Bruni
e53ae83d74
wined3d: Pass around the context instead of gl_info.
2011-08-25 11:31:55 +02:00
Matteo Bruni
be8ea9c36e
wined3d: Make context_acquire() unconditional in a bunch of places.
2011-08-25 11:31:55 +02:00
Henri Verbeet
2e14d9ac0e
wined3d: Make the texture parameter to texture_srgb_mode() const.
2011-07-15 10:08:18 +02:00
Henri Verbeet
792060d67f
d3d8: Implement IDirect3DVolumeTexture8 private data handling on top of wined3d_resource.
2011-06-20 11:28:40 +02:00
Henri Verbeet
732338ab35
d3d9: Implement IDirect3DCubeTexture9 private data handling on top of wined3d_resource.
2011-06-20 11:28:22 +02:00
Henri Verbeet
469eba24c0
d3d9: Implement IDirect3DVertexBuffer9 private data handling on top of wined3d_resource.
2011-06-17 11:02:28 +02:00
Henri Verbeet
1fbdfd625a
wined3d: Get rid of wined3d_texture_get_type().
2011-06-07 14:18:34 +02:00
Henri Verbeet
c8f26a1345
wined3d: Rename IWineD3DDeviceImpl_MarkStateDirty() to device_invalidate_state().
2011-06-06 16:18:41 +02:00
Henri Verbeet
0143fa7382
wined3d: Use the requested sRGB mode in texture3d_preload().
2011-05-19 10:08:05 +02:00
Henri Verbeet
6d6402afef
wined3d: Get rid of the mostly unused SRGB_BOTH enum value.
2011-05-19 10:08:02 +02:00
Henri Verbeet
3032b40c80
wined3d: Get rid of the IWineD3DDeviceParent interface.
2011-05-19 10:06:21 +02:00
Henri Verbeet
0e0e5c3e38
wined3d: Get rid of the IWineD3DDevice typedefs.
2011-05-17 10:06:23 +02:00
Henri Verbeet
00a5f38595
wined3d: Remove object creation methods from the IWineD3DDevice interface.
2011-05-11 14:56:48 +02:00
Henri Verbeet
c4b73c4550
wined3d: Get rid of the IWineD3DSurface typedefs.
2011-04-29 16:52:13 +02:00
Henri Verbeet
1c1de920e3
wined3d: Remove COM from the surface implementation.
2011-04-29 16:52:13 +02:00
Henri Verbeet
f6e4f4a122
wined3d: Get rid of the mipmap hint code.
...
Mipmap hint isn't a texture parameter, but a global hint. This never worked,
it just causes GL errors.
2011-04-21 16:53:41 +02:00
Henri Verbeet
89a4e696a2
wined3d: Get rid of the IWineD3DVolume typedefs.
2011-04-15 10:07:58 +02:00
Henri Verbeet
2c450571e5
wined3d: Remove COM from the volume implementation.
2011-04-15 10:07:57 +02:00
Henri Verbeet
19e66a0dc9
wined3d: Replace "is_srgb" in wined3d_texture with a flag.
2011-03-29 12:34:54 +02:00
Henri Verbeet
0e22aea01e
wined3d: Replace "pow2_matrix_identity" in wined3d_texture with a flag.
2011-03-29 12:34:49 +02:00
Henri Verbeet
e111acdf11
wined3d: Replace "cond_np2" in wined3d_texture with a flag.
2011-03-29 12:34:44 +02:00
Henri Verbeet
c5bf96c951
wined3d: Get rid of IWineD3DBaseTextureClass.
2011-03-29 12:34:40 +02:00
Henri Verbeet
fd8e18bd2b
wined3d: Remove COM from the texture implementation.
2011-03-28 17:08:52 +02:00
Henri Verbeet
87087f379f
wined3d: Merge the texture implementations.
2011-03-28 17:08:52 +02:00
Henri Verbeet
85f2348549
wined3d: Get rid of the IWineD3DBase requirement for surface_set_container().
...
This made sense back when we needed the container's parent and didn't know the
container's type, but neither of those is true anymore.
2011-03-28 17:08:52 +02:00
Henri Verbeet
96a8417a21
wined3d: Merge the texture cleanup functions.
2011-03-18 15:59:05 +01:00
Henri Verbeet
d30d9d5e49
wined3d: Merge the IWineD3DBaseTexture::AddDirtyRegion() implementations.
2011-03-18 15:59:04 +01:00
Henri Verbeet
09b4ed2e75
wined3d: Get rid of IWineD3DBaseTexture::IsCondNP2().
2011-03-17 10:41:54 +01:00
Henri Verbeet
2d4bce87ba
wined3d: Get rid of IWineD3DTextureImpl.
2011-03-17 10:41:41 +01:00
Henri Verbeet
f1ec3820d7
wined3d: Get rid of IWineD3DTexture.
2011-03-17 10:40:52 +01:00
Henri Verbeet
4a10bbc76d
wined3d: Generalize AddDirtyRect() / AddDirtyBox() to AddDirtyRegion().
2011-03-15 17:14:07 +01:00
Henri Verbeet
13b05b9dbe
wined3d: Get rid of IWineD3DTexture::Unmap().
2011-03-14 12:39:27 +01:00
Henri Verbeet
b77a661515
wined3d: Get rid of IWineD3DTexture::Map().
2011-03-14 12:39:27 +01:00
Henri Verbeet
4fd03150f6
wined3d: Get rid of IWineD3DBaseTexture::GetSubResourceDesc().
2011-03-10 12:53:13 +01:00
Henri Verbeet
8809ebdf79
wined3d: Generalize GetSurfaceLevel() / GetVolumeLevel() to GetSubResource().
2011-03-10 12:53:04 +01:00
Henri Verbeet
4be256a47c
wined3d: Introduce wined3d_resource_get_desc() to retrieve the resource desc.
2011-03-10 12:52:58 +01:00
Henri Verbeet
63b72d789d
wined3d: Move the GetLevelDesc() functions to the IWineD3DBaseTexture interface.
2011-03-09 12:29:04 +01:00
Henri Verbeet
756fdb7c5a
wined3d: Merge the various resource desc structures.
2011-03-09 12:28:58 +01:00
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
Stefan Dösinger
24564915b7
wined3d: Clean up AddDirtyRect.
2007-09-18 09:34:08 +02:00
Roderick Colenbrander
e77da5ef8a
wined3d: Don't call ActivateContext between ENTER_GL/LEAVE_GL.
2007-08-07 12:36:32 +02:00
Stefan Dösinger
a460a2df43
wined3d: Store the gl information in a per adapter structure and initialize it only once.
2007-06-11 13:51:06 +02:00
Phil Costin
622f62d352
wined3d: Enable the loading and reloading of gamma corrected textures.
2007-06-07 13:02:04 +02:00
Phil Costin
e7578dca36
wined3d: Add support for loading gamma corrected textures.
2007-06-07 13:01:49 +02:00
Andrew Talbot
2e16552327
wined3d: Void functions should not return a value.
2007-06-07 13:00:08 +02:00
Stefan Dösinger
fcb83e7111
wined3d: Activate a context before doing opengl calls.
2007-03-19 12:22:57 +01:00
Markus Amsler
04ae4596ff
d3d: Callback infrastructure for implicit surface destruction in IWineD3DTexture.
2006-12-06 12:38:37 +01:00
Ivan Gyurdiev
de108f65e1
wined3d: Add D3DTSS_TCI codes to the WINED3D namespace.
2006-10-31 12:09:15 +01:00
Francois Gouget
58162f87fd
Assorted spelling fixes.
2006-10-13 11:55:04 +02:00
Ivan Gyurdiev
9846602412
wined3d: Add D3DTEXTURETRANSFORMTYPE to the WINED3D namespace.
2006-10-13 11:15:31 +02:00
Ivan Gyurdiev
3dcd3681f3
wined3d: Win64 printf fixes.
2006-10-02 14:38:04 +02:00
H. Verbeet
5abdd7a19f
wined3d: Comparing BOOLs against FALSE is redundant.
2006-09-27 09:49:07 +02:00
Alexandre Julliard
e9cbc66e93
wined3d: Make the virtual table functions static where possible.
2006-06-10 13:15:32 +02:00
Jonathan Ernst
360a3f9142
Update the address of the Free Software Foundation.
2006-05-23 14:11:13 +02:00
Ivan Gyurdiev
07f4f70487
wined3d: QueryInterface corrections.
2006-05-05 20:23:41 +02:00
Stefan Dösinger
9d67b4287e
wined3d: Rename return values from D3D* to WINED3D*.
2006-04-07 14:54:04 +02:00
Stefan Dösinger
bbe490abcc
wined3d: Add WINED3DLOCKED_RECT to wined3d_types.h.
2006-04-06 22:23:31 +02:00
Stefan Dösinger
63fd9a7a98
wined3d: Add WINED3DTEXTUREFILTERTYPE to wined3d_types.h.
2006-04-06 22:22:35 +02:00
Stefan Dösinger
913df5b143
wined3d: Consistently use WINED3DRESOURCETYPE.
2006-03-10 21:43:00 +01:00
H. Verbeet
f7356a34c3
wined3d: Fix the relation between surfaces and their container.
2006-03-06 20:08:22 +01:00
H. Verbeet
bd8db45e44
wined3d: Update the QueryInterface functions of IWineD3DBase subclasses.
2006-02-06 11:32:41 +01:00
Francois Gouget
0edbaf7e80
Remove spaces before '\n' in traces.
2005-11-10 12:14:56 +00:00
Oliver Stieber
52a63149dc
Change SetDirty in texture to pass the value of dirty instead of
...
always passing TRUE.
2005-08-27 09:23:06 +00:00
Oliver Stieber
e31bc6cea4
Moved support for non power 2 texture to hardware.
...
Fix for the texture state separation patches, ApplyTextureStates is
now called instead of being commented out.
2005-08-03 19:49:05 +00:00
Oliver Stieber
bb6f9b022b
Move the setting of states from device to basetexture, states that
...
relate to the opengl texture object will only be updated when they are
out of sync, this reduces the number of texture object state changes
during game play in Axis and allies from several hundreds to 0 or 1.
2005-08-03 11:00:28 +00:00
Oliver Stieber
52b5842f70
Remove a load of IWineD3DSurface * casts that are no longer required.
2005-07-26 18:56:18 +00:00
Oliver Stieber
9253e0e39c
Tidy up some comments and formatting.
2005-07-13 14:15:54 +00:00
Oliver Stieber
13621056db
Move parameters relating to opengl on the surface structure on to a
...
glDesciption member.
Removed Level and Target from LoadTexture, and reduced the dependency
on surface->device.
Fixed a couple of compiler warnings in d3d9.
2005-07-11 20:38:27 +00:00
Oliver Stieber
e8855c48d8
Make all newly created surfces dirty, so that they are loaded properly
...
the first time around.
Replace some calls to cubetexture in basetexture to calls to
basetexture.
Check that the level isn't out of bounds in calls to texture.
2005-06-23 16:44:19 +00:00
Dmitry Timoshkov
eba47f1dfe
Make remaining OLE interface vtables const.
2005-06-06 19:50:35 +00:00
Oliver Stieber
67f2ad4563
- Volume now inherits Resource. This isn't the way Microsoft implements
...
the interface but it is more correct way (Microsoft even have a
resource type of volume).
- Moved usage, format, allocatedMemory and size onto the resource
class structure.
- Refactored Preload for classes that inherit BaseTexture, preload now
binds the texture instead of bind texture calling preload, bindTexture
allocated a glTexture if there isn't one.
- Added two new class static members BaseTexture_CleanUp and
Resource_CleanUp that should be called by classes that implement
BaseTexture or Resource.
2005-03-29 19:01:00 +00:00
Oliver Stieber
ba5eb14768
Encapsulate texture, surface encapsulated.
...
Added BindTexture, GetTextureDimensions, UnBindTexture.
Proper GetContainer support for surface.
SetContainer added to surface and volume.
SetInPbufferState added to surface (until gl context management is
implemented).
Minor changes:
- BaseTexture no longer 'holds' a reference to IWineD3DDevice to
prevent circular referencing.
- Better managment of referinging for texture.
- Some TODO's for implementing a context manager.
- Better preload implementation.
- Fix compile warning in device.c Set/GetSamplerState.
- Add QueryInterface support for surface.
- Format X8R8G8B8 added to locking.
2005-03-14 10:12:52 +00:00
Oliver Stieber
16e8689008
Implemented guids for wined3d.
2005-03-02 13:44:58 +00:00
Jason Edmeades
bcecddc084
- Add texture support for all the texture types for d3d9->wined3d.
...
- Add prototypes for the COM interfaces.
- Fix some incorrect types from the last patch.
2005-01-17 13:44:57 +00:00