Commit Graph

933 Commits

Author SHA1 Message Date
Henri Verbeet e97ed10d09 wined3d: Introduce a multi-threaded command stream implementation.
The primary purpose of this patch is to serialise draws from multiple threads,
without the overhead of extra flushes that "StrictDrawOrdering" imposes.
With additional work, offloading state processing and driver overhead to a
separate thread may also allow for improved performance in some applications,
but that's not a goal of this patch.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-13 09:09:05 +02:00
Józef Kucia 706652025e wined3d: Differentiate between single layer and layered render target views.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-10 22:00:42 +02:00
Józef Kucia e500cf7d97 wined3d: Attach render target texture views to FBO.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-10 22:00:42 +02:00
Józef Kucia a727b74264 wined3d: Use wined3d_texture_get_texture_name() helper in more places.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-07 18:05:48 +02:00
Józef Kucia f424a77375 wined3d: Add basic support for rendering to 3D textures.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-06 12:43:23 +02:00
Józef Kucia 26b7baa0dd wined3d: Store render target info instead of surfaces in "blit_targets".
In preparation for extending render target views support.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-06 12:43:19 +02:00
Józef Kucia 8b9ece6797 wined3d: Introduce context_reacquire() helper function.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-05 19:10:46 +02:00
Józef Kucia 3ca84a348e wined3d: Pause transform feedback between draw calls.
In order to avoid recording vertices generated by other operations, e.g.
blits.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-30 22:06:31 +02:00
Józef Kucia 96570c5216 wined3d: Bind transform feedback buffers.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-29 20:54:05 +02:00
Henri Verbeet 4f027e627e wined3d: Properly handle back-buffers in context_get_rt_size().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-23 17:07:59 +01:00
Józef Kucia 584ec259b2 wined3d: Introduce wined3d_sampler_bind() helper function.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-20 19:21:16 +01:00
Józef Kucia f82a437a90 wined3d: Create wined3d sampler for NULL sampler.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-20 19:21:14 +01:00
Józef Kucia a7dadf2f95 wined3d: Create wined3d sampler for default sampler.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-20 19:21:12 +01:00
Józef Kucia 470767ef4a wined3d: Get rid of redundant WARN() from context_load_shader_resources().
The context_bind_shader_resources() function prints the same warning
message.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-15 17:32:54 +01:00
Józef Kucia 57757a3bd9 wined3d: Use context_get_tex_unit_mapping() in context_bind_shader_resources().
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-15 17:32:42 +01:00
Józef Kucia 12edaf9ad0 wined3d: Introduce context_get_tex_unit_mapping() helper function.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-14 17:14:38 +01:00
Józef Kucia 1865352e3f wined3d: Allow using more than MAX_COMBINED_SAMPLERS texture image units.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-14 17:14:36 +01:00
Józef Kucia d89ee7aaaa wined3d: Move legacy texture image unit range allocation to wined3d_gl_limits_get_texture_unit_range().
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-13 19:28:43 +01:00
Józef Kucia c7f3308db7 wined3d: Add support for seamless cube map filtering.
Seamless cube map filtering should always be enabled in D3D10+.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-08 16:37:35 +01:00
Józef Kucia 646cb95942 wined3d: Create dummy cube array textures.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-08 16:37:29 +01:00
Józef Kucia a19e6265d7 wined3d: Bind unordered access views even if they are not used by current shaders.
An alternative would be to invalidate unordered access view bindings
when a shader is set.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-06 19:49:16 +01:00
Henri Verbeet 2338060142 wined3d: Explicitly pass d3d_info and gl_info to context_stream_info_from_declaration().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-06 19:43:50 +01:00
Józef Kucia 6256956a41 wined3d: Implement UAV counters.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-03 13:23:56 +01:00
Józef Kucia 36b9bc946b wined3d: Introduce helper function to reserve memory for arrays.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-28 20:40:02 +01:00
Józef Kucia 1f1efea0d3 wined3d: Implement compute shader resource binding.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-22 17:25:30 +01:00
Józef Kucia b3a7d3adaa wined3d: Allocate texture binding set for compute pipeline.
It seems that a majority of OpenGL implementations allow to statically
partition texture bindings. For other implementations we are going to
invalidate graphics pipeline texture bindings when appplying compute
pipeline texture bindings, and vice versa.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-22 17:25:19 +01:00
Józef Kucia 87bf26c344 wined3d: Allocate "context->texture_type" dynamically.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-22 17:24:54 +01:00
Józef Kucia f5de7186aa wined3d: Do not try to invalidate compute states for freshly created contexts.
The context_invalidate_state() function doesn't handle compute states
properly.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-22 17:24:48 +01:00
Józef Kucia cab9282d10 wined3d: Load unordered access resources before binding shader resources.
Loading a texture might invalidate shader resource view bindings.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-22 17:24:44 +01:00
Józef Kucia 3d62cd26d1 wined3d: Check if texture unit mapping is required in context_update_tex_unit_map().
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-21 17:23:13 +01:00
Henri Verbeet 392213efb2 wined3d: Send unordered access view GL initialisation through the command stream.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-16 08:31:00 +01:00
Henri Verbeet 2641c5c28f wined3d: Pass a texture and sub-resource index to context_acquire().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-15 16:16:20 +01:00
Józef Kucia 167d4acfd2 wined3d: Add support for buffer UAVs.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-14 22:46:59 +01:00
Józef Kucia e30a5ce8f0 wined3d: Simplify pixel format selection.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-10 21:29:19 +01:00
Józef Kucia d4e439a36a wined3d: Implement texture cube array views.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-10 21:29:10 +01:00
Józef Kucia 572aa0e0ea wined3d: Merge WINED3D_CS_OP_SET_UNORDERED_ACCESS_VIEW and WINED3D_CS_OP_SET_COMPUTE_UAV.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-09 13:17:57 +01:00
Józef Kucia 6cc1335adc wined3d: Implement compute pipeline UAV binding.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-09 13:17:40 +01:00
Matteo Bruni e99937ef51 wined3d: Don't query aux buffers count on core profile.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-08 17:00:06 +01:00
Józef Kucia 5a093509d0 wined3d: Group compute states together.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-07 14:45:45 +01:00
Józef Kucia 1b400f7433 wined3d: Implement applying state for compute pipeline.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-07 14:45:43 +01:00
Józef Kucia 5188edacb2 wined3d: Set "last_was_blit" unconditionally in context_apply_clear_state().
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-03 19:05:13 +01:00
Józef Kucia 34af6f700e wined3d: Introduce wined3d_device_dispatch_compute().
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-02 19:50:37 +01:00
Henri Verbeet 6fd212818d wined3d: Do not preload the buffer in wined3d_buffer_unmap().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-31 19:48:44 +01:00
Józef Kucia e800093706 wined3d: Create dummy buffer textures.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-26 16:57:46 +01:00
Henri Verbeet ff85cd5f4a wined3d: Get rid of the "AlwaysOffscreen" setting.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-25 11:25:42 +01:00
Józef Kucia 6b94fb1e4a wined3d: Always check if context window needs to be updated.
Fixes a regression introduced by commit
8673dca87d.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-19 11:06:00 +01:00
Józef Kucia a02fd72965 wined3d: Use depth/stencil formats for typeless resources only when WINED3DUSAGE_DEPTHSTENCIL is set.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-12 19:40:33 +01:00
Józef Kucia 2dcfd128e1 wined3d: Create texture views for unordered access views.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-09 15:54:24 +01:00
Józef Kucia ffcea8af77 wined3d: Implement primitive restart.
Based on a patch by Andrew Wesie.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-08 13:54:06 +01:00
Józef Kucia 66aa910bd0 wined3d: Unbind image textures in context_bind_unordered_access_views().
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-29 16:56:40 +01:00
Józef Kucia d368779b9a wined3d: Synchronize shader memory accesses after each draw call.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-24 14:31:07 +01:00
Józef Kucia 71ad7a8952 wined3d: Invalidate texture locations while binding UAVs.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-24 14:31:00 +01:00
Józef Kucia 794d59259b wined3d: Introduce wined3d_device_set_unordered_access_view().
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-11-24 14:30:56 +01:00
Józef Kucia 2e15ae85a1 wined3d: Introduce wined3d_buffer_get_memory().
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-21 13:37:58 +02:00
Józef Kucia fc866d88f3 wined3d: Rename buffer_get_sysmem() to wined3d_buffer_load_sysmem().
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-19 08:09:48 -07:00
Józef Kucia 5f86ef7b1e wined3d: Rename buffer_internal_preload() to wined3d_buffer_load().
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-19 08:09:46 -07:00
Józef Kucia 4116d72078 wined3d: Call GL functions through gl_info.gl_ops in context_dump_fbo_attachment().
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-10 21:10:55 +02:00
Józef Kucia 83544c4cc2 wined3d: Call glFlush() through gl_info.gl_ops.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-10 21:10:53 +02:00
Matteo Bruni dd420ccf1f wined3d: Flag WINED3D_SHADER_CONST_PS_Y_CORR on framebuffer changes.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-07 13:11:43 +02:00
Józef Kucia 13e464d0fb wined3d: Avoid destroying active contexts.
This commit fixes a problem which can be observed in d3d10core and d3d11
tests while a device is destroyed in test_swapchain_flip().

When a swapchain is destroyed all contexts associated with this
swapchain are destroyed. A context is destroyed even if it is active.
This might lead to using a destroyed context. In order to fix this the
destruction of context is delayed until leaving the last level.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-06 14:22:18 +02:00
Józef Kucia 6f7e0d3dba wined3d: Avoid trying to get backup DC when context is no longer associated with swapchain.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-06 14:22:14 +02:00
Józef Kucia 8673dca87d wined3d: Avoid using "context->swapchain" in context_update_window().
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-06 14:22:11 +02:00
Józef Kucia 79787263cc wined3d: Store pointer to device in wined3d_context.
Signed-off-by: Józef Kucia <jkucia@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>
2016-10-06 14:22:08 +02:00
Matteo Bruni a5d2b3622b wined3d: Use ARB_clip_control to avoid vertex position fixups.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-04 13:55:47 +02:00
Matteo Bruni a7f846b2ee wined3d: Avoid vpos fixups when ARB_fragment_coord_conventions is supported.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-04 13:55:36 +02:00
Józef Kucia 7cb16e4dbe wined3d: Bind dummy textures to all texture image units.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-03 20:43:01 +02:00
Józef Kucia a4ce86c8f7 wined3d: Do not create separate dummy texture for each texture image unit.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-03 20:43:01 +02:00
Matteo Bruni d1bc192b29 wined3d: Fix a bunch of typos.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-23 20:48:24 +09:00
Henri Verbeet 3160eabf24 wined3d: Use wined3d_texture_load_location() in context_validate_onscreen_formats().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-02 06:08:56 -05:00
Matteo Bruni b62f4139ed wined3d: Swizzle D3DCOLOR attributes in the GLSL FFP replacement when necessary.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-01 09:57:38 -05:00
Matteo Bruni 75c8eba525 wined3d: Also check BLENDWEIGHT for immediate mode fallback.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-01 09:57:28 -05:00
Józef Kucia b30f59c567 wined3d: Add compute shader type.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-22 00:58:56 +09:00
Henri Verbeet a1bc5b8c97 wined3d: Don't bother with glGetError() if we have ARB_DEBUG_OUTPUT.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-22 00:58:54 +09:00
Józef Kucia e86693f956 wined3d: Create texture views for shader resource views.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-07 22:06:24 +09:00
Józef Kucia 9cc95e5a1d wined3d: Do not try to attach WINED3FMT_NULL surfaces to FBO.
This fixes a regression introduced by commit
b76fcbe0da.

Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-06 22:18:58 +09:00
Józef Kucia 3bac75c040 wined3d: Add support for NULL sampler.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-06-03 00:10:49 +09:00
Józef Kucia b18d8ec04a wined3d: Allow draw calls without vertex declaration.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-24 20:03:17 +09:00
Henri Verbeet 8ae3a9b624 wined3d: Introduce a helper function to allocate arrays.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-24 16:19:01 +09:00
Józef Kucia 0f1729c5f4 wined3d: Handle 2D array textures in context_dump_fbo_attachment().
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-22 21:19:46 +09:00
Henri Verbeet 58a1796d83 wined3d: Don't enumerate sub-resources in wined3d_device_reset().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-21 15:34:43 +09:00
Józef Kucia 879d4bffeb wined3d: Add support for rendering to 2D array textures.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-20 21:50:42 +09:00
Józef Kucia 7eac961454 wined3d: Create dummy 2D array textures.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-19 21:25:53 +09:00
Henri Verbeet feb86895b4 wined3d: Store renderbuffer IDs in struct wined3d_texture.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-19 14:56:02 +09:00
Henri Verbeet e7031197a1 wined3d: Use the texture dimension helpers in context_find_fbo_entry().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-18 15:07:16 +09:00
Stefan Dösinger aad6fb4a42 wined3d: Explicitly pass a wined3d_state structure to context_apply_draw_state().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-15 12:32:44 +09:00
Henri Verbeet f3c155cc56 wined3d: Merge drawStridedSlow() and drawStridedSlowVs().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-07 12:57:34 +09:00
Henri Verbeet e686b5a62f wined3d: Explicitly pass a wined3d_state structure to context_apply_clear_state().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-07 12:57:29 +09:00
Henri Verbeet 6b8fb1c22e wined3d: Also update the swap interval when not recreating the context in wined3d_device_reset().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-05 12:52:19 +09:00
Józef Kucia ea92105d41 wined3d: Add domain shader type.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-01 20:51:33 +09:00
Stefan Dösinger 984934f685 wined3d: Introduce wined3d_texture_invalidate_location().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-31 10:40:07 +09:00
Henri Verbeet 1c5d544380 wined3d: Use the texture dimension helpers in context_find_fbo_entry().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-31 10:39:58 +09:00
Henri Verbeet d6e2f650d5 wined3d: Store the context's current rendertarget as a texture and sub-resource index.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-30 11:54:13 +09:00
Józef Kucia 403459fd91 wined3d: Add hull shader type.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-30 11:53:26 +09:00
Matteo Bruni ccac958b58 wined3d: Don't set legacy light and texture environment state on core profile contexts.
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-29 19:31:59 +09:00
Henri Verbeet ee800283fa wined3d: Pass a texture instead of a surface to context_generate_rt_mask_no_fbo().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-26 12:07:22 +09:00
Henri Verbeet adb495ec37 wined3d: Replace context_generate_rt_mask_from_surface() with context_generate_rt_mask_from_resource().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-26 12:07:20 +09:00
Henri Verbeet b46ef08c9c wined3d: Introduce wined3d_texture_get_gl_buffer().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-24 11:51:03 +09:00
Henri Verbeet 7bf2a34528 wined3d: Pass a texture instead of a surface to context_create().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-24 11:51:01 +09:00
Józef Kucia 53f4cc1a9e wined3d: Allow draw calls without color attachments.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-22 23:51:32 +09:00
Henri Verbeet cb9704a979 wined3d: Properly check if sRGB writes should be enabled in context_apply_clear_state().
In particular, while enabling sRGB writes is harmless for framebuffers that
are not sRGB capable, the default framebuffer may be sRGB capable regardless
of the associated wined3d format.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-18 12:20:40 +09:00
Henri Verbeet f8c1c1778a wined3d: "render_targets" is never NULL in context_find_fbo_entry().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-13 15:41:32 +09:00
Henri Verbeet 34968bb2d8 wined3d: Get resource info from the texture in context_setup_target().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-07 13:22:21 +09:00
Henri Verbeet 4b34b5646c wined3d: Get resource info from the texture in context_apply_blit_state().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-04 18:42:09 +09:00
Henri Verbeet cea2ec9ab6 wined3d: Get resource info from the texture in context_generate_rt_mask_no_fbo().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-04 18:42:09 +09:00
Henri Verbeet 6b2567e42c wined3d: Get resource info from the texture in context_create().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-04 18:42:09 +09:00
Henri Verbeet 193ca794fc wined3d: Get resource info from the texture in context_restore().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-04 18:42:09 +09:00
Henri Verbeet 40ef70eb39 wined3d: Get resource info from the texture in context_find_fbo_entry().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-04 18:42:08 +09:00
Stefan Dösinger 9dc8956102 wined3d: Get rid of the offscreenBuffer field in struct wined3d_device.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-01 12:06:46 +09:00
Sebastian Lackner 85f088f252 wined3d: Fix transposed lines in WARN message.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-01 01:50:11 +09:00
Stefan Dösinger 928cb58aa8 wined3d: Remove fbo_entry->d3d_depth_stencil.
Signed-off-by: Stefan Dösinger <stefandoesinger@gmx.at>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-24 10:32:47 +09:00
Stefan Dösinger d04ca90bca wined3d: Check multisampling compatibility before finding the FBO key.
Signed-off-by: Stefan Dösinger <stefandoesinger@gmx.at>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-24 10:32:42 +09:00
Stefan Dösinger 5dac6e49d8 wined3d: Simplify FBO cleanup on resource destruction.
Signed-off-by: Stefan Dösinger <stefandoesinger@gmx.at>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-24 10:32:33 +09:00
Stefan Dösinger bcd9291615 wined3d: Better integrate the fixed up DS in the new FBO cache handling.
Signed-off-by: Stefan Dösinger <stefandoesinger@gmx.at>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-24 10:32:25 +09:00
Stefan Dösinger b76fcbe0da wined3d: Keep track of FBOs through the GL names.
Signed-off-by: Stefan Dösinger <stefandoesinger@gmx.at>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-24 10:32:15 +09:00
Stefan Dösinger f11f6f681e wined3d: Retrieve FBO attachments from GL in context_check_fbo_status.
Signed-off-by: Stefan Dösinger <stefandoesinger@gmx.at>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-24 10:32:08 +09:00
Ken Thomases 52a99f2ead wined3d: Change calls of GetDC() to GetDCEx() with DCX_CACHE so the HDC is not shared with other threads.
Windows created by the app may use the CS_CLASSDC or CS_OWNDC class styles.  In
that case, GetDC() would return the same HDC to all callers.  It's not safe,
though, for multiple threads to use the same HDC without synchronization.  The
app may be using that HDC from multiple threads and using some synchronization
scheme to make that safe, but wined3d is not able to cooperate in such a scheme.

Using GetDCEx() with DCX_CACHE ensures that wined3d gets an independent HDC.

Signed-off-by: Ken Thomases <ken@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-16 23:26:31 +09:00
Józef Kucia 1769ea38e6 wined3d: Add support for separate sRGB formats.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-09 00:37:25 +09:00
Hans Leidekker 29a2594b7f wined3d: Don't leak the device context on failure in context_create().
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-27 23:35:32 +09:00
Józef Kucia 5ca86ca4ee wined3d: Record texture accesses for SM4 ld instruction.
Signed-off-by: Józef Kucia <jkucia@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-06 18:08:36 +01:00
Matteo Bruni 787a2716e1 wined3d: Respect D3DRS_SRGBWRITEENABLE in clears.
This only handles the case where ARB_framebuffer_sRGB and
EXT_texture_sRGB_decode are supported by the GL implementation.

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-11-30 23:51:05 +09:00
Matteo Bruni 6dd054ca58 wined3d: Flush the GL context before switching away from it.
We might end up not using the old context anymore after that and the GL
implementation is allowed to delay executing commands indefinitely if we
don't flush.

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-11-30 23:51:03 +09:00
Henri Verbeet b0be9f0b93 wined3d: Ignore "always_offscreen" for ORM_BACKBUFFER in context_create().
ORM_BACKBUFFER uses the backbuffer for off-screen rendering.

Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-19 12:59:44 +09:00
Matteo Bruni d6c8146633 wined3d: Enforce a stable texture units mapping.
The GLSL shader backend hardcodes the sampler uniforms at program link
time, it can't handle a change in the mapping between draws with the
same shader program.

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-11-13 22:53:58 +09:00
Matteo Bruni 750dc790b7 wined3d: Avoid going through the texture units mapping when unnecessary.
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-11-13 22:53:55 +09:00
Matteo Bruni e449f90b20 wined3d: Set default texture units mapping for vertex shader samplers when possible.
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-11-13 22:53:50 +09:00
Henri Verbeet b53256b8b7 wined3d: Call wglGetPixelFormat() through the gl_ops table.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-04 14:41:39 +09:00
Henri Verbeet c92451f295 wined3d: Always use the same formats in context_create() when "always_offscreen" is enabled.
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-04 14:41:39 +09:00
Henri Verbeet 99033b1453 wined3d: Get rid of getDepthStencilBits().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-04 14:41:39 +09:00
Henri Verbeet e0ab314b62 wined3d: Get rid of getColorBits().
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-04 14:41:38 +09:00
Stefan Dösinger 1ca9dfc8ee wined3d: Prepare GL resources before calling context_apply_fbo_state.
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-29 21:20:24 +09:00
Matteo Bruni 08bd0ba28c wined3d: Use the core version of the debug messages functions.
Reported and tested by Andrey Gusev.

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-22 17:32:23 +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
Stefan Dösinger b28511f73b wined3d: Pass a context to read_from_framebuffer.
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-15 23:14:51 +09:00
Henri Verbeet 2773b27bb1 wined3d: Use unsigned mask constants in shifts. 2015-08-26 23:53:22 +09:00
Henri Verbeet ee9b1311cd wined3d: Separate loading shader resources and updating their binding points. 2015-08-18 18:28:41 +09:00
Matteo Bruni a064797e0f wined3d: Don't unnecessarily fallback to immediate mode for FFP draws with the PSIZE attribute. 2015-07-29 20:56:41 +02:00
Matteo Bruni a7315eb76a wined3d: Bind a VAO when using core profile contexts. 2015-07-13 22:06:38 +09:00
Matteo Bruni a1e718ccab wined3d: Add a setting for the maximum OpenGL version to use. 2015-07-09 17:18:22 +09:00
Matteo Bruni 170dca7741 wined3d: Handle per-vertex point size in the GLSL FFP replacement. 2015-06-17 20:01:19 +09:00
Stefan Dösinger 4e53faf77b wined3d: Disable the depth stencil on multisample mismatch. 2015-06-10 23:25:04 +09:00
Stefan Dösinger ec25ca7832 wined3d: Read format flags from the surface container. 2015-06-08 18:51:21 +09:00
Matteo Bruni e8cb3bdba5 wined3d: Always enable GL_PROGRAM_POINT_SIZE in the GLSL backend.
Core contexts don't support clamping the point size to GL_POINT_SIZE_MIN
/ GL_POINT_SIZE_MAX.  Incidentally this mostly fixes per-vertex point
sizes for vertex shader version 1 and 2.
2015-06-03 19:52:14 +09:00
Stefan Dösinger 90d8896826 wined3d: Allow specifying a different depth stencil location.
This is for drivers that do not support depth stencil textures, but
happily support depth stencil renderbuffers.
2015-05-25 21:43:18 +09:00
Stefan Dösinger 3c0ed9ce0a wined3d: Introduce resource-type specific format flags. 2015-04-24 19:08:35 +09:00
Stefan Dösinger 9076612e2d wined3d: Shadow format flags in the resource. 2015-04-22 23:24:41 +09:00
Stefan Dösinger 239e8cad7c wined3d: Add per-context private data for fragment pipelines. 2015-03-24 20:06:15 +09:00
Henri Verbeet 1b08196c5a wined3d: Implement d3d10 style instance data step rates. 2015-03-24 17:41:06 +09:00
Henri Verbeet 88f230b56e d3d10core: Also pass unused input layout elements to wined3d.
While these won't be used by the shader, they potentially affect the
calculated offset for WINED3D_APPEND_ALIGNED_ELEMENT elements.
2015-03-23 22:59:12 +09:00
Matteo Bruni d8c5e417c2 wined3d: Force stream info update on vertex shader change. 2015-03-18 21:02:41 +09:00
Matteo Bruni f298d30b39 wined3d: Fix a typo in a trace in context_create(). 2015-03-11 22:08:34 +09:00
Matteo Bruni 78ae4f66d7 wined3d: Set GL_UNPACK_ALIGNMENT to 1.
Alignment should be taken care by the surface pitch and
GL_UNPACK_ROW_LENGTH alone just fine, as long as the pitch is a
multiple of the pixel size. Client APIs respect that,
internally we need to do the same and the changes to
surface_load_texture and wined3d_volume_upload_data are there
for this reason (e.g. WINED3DFMT_R16G16_SNORM is emulated with
GL_RGB16 when NV_texture_shader isn't supported).
2015-02-20 22:53:09 +09:00
Matteo Bruni f4da723151 wined3d: Call glReadBuffer() through the appropriate function pointer. 2015-02-10 16:21:41 +09:00
Matteo Bruni 9defaa53a1 wined3d: Use the core version of the asynchronous queries functions. 2015-02-02 22:39:05 +09:00
Matteo Bruni 75b96768e5 wined3d: Use the core version of glDrawBuffers. 2015-01-20 16:08:56 +01:00
Henri Verbeet 2e5abc156a wined3d: Implement WINED3DSIH_SAMPLE in the GLSL shader backend. 2015-01-19 14:31:32 +01:00
Henri Verbeet c6232e1d11 wined3d: Create GL sampler objects for wined3d sampler objects. 2015-01-15 17:24:43 +01:00
Matteo Bruni 993075cdb3 wined3d: Prefer the core glActiveTexture function. 2015-01-09 11:49:33 +01:00
Henri Verbeet 3aa9fe6bef wined3d: Record the data type of shader resources. 2014-12-03 11:14:25 +01:00
Henri Verbeet f5cef43738 wined3d: Store resource types instead of sampler types in struct wined3d_shader_reg_maps.
The difference doesn't really matter for SM1-3 since resources and samplers
are always tied together, but in SM4 they're separate.
2014-12-03 11:14:21 +01:00
Henri Verbeet 0c0a2adc71 wined3d: Handle GL texture allocation in the texture code. 2014-10-08 13:13:37 +02:00
Henri Verbeet 4f2110b0ce wined3d: Never pass a surface to wined3d_resource_is_offscreen(). 2014-09-19 10:49:27 +02:00
Henri Verbeet 07985a8c38 wined3d: Use rendertarget views for depth/stencil buffers instead of surfaces.
I don't think the difference between d3d10 depth/stencil and rendertarget
views is large enough to justify a separate type. Unfortunately that does make
the name "wined3d_rendertarget_view" slightly awkward.
2014-08-22 12:53:11 +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 d3387cf77b wined3d: Keep a reference to the backbuffer textures instead of the surfaces in the swapchain. 2014-08-20 13:29:53 +02:00
Henri Verbeet ec87407e7c wined3d: Keep a reference to the frontbuffer texture instead of the surface in the swapchain. 2014-08-20 13:29:52 +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 f753ff90be wined3d: Replace surface_is_offscreen() with wined3d_resource_is_offscreen().
Introducing rendertarget views will (eventually) allow rendering to 3D
textures and buffers.
2014-08-19 14:49:39 +02:00
Henri Verbeet 5ef8e97414 wined3d: Move the "draw_binding" field from struct wined3d_surface to struct wined3d_resource. 2014-08-04 14:23:52 +02:00
Henri Verbeet 80bca9bc9c wined3d: Add constant buffer support to the GLSL shader backend. 2014-08-04 14:23:29 +02:00
Henri Verbeet 96d845aa46 wined3d: Avoid a compiler warning in context_stream_info_from_declaration(). 2014-07-22 12:37:54 +02:00
Henri Verbeet 1360af6adc wined3d: Don't try to resolve vertex buffer locations in context_stream_info_from_declaration(). 2014-07-14 19:26:17 +02:00
Henri Verbeet 68339456a8 wined3d: Always mark vertex buffers as used in context_apply_draw_state().
The issue this solves is that buffer_internal_preload() is only called when
STATE_VDECL or STATE_STREAMSRC is invalidated, but that doesn't happen for
regular buffer maps. We'd like to be able to just call
buffer_internal_preload() here, but buffer_internal_preload() has dependencies
on context_stream_info_from_declaration() and vice versa.
2014-07-14 19:26:17 +02:00
Henri Verbeet 0eebe0515f wined3d: Fix a couple of string declarations. 2014-05-02 13:45:10 +02:00
Matteo Bruni a1784d9ed9 wined3d: Add support for timestamp queries. 2014-04-17 13:53:00 +02:00
Ken Thomases f3aa481238 wined3d: Track if a context's private hdc has had its pixel format set, so we don't need to check it. 2014-03-24 20:20:14 +01:00
Ken Thomases 272873823e wined3d: Track if a context's hdc is private so we never need to restore its pixel format.
This currently only applies to the swapchain backup DC, but it will soon be
used for surfaces created using the WGL_WINE_surface extension.  Also, there
are a couple of cases where ddraw creates private windows and passes them in.
It could be extended to those.
2014-03-24 20:20:13 +01:00
Ken Thomases 57c51710e0 wined3d: When restoring pixel format in context_release(), mark the context as needing to be set on the next context_acquire().
If we had to restore the pixel format then we know it won't be what we need
when the app calls into wined3d again.  This helps avoid the GetPixelFormat()
in context_acquire().
2014-03-24 20:20:12 +01:00
Ken Thomases ffb357b717 wined3d: Don't call GetPixelFormat() to set a flag that's already set. 2014-03-24 20:20:12 +01:00
Ken Thomases 90d7f3e03f wined3d: Simplify the error path of context_update_window(). 2014-03-24 20:20:11 +01:00
Ken Thomases 03ca2b2932 wined3d: Don't leak the HDC of an invalid context in context_update_window().
If context_set_gl_context() fails, it marks the context as invalid.  It still
has an HDC, though, and context_update_window() would lose the reference to
it.
2014-03-24 20:20:10 +01:00
Ken Thomases 4c4552c5a1 wined3d: Restore the pixel format of the window whose pixel format was actually changed. 2014-02-22 08:41:55 -06:00
Ken Thomases b8569d2f30 wined3d: Make context_update_window() just mark the GL context as needing to be set rather than setting it. 2014-02-22 08:41:51 -06:00
Ken Thomases baa85a097a wined3d: Use a separate flag to track if the GL context needs to be made current.
The new needs_set flag can be cleared after it's been heeded whereas restore_ctx
must not be cleared until the context has been released back to level 0.
2014-02-22 08:41:47 -06:00
Ken Thomases 2d1e67ee68 wined3d: Remove redundant call to context_set_pixel_format() from context_update_window().
It calls context_set_gl_context() just after and that starts with a call to
context_set_pixel_format().  Also, context_update_window() didn't do the
right thing (fall back to swapchain backup DC) if context_set_pixel_format()
fails.
2014-02-22 08:41:42 -06:00
Ken Thomases 088dd7289c wined3d: Call context_enter() before context_update_window() so it records the proper restore state. 2014-02-22 08:41:38 -06:00
Ken Thomases 59226e36b7 wined3d: Don't clear the GL context if it's not the one being destroyed by context_destroy_gl_resources().
The previous code clears the GL context if the context being destroyed is
not valid, even though the current one is some arbitrary, unrelated context.
2014-02-06 17:08:09 +01:00
Stefan Dösinger b81e560531 wined3d: Migrate surfaces to the new location flags. 2014-01-17 18:10:10 +01:00
Henri Verbeet f6b5dc246a wined3d: Get rid of the WINED3DSRGB enum. 2013-11-22 11:37:29 +01:00
Henri Verbeet 7427b72250 wined3d: Get rid of surface_internal_preload(). 2013-11-22 11:37:24 +01:00
Henri Verbeet e0beab8b81 wined3d: Merge texture2d_preload() and texture3d_preload() into wined3d_texture_load(). 2013-11-22 11:37:20 +01:00
Stefan Dösinger 047ce3af6e wined3d: Remove partial surface update support.
This has only ever worked for render targets, and only through the
glDrawPixels codepath, which was removed long ago.
2013-11-20 16:54:39 +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 f4aab54ca1 wined3d: Mark the context valid if making it current on the "backup" window worked. 2013-11-04 11:05:46 +01:00
Henri Verbeet 3ad8989614 wined3d: Introduce a function for safely releasing a DC. 2013-11-04 11:05:43 +01:00
Henri Verbeet c228ffbaf0 wined3d: Unify shader binding points. 2013-10-10 10:44:53 +02:00
Henri Verbeet 8644b62726 wined3d: Move lowest_disabled_stage to the context. 2013-10-07 14:44:35 +02:00
Stefan Dösinger 59e0b841c7 wined3d: Move device_preload_textures into context.c. 2013-09-16 13:06:01 +02:00
Stefan Dösinger 112617f00b wined3d: Move tex_unit_map and friends into the context. 2013-09-16 13:05:58 +02:00
Stefan Dösinger f29c24f2de wined3d: Pass the context to surface_internal_preload. 2013-09-16 13:05:55 +02:00
Stefan Dösinger fe44be5fde wined3d: Pass the context to the internal texture_preload function. 2013-09-16 13:05:52 +02:00
Stefan Dösinger b8eb171b6b wined3d: Explicitly pass the state information to buffer_internal_preload. 2013-09-12 17:48:20 +02:00
Stefan Dösinger d8c43aabf7 wined3d: Move the decoded stream info into the context. 2013-09-12 17:48:14 +02:00
Henri Verbeet b62915dabb wined3d: Replace surface_modify_location(surface, location, FALSE) calls with surface_invalidate_location(). 2013-09-10 11:09:51 +02:00
Stefan Dösinger cd203b38a6 wined3d: Pass the context to the main buffer preload function. 2013-09-09 22:10:01 +02:00
Stefan Dösinger 87f931dc64 wined3d: Only invalidate STATE_INDEXBUFFER for the current context in buffer_get_sysmem(). 2013-09-09 22:10:00 +02:00
Stefan Dösinger 1cf192172e wined3d: Only invalidate STATE_INDEXBUFFER for the current context in buffer_create_buffer_object(). 2013-09-09 22:10:00 +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 53f747de1b wined3d: Move the WINED3D_MAX_FBO_ENTRIES constant to context.c. 2013-08-30 11:18:46 +02:00
Henri Verbeet b85c2a74bb wined3d: Replace the "stateBlock" wined3d_device field with a wined3d_state structure. 2013-08-27 11:50:53 +02:00
Henri Verbeet 74faebd68d wined3d: Store the current GLSL program per-context. 2013-08-23 10:41:28 +02:00
Henri Verbeet 62859daf0b wined3d: Avoid looking up shaders for shader stages that didn't change. 2013-08-21 12:13:56 +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
Henri Verbeet 37d1e8b79c wined3d: Try to avoid redundant constant updates.
This gives a minor performance improvement. For example, in 3DMark03 Game Test
1 this gives about a 4% improvement, in the Counter Strike: Source stress test
it's about 1%. (NVIDIA GF9600M, Intel T9550, 1024x768).
2013-08-16 11:55:24 +02:00
Henri Verbeet a3f59cf618 wined3d: Allow textures as swapchain surfaces. 2013-06-03 11:30:43 +02:00
Henri Verbeet b35045ba25 wined3d: Don't create FBOs in context_bind_fbo().
We can just do this in context_create_fbo_entry() now.
2013-05-27 19:28:52 +02:00
Henri Verbeet 7ca6839c94 wined3d: Also clear context->current_fbo in context_apply_blit_state().
The draw buffer handling code depends on this being current. This fixes a bug
exposed by commit 075fa6547c.
2013-05-27 19:28:47 +02:00
Stefan Dösinger 6fce4d4547 wined3d: Pass the state and private data to shader_select. 2013-05-14 18:37:08 +02:00
Stefan Dösinger 47f385adf0 wined3d: Add a separate function for disabling shaders. 2013-05-14 18:37:04 +02:00
Stefan Dösinger 036a62a245 wined3d: Explicitly pass the state to shader_load_constants. 2013-05-14 18:36:59 +02:00
Matteo Bruni 58dc0346d6 wined3d: Remove some, now unnecessary, glReadBuffer(GL_NONE) calls.
This reverts parts of e4efcea223 and
8e12b2e61e.
2013-04-26 16:28:22 +02:00
Matteo Bruni bda63dd4a9 wined3d: Set GL_NONE for glReadBuffer / glDrawBuffer on FBO initialization. 2013-04-26 16:28:19 +02:00
Stefan Dösinger ac99d53991 wined3d: Move valid_rt_mask to wined3d_d3d_info. 2013-04-25 20:25:10 +02:00
Stefan Dösinger 16e862ba9d wined3d: Add a new structure for d3d limits and other info. 2013-04-25 20:25:07 +02:00
Henri Verbeet c756496326 wined3d: Rename the device "strided_streams" field to "stream_info".
The "strided" in there is mostly historic, it hasn't really been accurate for
a while now.
2013-04-22 15:26:11 +02:00
Henri Verbeet ee6d17cd54 wined3d: Add support for GL_ARB_debug_output. 2013-04-19 10:43:40 +02:00
Henri Verbeet 5115f55eeb wined3d: Use WGL_ARB_create_context when available. 2013-04-19 10:43:37 +02:00
Matteo Bruni 075fa6547c wined3d: Avoid redundant glDrawBuffer() calls. 2013-04-10 15:46:26 +02:00
Matteo Bruni 46fa0448d9 wined3d: Remove useless glClearxxx calls. 2013-04-10 15:46:14 +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
Stefan Dösinger 1a3f741643 wined3d: Remove draw_primitive_strided. 2013-01-25 11:30:33 +01:00
Henri Verbeet 3e7c800e9c wined3d: Get rid of the user_stream field from wined3d_state.
All remaining uses are equivalent to "device->up_strided". (Which should of
course eventually go away as well.)
2013-01-07 11:12:23 +01:00
Henri Verbeet 78984cf46c wined3d: Get rid of ENTER_GL / LEAVE_GL. 2012-12-11 12:03:39 +01:00
Alexandre Julliard 449deda62f wined3d: Link directly to opengl32. 2012-11-08 15:37:44 +01:00
Henri Verbeet 0e856abf6d wined3d: Enable or disable the fragment pipe in shader_select(). 2012-11-05 11:30:33 +01:00
Henri Verbeet d74cb4571b wined3d: Simplify shader selection. 2012-11-05 11:30:32 +01:00
Henri Verbeet 17e33e9b27 wined3d: Make the shader backend responsible for controlling the fixed function fragment pipe. 2012-10-25 11:48:31 +02:00
Matteo Bruni 902049c054 wined3d: Fix pixel format masks. 2012-08-15 12:17:46 +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 af1ba676c8 wined3d: Pass a gl_info structure to fragment_pipeline.enable_extension(). 2012-07-25 20:01:31 +02:00
Alexandre Julliard db25d4022a winex11: Simplify wglSetPixelFormatWINE and export it as a standard extension function. 2012-06-28 13:13:01 +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 aa71065d9b wined3d: Properly preload index buffers. 2012-05-29 10:44:50 +02:00
Henri Verbeet baff64a27a wined3d: Properly determine the viewport size for front buffer blits in SetupForBlit(). 2012-04-05 11:56:19 +02:00
Matteo Bruni 439097c810 wined3d: Update the correct draw buffers mask. 2012-03-28 15:09:09 +02:00
Henri Verbeet 6a5a098b23 wined3d: Get rid of the WINED3DRESOURCETYPE typedef. 2012-01-18 12:37:38 +01:00
Henri Verbeet f38e94af7c wined3d: Get rid of the WINED3DTRANSFORMSTATETYPE typedef. 2012-01-12 12:37:18 +01:00
Henri Verbeet 43fcbcb36e wined3d: Get rid of the WINED3DTEXTURESTAGESTATETYPE typedef. 2012-01-10 10:47:27 +01:00
Henri Verbeet 3082c1a9de wined3d: Get rid of the WINED3DRENDERSTATETYPE typedef. 2011-12-20 10:11:47 +01:00
Henri Verbeet 94c9b0b4fc wined3d: Get rid of the WINED3DPRESENT_PARAMETERS typedef. 2011-12-02 11:51:29 +01:00
Matteo Bruni 1fd18d7688 wined3d: Make a copy of gl_info for later context_destroy_gl_resources() usage. 2011-11-15 19:37:36 +01:00
Henri Verbeet 81ae0cea7c wined3d: Simplify context_choose_pixel_format().
Simply rank the formats instead of doing multiple passes over the list.
2011-11-09 11:34:19 +01:00
Henri Verbeet 1c91b08220 wined3d: Construct the projection matrix directly in set_blit_dimension().
This saves a needless matrix multiplication and is actually more obvious than
the glOrtho() call.
2011-11-02 12:27:34 +01:00
Henri Verbeet dbfe83baff wined3d: Rename nCfgs to cfg_count. 2011-10-27 19:34:15 +02:00
Henri Verbeet 7aac0159a9 wined3d: Move the ARB shader program constant handling to the backend where it belongs. 2011-10-26 12:41:33 +02:00
Henri Verbeet 89d0d3ffd8 wined3d: Get rid of the device parameter to context_setup_target(). 2011-10-26 12:41:33 +02:00
Henri Verbeet bab2a40f87 wined3d: Make the device parameter to context_apply_clear_state() const. 2011-10-25 16:57:24 +02:00
Henri Verbeet 9b42c657e4 wined3d: Make the device parameter to context_apply_blit_state() const. 2011-10-25 16:57:24 +02:00
Henri Verbeet 284ba950ef wined3d: Make the device parameter to SetupForBlit() const. 2011-10-24 11:16:47 +02:00
Henri Verbeet 96187a54a9 wined3d: Make the context parameter to bind_dummy_textures() const. 2011-10-24 11:16:44 +02:00
Henri Verbeet f28ba9007e wined3d: Make the device parameter to context_choose_pixel_format() const. 2011-10-21 12:09:46 +02:00
Henri Verbeet 25b1130b44 wined3d: Also restore the pixel format in context_restore_gl_context(). 2011-10-17 17:45:02 +02:00
Henri Verbeet cdc9aadf5c wined3d: Don't try to access the swapchain of a destroyed context in context_set_gl_context(). 2011-10-17 17:45:02 +02:00
Henri Verbeet dfea2ab6f4 wined3d: Don't bother updating the context's window in context_destroy_gl_resources().
context_update_window() accesses the swapchain, which may not exist if this is
a destroyed context, and we don't do anything that needs displaying here
anyway.
2011-10-17 17:45:02 +02:00
Henri Verbeet 7ffa768e71 wined3d: Cleanup context_create() error handling a bit. 2011-10-14 13:12:27 +02:00
Henri Verbeet 67b097cd6e wined3d: Get rid of the mostly unused "pfd" variable in context_create(). 2011-10-14 13:12:27 +02:00
Marcus Meissner 7023964865 wined3d: Remove a useless NULL check (Coverity). 2011-08-30 17:27:25 +02:00
Matteo Bruni afeecfd974 wined3d: Rename dummyTextureName variable. 2011-08-29 12:08:19 +02:00
Matteo Bruni 7c6bd2f287 wined3d: Use dummy textures for all the texture targets. 2011-08-29 12:08:19 +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
Henri Verbeet 641f52ef96 wined3d: Add multisampling support. 2011-08-26 11:28:47 +02:00
Henri Verbeet bd5f948682 wined3d: Get rid of the current multisampling support.
It doesn't really work, and trying to make multisampling work with onscreen
rendering is probably more trouble than it's worth, both for us and the
driver.
2011-08-26 11:28:25 +02:00
Henri Verbeet eec2c634a6 wined3d: Introduce a separate function for attaching depth / stencil renderbuffers. 2011-08-26 11:28:01 +02:00
Henri Verbeet be76133b7b wined3d: Explicitly specify the resource location to context_attach_depth_stencil_fbo(). 2011-08-26 11:27:57 +02:00
Henri Verbeet 9aaf0a30b7 wined3d: Also print an attachment's multisample type in context_check_fbo_status(). 2011-08-26 11:27:53 +02:00
Henri Verbeet 98277e1fc6 wined3d: Simplify context_apply_fbo_state_blit(). 2011-08-26 11:27:39 +02:00
Matteo Bruni f47f9f7c74 wined3d: Store currently active texture in 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 f65a1ed272 wined3d: Bind the system framebuffer based on the actual location in context_apply_fbo_state().
We can do this now because SFLAG_INDRAWABLE is no longer ambiguous.
2011-08-25 11:31:54 +02:00
Henri Verbeet 47c5711fe2 wined3d: Use draw_binding in context_apply_blit_state(). 2011-08-25 11:31:54 +02:00
Ričardas Barkauskas e110c08cc8 wined3d: Avoid dereferencing null pointer in context_apply_clear_state when calling context_generate_rt_mask_from_surface. 2011-08-24 21:18:37 +02:00
Henri Verbeet e57b20c215 wined3d: Keep track of a surface's "draw location". 2011-08-24 11:58:14 +02:00
Henri Verbeet 9df014b9de wined3d: Rename WineD3D_ChoosePixelFormat() to context_choose_pixel_format(). 2011-08-23 16:53:51 +02:00
Henri Verbeet f8ce77a598 wined3d: Draw buffers are per-framebuffer state. 2011-08-22 16:14:36 +02:00
Henri Verbeet 34b2956e23 wined3d: Merge FindContext() into context_acquire().
This actually fixes a bug. A context's current_rt field may get set to NULL if
that surface gets destroyed or unloaded. In general, the next time that
context is acquired, context_setup_target() will then set everything up again.
However, if a context_acquire() call with a NULL target ends up returning such
a context, context_setup_target() never sets the current_rt field because the
target FindContext() chooses never gets propagated to context_acquire(). This
patch ensures context_setup_target() is never called with a NULL target.
2011-08-22 16:14:36 +02:00
Henri Verbeet 812a314821 wined3d: Get rid of the fglrx point sprite hack.
Fglrx 9.3 is well over 2 years old at this point. I'd strongly encourage
anyone still affected by this to upgrade to the r300g driver.
2011-08-05 09:17:59 +02:00
Henri Verbeet 33fafc6166 wined3d: Get rid of context_bind_fbo() calls outside context.c. 2011-08-01 11:16:12 +02:00
Henri Verbeet dcc969c32c wined3d: Get rid of dst_fbo.
As a result we can get rid of a couple of other things as well.
2011-08-01 11:16:08 +02:00
Stefan Dösinger 41f9ca2abf wined3d: Restore the call to context_validate_onscreen_formats.
This got lost accidentally in d321959dd7.
2011-07-28 11:29:52 +02:00
Henri Verbeet c2ede1d4c8 wined3d: Only invalidate state for the current context in swapchain_blit(). 2011-07-27 11:51:50 +02:00
Henri Verbeet 68d692f49c wined3d: Get rid of the redundant state_table parameter to context_invalidate_state(). 2011-07-27 11:51:46 +02:00
Henri Verbeet b09b7e323c wined3d: Store a pointer to the state table in the context. 2011-07-25 11:59:15 +02:00
Henri Verbeet 43d2515da5 wined3d: Use the "rts" variable in context_apply_clear_state(). 2011-07-25 11:59:04 +02:00
Henri Verbeet e5036e365e wined3d: Use gl_info from the context in context_apply_clear_state(). 2011-07-25 11:58:59 +02:00
Stefan Dösinger f99a2748e4 wined3d: Don't apply and invalidate the framebuffer when clearing the device's fb. 2011-07-20 19:23:05 +02:00
Henri Verbeet e4d2d78500 wined3d: Pass a wined3d_state pointer to state handlers.
Instead of an entire stateblock. This is mainly useful is we ever want to call
state handlers on state not stored in a stateblock.
2011-07-14 14:11:25 +02:00
Henri Verbeet 9375a87c86 wined3d: Make the context and device parameters to find_draw_buffers_mask() const. 2011-07-14 14:11:21 +02:00
Henri Verbeet fcf4303e1a wined3d: Store a pointer to the framebuffer state in struct wined3d_state. 2011-07-14 14:11:07 +02:00
Henri Verbeet 590505c0a4 wined3d: Make context_create() work if the window is already destroyed. 2011-07-06 11:14:16 +02:00
Stefan Dösinger 718c614937 wined3d: Pass a struct wined3d_fb_state * to context_apply_clear_state. 2011-07-05 17:33:56 +02:00