Commit Graph

532 Commits

Author SHA1 Message Date
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