Commit Graph

331 Commits

Author SHA1 Message Date
Henri Verbeet 8cc557a705 wined3d: Add a missing TRACE to wined3d_texture_map().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-28 22:31:30 +09:00
Riccardo Bortolato 96dd793756 wined3d: Introduce wined3d_texture_release_dc().
Signed-off-by: Riccardo Bortolato <rikyz619@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-28 22:31:29 +09:00
Riccardo Bortolato a2f2d238d4 wined3d: Introduce wined3d_texture_get_dc().
Signed-off-by: Riccardo Bortolato <rikyz619@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-28 22:31:29 +09:00
Stefan Dösinger d05736d2d9 wined3d: Only set GL_DEPTH_TEXTURE_MODE_ARB if ARB_depth_texture is supported.
Fixes a GL error on r200.

Signed-off-by: Stefan Dösinger <stefan@codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-23 19:19:00 +09:00
Matteo Bruni 41bf97e58a wined3d: Set GL_DEPTH_TEXTURE_MODE_ARB to GL_INTENSITY.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-21 22:41:55 +09:00
Riccardo Bortolato 6241ce5637 wined3d: Introduce a new wined3d_texture_blt function.
Signed-off-by: Riccardo Bortolato <rikyz619@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-20 00:30:38 +09:00
Stefan Dösinger 973de3f59c wined3d: Pass a context to surface_load_location.
Signed-off-by: Stefan Dösinger <stefan@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-16 19:56:42 +09:00
Riccardo Bortolato eac95d30b6 wined3d: Introduce new wined3d_texture_(un)map functions.
Initial usage in d3d11.
Also removed wined3d_volume_from_resource.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
2015-10-07 21:28:52 +09:00
Andrey Gusev 3c8635c8d7 wined3d: TRACE fixes. 2015-10-01 00:00:46 +09:00
Stefan Dösinger 40c5303b62 ddraw: Return the right error if range color keys are used. 2015-08-24 20:42:40 +09:00
Henri Verbeet 8f6f9096d7 wined3d: Also invalidate STATE_SHADER_RESOURCE_BINDING in wined3d_texture_bind_and_dirtify(). 2015-08-18 18:28:39 +09:00
Henri Verbeet 62454ae71d wined3d: Validate "data" in wined3d_texture_upload_data(). 2015-07-31 12:08:49 +02:00
Stefan Dösinger c8d1a70804 wined3d: Set the gl resource type in resource_init. 2015-06-08 18:51:24 +09:00
Stefan Dösinger 0152b0dad3 wined3d: Move the ARB_texture_rectangle check to init_format_texture_info. 2015-04-27 15:07:48 +09:00
Stefan Dösinger 0d6d64b358 wined3d: Move the ARB_texture_cube_map check to init_format_texture_info. 2015-04-27 15:07:46 +09:00
Stefan Dösinger 3c0ed9ce0a wined3d: Introduce resource-type specific format flags. 2015-04-24 19:08:35 +09:00
Matteo Bruni 7928ffaca5 wined3d: Drop glPrioritizeTextures() call.
It's not supported on core profiles and I doubt it matters anyway.
For the records, the default value is 1 so this was actually lowering
the priority for DEFAULT pool textures.
2015-04-24 19:08:10 +09:00
Stefan Dösinger 9076612e2d wined3d: Shadow format flags in the resource. 2015-04-22 23:24:41 +09:00
Henri Verbeet dcaaf915f8 wined3d: Use wined3d_texture_bind_and_dirtify() in wined3d_texture_upload_data(). 2015-04-16 20:44:41 +09:00
Stefan Dösinger 5d51c97d07 wined3d: Implement color keying in the glsl fragment pipeline. 2015-04-10 21:43:31 +09:00
Stefan Dösinger 82db5954c4 wined3d: Set color keys through the command stream. 2015-04-10 21:42:41 +09:00
Matteo Bruni b47695bf3a wined3d: Reject unsupported pitches in wined3d_surface_update_desc(). 2015-02-19 17:51:47 +09:00
Stefan Dösinger e53d22b0c0 wined3d: Manage color key changes in the texture.
This fixes a regression with color keyed mipmaps that was introduced by
ee8a5b7dd1. surface_load for level n+1
would call texture_force_reload, thus removing level n from the GL
texture.
2015-02-18 22:02:33 +09:00
Matteo Bruni 1aa5015467 wined3d: Directly use the core version of glTex[Sub]Image3D. 2015-02-09 22:05:32 +09:00
Matteo Bruni 6bb32e47ff wined3d: Use the core gl*CompressedTex* functions. 2015-01-20 16:08:54 +01:00
Henri Verbeet ca06f960ed wined3d: Use the same flags for wined3d_texture_set_color_key() and the "color_key_flags" field it sets.
This fixes a regression introduced by commit a8ab569415.
2015-01-19 14:31:51 +01:00
Henri Verbeet 5231113fc7 wined3d: Replace wined3d_texture_apply_state_changes() with wined3d_texture_apply_sampler_desc(). 2015-01-15 17:24:38 +01:00
Henri Verbeet 86e99abb12 wined3d: Store a struct wined3d_sampler_desc in struct gl_texture.
Instead of a enum wined3d_texture_state array.
2015-01-15 17:24:35 +01:00
Henri Verbeet ea534c9ab4 wined3d: Allow initial texture contents to be specified with wined3d_texture_create(). 2015-01-05 20:15:35 +01:00
Henri Verbeet 08aded431b wined3d: Reject wined3d_texture_create() calls without explicit level count. 2015-01-05 20:15:26 +01:00
Stefan Dösinger aad1997dff wined3d: Remove texture locations after downloading all subresources. 2014-10-23 18:48:25 +09:00
Henri Verbeet 1800712298 wined3d: Track texture coordinate normalization per-texture. 2014-10-09 17:36:21 +02:00
Henri Verbeet d6a511e022 wined3d: Track system memory pinning per-texture. 2014-10-09 17:36:21 +02:00
Henri Verbeet 710694d9ca wined3d: Track format conversion per-texture. 2014-10-08 13:13:37 +02:00
Henri Verbeet ee8a5b7dd1 wined3d: Track texture allocation per-texture. 2014-10-08 13:13:37 +02:00
Henri Verbeet 0c0a2adc71 wined3d: Handle GL texture allocation in the texture code. 2014-10-08 13:13:37 +02:00
Henri Verbeet 97856bcfee wined3d: Replace wined3d_surface_update_desc() with wined3d_texture_update_desc(). 2014-09-29 10:37:35 +02:00
Henri Verbeet b005ad6f90 wined3d: Use rendertarget views for color output instead of surfaces. 2014-08-21 12:24:42 +02:00
Henri Verbeet eb24c9578c wined3d: Keep a reference to the resource in rendertarget views. 2014-08-21 12:24:21 +02:00
Henri Verbeet 415b803720 wined3d: Use the texture draw binding instead of the surface draw binding. 2014-08-20 13:29:50 +02:00
Henri Verbeet aa7016054a wined3d: Move the "swapchain" field from struct wined3d_surface to struct wined3d_texture. 2014-08-20 13:29:47 +02:00
Henri Verbeet 694cdcc41c wined3d: Move the "map_binding" field from struct wined3d_surface to struct wined3d_resource.
Like "draw_binding".
2014-08-19 14:49:36 +02:00
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