Commit graph

30 commits

Author SHA1 Message Date
Stefan Dösinger
9928a4c4fd wined3d: Offscreen rendering from foreign threads. 2007-07-06 19:29:28 +02:00
Stefan Dösinger
b462ff0876 wined3d: Create multiple contexts for onscreen render targets. 2007-07-03 12:32:33 +02:00
Stefan Dösinger
13f24c3808 wined3d: Select onscreen contexts based on the thread id. 2007-07-03 12:30:33 +02:00
H. Verbeet
5e78a83cb2 wined3d: Call IWineD3DDeviceImpl_FindTexUnitMap for cards without support for NV_REGISTER_COMBINERS as well. 2007-07-02 13:35:50 +02:00
Stefan Dösinger
a3854be0b3 wined3d: Some point sprite fixes. 2007-06-25 20:04:58 +02:00
Stefan Dösinger
6e5a5d2736 wined3d: DDraw surfaces are QWORD aligned. 2007-06-14 13:22:52 +02:00
H. Verbeet
b9d5c18062 wined3d: Call IWineD3DDeviceImpl_FindTexUnitMap() when activating the context. 2007-06-13 11:23:18 +02:00
Stefan Dösinger
a460a2df43 wined3d: Store the gl information in a per adapter structure and initialize it only once. 2007-06-11 13:51:06 +02:00
Stefan Dösinger
81504d6a2d wined3d: Support bump environment mapping using GL_NV_texture_shader. 2007-05-10 11:40:27 +02:00
Stefan Dösinger
adb9b13b81 wined3d: Implement vertex blending using GL_ARB_vertex_blend. 2007-05-03 14:24:46 +02:00
H. Verbeet
3d4e054b55 wined3d: Handle FBO attachments slightly more efficiently. 2007-04-09 12:38:53 +02:00
Felix Nawothnig
2d0016c5bc wined3d: Preload target in ActivateContext() for ORM_BACKBUFFER/ORM_PBUFFER. 2007-04-09 12:17:07 +02:00
Stefan Dösinger
4f5d33311b wined3d: Use GL_APPLE_client_storage if available. 2007-04-02 11:34:12 +02:00
Felix Nawothnig
18c9e5d5d0 wined3d: Use GL_TEXTURE_2D for dummy textures. 2007-03-30 11:25:23 +02:00
Felix Nawothnig
335f978e91 wined3d: Only disable GL_TEXTURE_CUBE_MAP_ARB if supported. 2007-03-30 11:24:56 +02:00
Phil Costin
1f03896e00 wined3d: Ensure all states affected by a change in render_offscreen are marked dirty in ActivateContext. 2007-03-21 11:55:52 +01:00
Stefan Dösinger
90fe64cee0 wined3d: Store an array of contexts in the swapchain.
This is a preparation for using multiple contexts on one drawable to
handle multithreading.
2007-03-19 12:23:16 +01:00
Stefan Dösinger
fcb83e7111 wined3d: Activate a context before doing opengl calls. 2007-03-19 12:22:57 +01:00
Stefan Dösinger
603e7933ea wined3d: Blit the offscreen texture into the drawable if needed.
When using pbuffer or back buffer offscreen rendering the content of
the drawable will have been overwritten. Thus the texture has to be
written into the drawable. An exception is the (pretty common) case
that the whole render target is cleared before rendering to it.
2007-03-12 12:02:05 +01:00
Stefan Dösinger
c54a0fc2cf wined3d: Rework surface dirtification.
Previously the surfaces stored a flag if the system memory copy was
ahead of the gl copy(SFLAG_DIRTY) or the gl copy is
ahead(SFLAG_GLDIRTY). The pbuffer copy was 'managed' differently using
SFLAG_INPBUFFER and SFLAG_INTEXTURE.

This patch replaces them with 3 flags, INSYSMEM, INPBUFFER and
INTEXTURE which specify which copy contains the most up to date
copy. It is perfectly valid to have more than one of those flags
set. One must be set at least (except at init, when no content is in
the surface yet). When one copy is modified, the flags for the others
are removed.
2007-03-07 12:18:14 +01:00
Stefan Dösinger
ebe274feed wined3d: Remove IWineD3DSurface::SetPBufferState.
The method is removed because it does not really help with
anything. It should not be exported from wined3d, there is no need for
the other libs to call it. It does not help abstraction and code
simplification in any way because it is very specific and the code
calling it has to know what is happening in the surface to use this
method.
2007-03-07 12:17:33 +01:00
Stefan Dösinger
6ac8d88d5c wined3d: Prepare only fixed function samplers for blit. 2007-03-01 11:39:17 +01:00
Stefan Dösinger
8d9a553d89 wined3d: Support for using auxilliary buffers for offscreen rendering.
OpenGL AUX buffers provide a way for offscreen rendering which is very
similar to our back buffer "offscreen" rendering emulation. Not all
card support aux buffers, but if they are available they are a nice
present which is easy to use.
2007-02-28 21:04:47 +01:00
Francois Gouget
93494f2ac0 Assorted spelling fixes. 2007-02-20 20:30:51 +01:00
H. Verbeet
bd5488cda9 wined3d: Add WINED3DCREATE flags and use them. 2007-02-16 12:31:11 +01:00
Stefan Dösinger
f5f501d573 wined3d: Use the context manager to create onscreen contexts. 2007-02-13 12:08:02 +01:00
Stefan Dösinger
12252d0589 wined3d: Use the context manager to select the primary render target. 2007-02-13 12:05:35 +01:00
Stefan Dösinger
7253fae31f wined3d: Make the context array dynamic. 2007-02-13 12:04:40 +01:00
Stefan Dösinger
f22d37e4dd wined3d: Use the context manager to prepare for blitting. 2007-02-13 12:04:08 +01:00
Stefan Dösinger
c1623d4e7b wined3d: Use the context manager to prepare for drawing. 2007-02-13 12:03:40 +01:00