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