Roderick Colenbrander
27a96e477a
wined3d: Start moving paletted texture support to the blit_shader.
2010-03-19 13:15:21 +01:00
Roderick Colenbrander
fd99ab78c2
wined3d: Use draw_textured_quad in BltOverride.
2010-03-19 13:15:06 +01:00
Roderick Colenbrander
4bd627cc7f
wined3d: Add a helper function for drawing a textured quad.
2010-03-19 13:15:03 +01:00
Henri Verbeet
e5673ddbc3
wined3d: Add a quirk to rebind FBOs when one of their attached textures is updated.
...
Updating a texture while it is attached to the currently bound FBO is
something GL implementations tend to get wrong. NVIDIA fails at
glTexSubImage2D(), fglrx and Mesa with glTexImage2D(). I'm afraid to try what
happens on OS X. Fortunately we never use glTexImage2D() while a texture is
attached to an FBO, so we only need to care about glTexSubImage2D().
2010-03-18 10:24:41 +01:00
Henri Verbeet
bd4fb33a52
wined3d: Unify GLINFO_LOCATION in surface.c.
2010-03-18 10:24:33 +01:00
Henri Verbeet
0ae49c35fb
wined3d: Use the context's window handle in IWineD3DSurfaceImpl_BltOverride().
2010-03-16 11:44:55 +01:00
Henri Verbeet
8a107bc63a
wined3d: Kill pbuffer offscreen rendering support.
...
Our pbuffer support is broken, nobody cares.
2010-03-15 15:55:38 +01:00
Roderick Colenbrander
604caf0caa
wined3d: Remove oversize texture support.
2010-03-15 14:23:15 +01:00
Roderick Colenbrander
74bf524a99
wined3d: Use surface_get_blt_info to compute texture coordinates for surface_blt_to_drawable.
2010-03-15 14:22:57 +01:00
Roderick Colenbrander
360384277b
wined3d: Extend surface_get_depth_blt_info with texture coordinate code from surface_blt_to_drawable.
2010-03-15 14:22:44 +01:00
Roderick Colenbrander
c0ef7a1a93
wined3d: Move the 8-bit palette shader code over to the blit_shader backend.
2010-03-03 12:53:51 +01:00
Stefan Dösinger
5c4d3fb5a2
wined3d: Control SFLAG_CONVERTED in surface_prepare_texture.
...
This makes sure that the flag is set correctly when
surface_allocate_surface is called and client storage is disabled
properly for converted surfaces.
2010-02-17 16:50:38 +01:00
Henri Verbeet
af7dfcd378
wined3d: Do not preload surfaces when attaching them to an FBO.
...
Just make sure the texture is allocated, so we have something to attach. Note
also that context_apply_attachment_filter_states() runs under the GL lock, so
preloading resources is actually unsafe there.
2010-02-04 13:39:26 +01:00
Henri Verbeet
02e0b3ae1a
wined3d: Introduce surface_prepare_texture().
...
Similar to surface_prepare_system_memory(). In the long term we'll probably
want to move the whole location management to resource.c and unify buffers and
textures there.
2010-02-04 13:39:26 +01:00
Henri Verbeet
b0583a2410
wined3d: Never acquire a context in IWineD3DSurfaceImpl_BindTexture().
...
The caller is already responsible for doing this, so it's redundant at best.
2010-02-04 13:39:26 +01:00
Henri Verbeet
c03d367d3c
wined3d: Get rid of an unnecessary GetContainer() call in surface_blt_to_drawable().
2010-01-29 13:30:06 +01:00
Henri Verbeet
ce42470138
wined3d: Ensure draw ordering across contexts.
2010-01-28 11:07:59 +01:00
Henri Verbeet
ea2f7a2739
wined3d: Remove some redundant returns.
2009-12-30 13:31:26 +01:00
Henri Verbeet
a215d326a5
wined3d: Get rid of the "swapchain" parameter to surface_get_gl_buffer().
...
Casting the container to "IWineD3DSwapChainImpl *" is always safe when
SFLAG_SWAPCHAIN is set on the surface. Most callers don't have a real
need for the swapchain, and end up calling GetContainer() just to pass
it to surface_get_gl_buffer().
2009-12-16 12:22:18 +01:00
Henri Verbeet
97f04248fc
wined3d: Use surface_is_offscreen() in flush_to_framebuffer_drawpixels().
2009-12-16 12:22:03 +01:00
Henri Verbeet
bf113bd284
wined3d: Use surface_is_offscreen() in read_from_framebuffer_texture().
2009-12-16 12:21:58 +01:00
Henri Verbeet
51438eec46
wined3d: Use surface_is_offscreen() in fb_copy_to_texture_hwstretch().
2009-12-16 12:21:50 +01:00
Stefan Dösinger
cde3217268
wined3d: Properly release client storage memory.
2009-12-15 16:09:12 +01:00
Henri Verbeet
82556b613e
wined3d: Let the context handle the draw buffer in fb_copy_to_texture_hwstretch().
2009-12-14 12:04:05 +01:00
Henri Verbeet
59db3ecaa0
wined3d: Let the context handle the draw buffer in flush_to_framebuffer_drawpixels().
2009-12-14 12:04:05 +01:00
Henri Verbeet
b3defd4c80
wined3d: Rename "wineD3DDevice" to "device".
2009-12-10 11:54:47 +01:00
Henri Verbeet
b6ef17f23d
wined3d: Remove unused GetDevice() implementations.
2009-12-09 13:51:04 +01:00
Henri Verbeet
54f3dec8e6
wined3d: Rename the "wineD3D" device field to "wined3d".
2009-12-08 12:33:29 +01:00
Stefan Dösinger
817714912b
wined3d: Infrastructure to render swapchains to a FBO.
2009-12-07 14:33:24 +01:00
Stefan Dösinger
64291c60cb
wined3d: A function for checking if a surface is offscreen.
2009-12-07 14:32:54 +01:00
Stefan Dösinger
54f0d3f785
wined3d: Add a function for initializing surface sysmem.
2009-12-07 14:32:29 +01:00
Stefan Dösinger
6a19339207
wined3d: Remove needless NULL checks (coverity).
2009-12-03 11:45:15 +01:00
Marcus Meissner
9f8a73ab96
wined3d: Check for NULL before context_release (Coverity).
2009-11-03 21:22:46 +01:00
Henri Verbeet
bf10dbe8a6
wined3d: Map D3DFMT_D24S8 to WINED3DFMT_D24_UNORM_S8_UINT.
...
The internal order of the depth and stencil bits is unspecified since the
format isn't lockable.
2009-10-30 11:28:52 +01:00
Henri Verbeet
111307dfba
wined3d: Get rid of the GL_SUPPORT macro.
2009-10-29 13:09:33 +01:00
Henri Verbeet
48e03bc189
wined3d: Introduce a separate structure for various OpenGL implementation limits.
2009-10-29 13:09:27 +01:00
Henri Verbeet
eeb54b9922
wined3d: Keep better track of where we're using wined3d contexts.
...
The idea here is that we can restore the thread's current GL context on
context_release() if it doesn't correspond to the current wined3d context on
context_acquire().
2009-10-28 11:15:19 +01:00
Henri Verbeet
ade350b4d4
wined3d: Compare and copy the actual palette in palette9_changed() (Valgrind).
2009-10-23 12:03:37 +02:00
Henri Verbeet
6be41fd59a
wined3d: Get rid of GL_LIMITS.
2009-10-22 10:46:05 +02:00
Henri Verbeet
55047f811a
wined3d: Fix some GLINFO_LOCATION abuse.
2009-10-22 10:45:57 +02:00
Henri Verbeet
47c84f4f7f
wined3d: Use the DXGI naming convention for all formats.
2009-09-25 15:15:44 +02:00
Stefan Dösinger
4fe014cb54
wined3d: Fix sRGB->RGB copy condition.
...
The old condition happened to work, because SFLAG_INTEXTURE was not
set(we're loading it), and neither was SFLAG_INDRAWABLE(otherwise
INTEXTURE would be set too). If the fbo INDRAWABLE == INTEXTURE is
replaced by INDRAWABLE == INSRGBTEX this doesn't hold true any longer
because SFLAG_INDRAWABLE is set, but not used because the drawable
readback is never used for fbos.
2009-09-23 13:25:33 +02:00
Stefan Dösinger
33ca3c0207
wined3d: Don't mark SFLAG_INTEXTURE up to date with fbo stretchrect.
...
FBO stretchrect marks SFLAG_INDRAWABLE up to date, which currently
also marks SFLAG_INTEXTURE up to date. However, this will change when
we enable rendering to the srgb copy, in which case the drawable could
be equal to the srgb copy, not the rgb copy.
2009-09-23 13:25:21 +02:00
Stefan Dösinger
5b5e3bd0d2
wined3d: Track GL texture states in a separate structure.
2009-09-23 13:24:16 +02:00
Henri Verbeet
34dd27e3a8
wined3d: Don't create a depthstencil renderbuffer if ARB_framebuffer_object is supported.
2009-09-23 12:37:06 +02:00
Henri Verbeet
ec97383f6f
wined3d: Add support for ARB_framebuffer_object.
2009-09-23 12:37:00 +02:00
Henri Verbeet
0a4fa886a7
wined3d: Revert 4ba16b84a9
.
...
Unfortunately surface_can_stretch_rect() doesn't check just for
WINED3DFMT_FLAG_FBO_ATTACHABLE.
2009-09-22 16:16:55 +02:00
Henri Verbeet
dbc4dfc495
wined3d: Move "parent_ops" to IWineD3DResourceClass.
2009-09-18 08:55:33 -05:00
Henri Verbeet
4ba16b84a9
wined3d: Get rid of some redundant checks for ORM_FBO.
...
ORM_FBO is already implied by surface_can_stretch_rect() because
WINED3DFMT_FLAG_FBO_ATTACHABLE can only be set when ORM_FBO is.
2009-09-17 10:09:50 -05:00
Henri Verbeet
a5214c306f
wined3d: Don't free D3D surfaces until the wined3d surface is destroyed.
...
This prevents for example a d3d9 depth stencil from being destroyed when it
has no external references but is still in use by the device/stateblock. A
nice side effect is that it simplifies handling of "implicit" surfaces like
the frontbuffer and backbuffers, as well as the forwarding of reference counts
for surfaces that are part of a texture.
2009-09-16 13:04:32 -05:00