Commit Graph

208 Commits

Author SHA1 Message Date
Stefan Dösinger e9b4f154dd wined3d: Don't use volume->resource.allocatedMemory.
Depending on the location flags, the buffer or heap_memory should be
used.
2013-09-19 19:49:43 +02:00
Stefan Dösinger 2680f33015 wined3d: Check box dimensions in volume_map. 2013-09-18 15:47:00 +02:00
Stefan Dösinger ac37f7a2ac wined3d: Implement locking of block-based volume textures. 2013-09-18 15:46:56 +02:00
Stefan Dösinger 83b404879c wined3d: Mapping a mapped volume is an error. 2013-09-18 15:46:49 +02:00
Stefan Dösinger 112617f00b wined3d: Move tex_unit_map and friends into the context. 2013-09-16 13:05:58 +02:00
Henri Verbeet d1e44ff775 wined3d: Pass a resource to wined3d_resource_free_sysmem(). 2013-09-16 12:51:13 +02:00
Henri Verbeet 261246ef21 wined3d: Pass a resource to wined3d_resource_allocate_sysmem(). 2013-09-16 12:51:13 +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
Henri Verbeet b5e0c5d052 wined3d: Get rid of some leftover comments referring to the GL lock. 2013-09-02 18:02:26 +02:00
Stefan Dösinger e69670f76b wined3d: Disallow MANAGED or SCRATCH pool dynamic volumes. 2013-08-26 19:02:33 +02:00
Stefan Dösinger 6bc3cbf1c5 wined3d: Implement sRGB for volumes. 2013-08-26 19:02:16 +02:00
Stefan Dösinger bd866c0294 wined3d: Implement NOOVERWRITE and DISCARD volume maps. 2013-08-26 19:01:53 +02:00
Stefan Dösinger 8c708486c3 wined3d: Use PBOs for dynamic volumes. 2013-08-26 19:01:39 +02:00
Stefan Dösinger 421b7a17ad wined3d: Enforce volume mapping restrictions. 2013-08-26 19:01:23 +02:00
Stefan Dösinger aa3a43f769 wined3d: Don't lock the dst volume in device_update_volume. 2013-08-23 19:26:43 +02:00
Stefan Dösinger 5ff1237563 wined3d: Free volume sysmem after upload. 2013-08-23 19:26:38 +02:00
Stefan Dösinger a89f2e6301 wined3d: Move volume sysmem allocation into a separate function. 2013-08-23 19:26:34 +02:00
Stefan Dösinger 52fb1cc245 wined3d: Implement basic volume location management. 2013-08-22 20:16:01 +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 518ac4c275 wined3d: Move volume data uploading into a separate function. 2013-08-22 20:15:33 +02:00
Stefan Dösinger e08e2b2ade wined3d: Separate volume allocation and loading. 2013-08-22 20:15:27 +02:00
Stefan Dösinger ac871305f8 wined3d: Store the mipmap level in the volume. 2013-08-22 20:15:18 +02:00
Stefan Dösinger 7e7ee52486 wined3d: Move volume booleans into a flags field. 2013-08-21 19:53:38 +02:00
Stefan Dösinger 6e4e1ad392 wined3d: Properly allocate heap memory for volumes. 2013-08-21 19:53:28 +02:00
Stefan Dösinger 9d75a517c2 wined3d: Improve volume size calculation. 2013-08-21 19:53:15 +02:00
Stefan Dösinger a4f009d847 wined3d: Keep GL_UNPACK_CLIENT_STORAGE_APPLE off by default.
This is cleaner than the other way around and avoids side effects in
code that wasn't written with client storage in mind. Contrary to the
original intention, it also means fewer client storage toggle calls.
2013-08-19 18:07:45 +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 a6ffab3bf5 wined3d: Rename WINED3DLOCK_* to WINED3D_MAP_*. 2012-06-18 17:48:56 +02: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 8cef8b3587 wined3d: Unify the wined3d_mapped_rect and wined3d_mapped_box structures. 2012-04-13 10:48:51 +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 9a8491045e wined3d: Get rid of the WINED3DMULTISAMPLE_TYPE typedef. 2012-01-09 12:22:17 +01:00
Henri Verbeet 5c5216e609 wined3d: Get rid of the WINED3DBOX typedef. 2011-12-07 17:49:56 +01:00
Henri Verbeet 2fa5a22100 wined3d: Get rid of the WINED3DLOCKED_BOX typedef. 2011-12-06 15:50:58 +01:00
Matteo Bruni d485e04576 wined3d: Fetch currently active texture unit from the wined3d_context. 2011-08-25 11:31:55 +02:00
Matteo Bruni e53ae83d74 wined3d: Pass around the context instead of gl_info. 2011-08-25 11:31:55 +02:00
Henri Verbeet b2d32a4966 wined3d: Make the volume parameter to volume_load() const. 2011-07-13 11:51:52 +02:00
Henri Verbeet 1791a5afd5 wined3d: Make the volume parameter to volume_bind_and_dirtify() const. 2011-07-13 11:51:49 +02:00
Henri Verbeet 330ffc83f2 d3d8: Implement IDirect3DVolume8 private data handling on top of wined3d_resource. 2011-06-23 09:47:34 +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 c8f26a1345 wined3d: Rename IWineD3DDeviceImpl_MarkStateDirty() to device_invalidate_state(). 2011-06-06 16:18:41 +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 cc39bde98d wined3d: Get rid of wined3d_volume_get_type(). 2011-04-22 10:44:23 +02:00
Henri Verbeet 38800d8e9a wined3d: Forward volume refcounts to the container. 2011-04-18 11:45:20 +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 c5bf96c951 wined3d: Get rid of IWineD3DBaseTextureClass. 2011-03-29 12:34:40 +02:00
Henri Verbeet eb5bfad18d wined3d: Get rid of the IWineD3DBaseTexture typedefs. 2011-03-28 17:08:52 +02:00
Henri Verbeet fd8e18bd2b wined3d: Remove COM from the texture implementation. 2011-03-28 17:08:52 +02:00
Francois Gouget 60b63fea4e wined3d: Make IWineD3DVolumeImpl_GetResource() static. 2011-03-16 14:14:23 +01:00
Henri Verbeet f77c0e36a4 wined3d: Get rid of IWineD3DVolumeTextureImpl. 2011-03-16 14:14:22 +01:00
Henri Verbeet 4c3d55f10e wined3d: Get rid of IWineD3DVolumeTexture::Map(). 2011-03-15 17:14:06 +01:00
Henri Verbeet 5f73f41f35 wined3d: Get rid of IWineD3DVolume::GetDesc(). 2011-03-11 11:40:37 +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 ac9c592ca9 wined3d: Store all the resource desc information in struct wined3d_resource. 2011-03-09 12:29:17 +01:00
Henri Verbeet 756fdb7c5a wined3d: Merge the various resource desc structures. 2011-03-09 12:28:58 +01:00
Henri Verbeet aa420ced0e wined3d: Pass gl_info to volume_bind_and_dirtify(). 2011-03-08 12:27:33 +01:00
Henri Verbeet af0a4b6956 wined3d: Pass gl_info to basetexture_bind(). 2011-03-03 17:47:14 +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 1eefb46a57 wined3d: Remove IWineD3DVolume::LoadTexture() from the public interface. 2011-01-21 18:37:11 +01:00
Henri Verbeet 237cdefe7f wined3d: Pass an IWineD3DVolumeImpl pointer to volume_bind_and_dirtify(). 2011-01-19 12:22:34 +01:00
Henri Verbeet ace5f8e60e wined3d: Pass an IWineD3DVolumeImpl pointer to volume_add_dirty_box(). 2011-01-19 12:22:31 +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 134137cdb4 wined3d: Pass an IWineD3DResourceImpl pointer to resource_cleanup(). 2011-01-06 11:33:24 +01:00
Henri Verbeet 7080922e0e wined3d: Pass an IWineD3DResourceImpl pointer to resource_init(). 2011-01-06 11:33:19 +01:00
Henri Verbeet d72520b5cc wined3d: Remove IWineD3DBaseTexture::BindTexture() from the public interface. 2011-01-05 17:22:01 +01:00
Rico Schüller 5b985bcb03 wined3d: Fix memset size in IWineD3DVolumeImpl_Unmap. 2010-12-20 12:47:38 +01:00
Henri Verbeet 03f7a2d88e wined3d: Get rid of the remaining "Flags". 2010-11-23 13:15:36 +01:00
Henri Verbeet 95469309d6 wined3d: Consistently use Map/Unmap for mapping resources. 2010-10-14 17:54:52 +02:00
Henri Verbeet b68d257710 wined3d: Get rid of redundant comparisons against NULL / 0. 2010-09-14 09:43:33 -05:00
Henri Verbeet 955858e97d wined3d: IWineD3DVolume_GetDesc() should never fail. 2010-09-08 13:31:49 +02:00
Henri Verbeet 992cb88f71 wined3d: Rename "pDesc" to "desc". 2010-09-07 11:23:20 +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 42b814c7d1 wined3d: Remove the GetContainer() methods from the public wined3d interface.
There's nothing left that uses these.
2010-08-26 12:41:39 +02:00
Henri Verbeet cc5271d1b7 wined3d: Rename WINED3DFORMAT to wined3d_format_id. 2010-08-24 12:25:01 +02:00
Henri Verbeet b0fb388edb wined3d: A volume's container is always a volume texture. 2010-08-17 11:55:32 +02:00
Henri Verbeet 89e6a60732 wined3d: Remove SetContainer() from the public IWineD3DVolume interface. 2010-08-17 11:55:32 +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 e8ac9bbd7f wined3d: Get rid of GLINFO_LOCATION. 2010-05-25 13:29:00 +02:00
Henri Verbeet 08c783a8ad wined3d: Set the volume.c GLINFO_LOCATION to *gl_info. 2010-05-24 11:31:28 +02:00
Henri Verbeet 3aaa6ee6e7 wined3d: Rename GlPixelFormatDesc to wined3d_format_desc. 2010-03-19 14:31:47 +01:00
Henri Verbeet 3f77683174 wined3d: Volumes are resources in wined3d. 2009-12-22 13:48:25 +01:00
Henri Verbeet 35d5e7669e wined3d: Change an ERR to a WARN in IWineD3DVolumeImpl_UnlockBox().
Trying to unlock a volume that isn't locked is questionable behaviour on the
side of the application, but not an internal error.
2009-12-17 12:43:16 +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
Marcus Meissner a7e599db45 wined3d: Handle NULL ptrs (Coverity). 2009-11-24 10:51:46 +01:00
Henri Verbeet 111307dfba wined3d: Get rid of the GL_SUPPORT macro. 2009-10-29 13:09:33 +01:00