[10/11] WineD3D: Use the context manager to select the primary
render target
Stefan Dösinger
stefan at codeweavers.com
Fri Jan 26 16:22:21 CST 2007
This is a rather huge patch, sorry, I found no sane way to split it up :-(
It moves selecting the rendering context to the context manager. This means
for now(no multithreading yet) that selecting the render target is handled by
the context manager.
* Switch to a different onscreen swapchain selects t henew swapchains's
context
* Switch to an offscreen texture with back buffer orm keeps the currently
active swapchain. Switching back does not cause a context switch to the same
context any longer
* PBuffer orm: A pbuffer context and drawable is created if needed, and used
for offscreen rendering. Only one pbuffer is used for all textures for
now(just as before)
* FBO: The current context is kept and the fbo is selected.
* Locking a onscreen render target: The context of the render target is
activated(in theory, untested).
The render target selection is still imperfect. There is some room for
improvement:
* The primary and higher render targets are handled differently. They are
different in a lot of ways, but for fbos they are the same. There are 2
different calls to fbo_set_render_target. The idea is to make render targets
normal states(and rt 0 a state_nogl). But for this we have to check if render
targets are recorded in the stateblock or not.
* Onscreen contexts are still created in the swapchain / device. Move that to
context.c too. Not done in this patch to avoid making it even more huge.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0010-WineD3D-Use-the-context-manager-to-select-the-primary-render-target.txt.bz2
Type: application/x-bzip2
Size: 15672 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20070126/c4dd0661/0010-WineD3D-Use-the-context-manager-to-select-the-primary-render-target.txt.bin
More information about the wine-patches
mailing list