Chris Robinson
eca8577d53
wined3d: Use 8 bits-per-component for the PBO test internal format.
...
GL_RGBA doesn't gaurantee an internal storage depth, which can cause the test
to fail if it's stored with less than 8 bits of precision. Some nVidia
drivers would actually store with 4 bits of precision.
2008-08-25 11:29:38 +02:00
David Adam
bb67a925d6
ddraw: Only ddraw checks wether one can give a null pointer to SetMaterial.
2008-08-22 11:32:09 +02:00
Roderick Colenbrander
fd0e60180a
wined3d: Fix window rewrite regression.
2008-08-22 10:39:23 +02:00
H. Verbeet
b917bdaa52
wined3d: Remove useless hash_table_entry_t typedef.
...
It doesn't add much.
2008-08-22 10:39:08 +02:00
H. Verbeet
05931f4a5a
wined3d: Track FBOs per-context.
...
Although sharing FBOs across contexts is allowed by EXT_framebuffer_object
(issue 76), it causes issues with nVidia drivers. Considering the GL 3 spec
explicitly disallows sharing of FBOs accross contexts (Appendix D), this
patch is probably the right thing to do.
2008-08-22 10:38:59 +02:00
H. Verbeet
2f99bcdde2
wined3d: Move depth stencil location handling code up a couple of lines.
...
This is just for clarity, so that render targets and the depth stencil are
handled in the same place.
2008-08-22 10:38:30 +02:00
Alexander Dorofeyev
67631163ff
wined3d: Fix copy paste error in IWineGDISurfaceImpl_RealizePalette.
...
It has to update the whole surface, so NULL must be passed to
x11_copy_to_screen. Fixes a regression in Red Alert.
2008-08-21 13:35:35 +02:00
Alexander Dorofeyev
03ae71dad9
wined3d: Set D3DPTEXTURECAPS_TRANSPARENCY.
...
It indicates support of colorkey transparency on textures, so set it because
wined3d supports it. Fixes transparency problems in Forsaken.
2008-08-21 13:35:30 +02:00
Alexander Dorofeyev
1da8a032af
wined3d: Disable TEXTURE_RECTANGLE in SetupForBlit.
2008-08-21 13:35:23 +02:00
Stefan Dösinger
c38b2fe09e
wined3d: Filter out more spam.
2008-08-21 13:34:23 +02:00
Stefan Dösinger
c425bbccab
wined3d: Set the texture wrap default with the NP2 emulation properly.
2008-08-21 13:33:42 +02:00
Stefan Dösinger
46109da87d
wined3d: Don't skip applying texdims with shaders.
...
There's no need to do that with the nvts and opengl ffp fixed function
fragment pipeline, it's perfectly well defined in GL which one takes
effect. This removes a few more troubles when switching between
shaders and arbfp.
2008-08-21 13:33:30 +02:00
Stefan Dösinger
ec94c2ea99
wined3d: Don't enable texture dimensions with shaders.
...
ARB and GLSL don't need that. If a shader backend like atifs or nvts
need it in the future, the shader backend should deal with that rather
than the ffp pipeline.
2008-08-21 13:33:20 +02:00
Stefan Dösinger
77204574d1
wined3d: Prefer aux buffer matches over alpha matches.
...
Half Life 2 uses D3DFMT_X8R8G8B8 for the back buffer, but macos
supports aux buffers only on D3DFMT_A8R8G8B8. I think having aux
buffers is more important right now than having a precise alpha
match.
2008-08-21 13:33:09 +02:00
Stefan Dösinger
bbf313e76a
d3d9: Test for fixed function value clamping.
2008-08-21 13:27:58 +02:00
Stefan Dösinger
bab367e1a0
wined3d: Update the overlay when the destination was drawn to.
2008-08-21 13:27:47 +02:00
H. Verbeet
040c33de5a
wined3d: Don't allocate This->draw_buffers in the error path for Init3D().
2008-08-21 11:36:29 +02:00
H. Verbeet
c33e03cca3
wined3d: Don't free backends if they're not created yet.
...
This would crash if CreateAdditionalSwapChain() failed.
2008-08-21 11:36:18 +02:00
Stefan Dösinger
8fe6bf0bad
wined3d: Fix the unused arg marker.
2008-08-20 12:34:44 +02:00
Stefan Dösinger
5d75939b09
wined3d: Keep track of the last used device.
2008-08-20 12:33:25 +02:00
Stefan Dösinger
1f4cf3513d
wined3d: Implement YUV emulation with GL_ARB_fragment_program.
2008-08-20 12:26:14 +02:00
Stefan Dösinger
bfe7067973
wined3d: Ask the ffp/shader/blit implementation about format support.
...
If a format is not supported natively by opengl, a shader may be able
to convert it. Up to now, CheckDeviceFormat had magic knowldge which
GL extensions lead to which supported format. This patch adds
functions that allow CheckDeviceFormat to ask the actual
implementation for its capabilities.
2008-08-20 12:26:02 +02:00
Stefan Dösinger
438b6bd4c3
wined3d: Test formats for surface support.
2008-08-20 12:25:46 +02:00
Stefan Dösinger
fc6b977486
wined3d: Start a framework for color conversion shaders in blits.
2008-08-20 12:25:26 +02:00
Stefan Dösinger
6a24b28b75
wined3d: Support YUV formats with GL_APPLE_ycbcr_422.
2008-08-20 12:25:00 +02:00
Roderick Colenbrander
4421e3ebe5
wined3d: Fix BltOverride regression.
2008-08-20 11:45:41 +02:00
H. Verbeet
f71fdecdc7
wined3d: Move creating a texture id from PreLoad to BindTexture.
...
This is consistent with BindTexture in basetexture/texture/etc. and has the
added benefit that it makes LoadLocation work properly.
2008-08-20 10:26:19 +02:00
Stefan Dösinger
3d49e8cd5e
wined3d: Add a swapchain method to set the dest override.
...
DDraw can draw to the front buffer only, thus there's never a Present
call which could pass this window. Due to that a drawing-independent
method is needed.
2008-08-19 12:25:20 +02:00
Stefan Dösinger
25c07dc86c
wined3d: Remove the ddraw_window device member.
2008-08-19 12:25:05 +02:00
Stefan Dösinger
376944ebe4
wined3d: Remove the device-global fullscreen flag.
2008-08-19 12:24:57 +02:00
Stefan Dösinger
34b37fe241
d3d: Remove IWineD3DDevice::SetHwnd.
2008-08-19 12:22:05 +02:00
Stefan Dösinger
7f2b8f9bba
wined3d: Support redirecting the primary context.
2008-08-19 12:21:49 +02:00
Stefan Dösinger
e178ddd9e1
wined3d: Use a swapchain for GDI surfaces.
...
This is a long-needed cleanup aimed at removing the ddraw_primary,
ddraw_window, ddraw_width and ddraw_height members from
IWineD3DDeviceImpl, which just do not belong there. Destination
window and screen handling is supposed to be done by swapchains.
2008-08-19 12:21:32 +02:00
Stefan Dösinger
e5de2fc82c
wined3d: Move some swapchain code into a base class.
2008-08-19 12:20:47 +02:00
Stefan Dösinger
dff3a42233
wined3d: Track overlay surfaces in the overlayed surface.
2008-08-05 14:09:37 +02:00
Stefan Dösinger
b0c4673779
wined3d: Update the surface locations in Present.
2008-08-05 14:09:37 +02:00
Stefan Dösinger
851dd7339e
wined3d: Implement overlay flipping.
2008-08-05 14:09:36 +02:00
Stefan Dösinger
fad3f9ba98
wined3d: Basic overlay emulation with opengl.
2008-08-05 14:09:36 +02:00
Stefan Dösinger
e795d842ec
wined3d: Implement overlay position tracking.
2008-08-05 14:09:36 +02:00
Stefan Dösinger
a7d5b1e9a5
wined3d: Move the pshader fog update to the vertex pipeline.
2008-08-05 14:09:36 +02:00
Stefan Dösinger
eb0264e2b3
wined3d: Remove a glFlush.
2008-08-05 14:09:36 +02:00
Stefan Dösinger
44d419ad8e
wined3d: Call glFlush outside the GL lock.
2008-08-05 14:09:36 +02:00
H. Verbeet
2d6d879562
wined3d: Handle CTXUSAGE_BLIT with offscreen targets and FBO ORM.
...
This is mostly for correctness, in practice we should always be able
to avoid using CTXUSAGE_BLIT for offscreen targets when FBO ORM is
used.
2008-08-05 14:09:34 +02:00
H. Verbeet
b685b84e66
wined3d: Apply FBO state in ActivateContext().
...
Fixes some GL errors due to calling glDrawBuffer(GL_BACK) when an FBO
is still active.
2008-08-05 14:09:34 +02:00
H. Verbeet
9a9414dfe2
wined3d: Mark STATE_SCISSORRECT dirty in color_fill_fbo().
...
As pointed out by Alexander Dorofeyev.
2008-08-05 14:09:34 +02:00
Tobias Jakobi
2583975ec7
wined3d: Remove arb_tex_npot for NV FX series in fixup_extensions.
2008-08-04 14:05:01 +02:00
H. Verbeet
d28a310f92
wined3d: Use CTXUSAGE_RESOURCELOAD for ActivateContext() in color_fill_fbo().
...
CTXUSAGE_CLEAR will apply the FBO state in a later patch.
2008-08-04 13:52:16 +02:00
H. Verbeet
f037eb8696
wined3d: Move setting the draw buffer to a separate function.
2008-08-04 13:52:09 +02:00
Stefan Dösinger
e9827cc916
wined3d: Always load glFinish and glFlush from opengl32.dll.
2008-08-04 13:12:10 +02:00
Stefan Dösinger
399825cd8e
wined3d: Report the pitch alignment to ddraw.
2008-08-04 13:10:37 +02:00