Marcus Meissner
d757432c7d
wined3d: Removed deadcode.
2008-01-21 12:41:31 +01:00
Austin English
3471f841a1
wined3d: Spelling fixes.
2008-01-18 12:53:33 +01:00
Marcus Meissner
293ec5843d
wined3d: Check for overflows.
2008-01-16 19:14:38 +01:00
Allan Tong
7b40fd645d
wined3d: Set swapchain container before flagging front buffer with SFLAG_INDRAWABLE.
2008-01-15 14:35:20 +01:00
Pablo Spallanzani
91afa09ac0
wined3d: Fix texture coordinate calculation in surface_blt_to_drawable.
2008-01-15 11:36:44 +01:00
Stefan Dösinger
5426cd6317
wined3d: Clear the constant list before finding constants.
...
shader_get_registers_used is delayed until compile time for some 1.x
shaders, mostly to wait for the right vertex declaration to be
set. This means that on a recompile it will be run again, adding
another instance of each local constant, which in turn causes compile
errors because of constant redeclaration. Just purging the lists
before finding the constants is a simple and reliable solution.
2008-01-14 15:21:20 +01:00
Stefan Dösinger
11d6ed0c0b
wined3d: Destroy opengl shaders on reset.
2008-01-14 15:21:08 +01:00
Stefan Dösinger
1156194881
wined3d: Destroy arb shaders on shader destroy.
2008-01-14 15:21:01 +01:00
Stefan Dösinger
4d0a609452
wined3d: Reset the shader state on shader_*_destroy.
2008-01-14 15:20:51 +01:00
Stefan Dösinger
09bf3d5aea
wined3d: Keep track of shaders.
2008-01-14 15:20:42 +01:00
Stefan Dösinger
c3c6c6f543
wined3d: Unload all resources on Reset.
2008-01-14 15:20:34 +01:00
Stefan Dösinger
80953d62d7
d3d9: Reject IDirect3DDevice9::Reset with active default pool resources.
2008-01-14 15:12:00 +01:00
Stefan Dösinger
8bb5d13fe2
wined3d: Implement VolumeTexture::UnLoad.
2008-01-14 15:11:35 +01:00
Stefan Dösinger
38a4f6339b
wined3d: Implement IWineD3DCubeTexture::UnLoad.
2008-01-14 15:11:27 +01:00
Stefan Dösinger
5d7b8dafb8
wined3d: Implement IWineD3DTexture::UnLoad.
2008-01-14 15:11:18 +01:00
Stefan Dösinger
0ca65c7bc0
wined3d: Implement IWineD3DVolume::UnLoad.
2008-01-14 15:11:07 +01:00
Stefan Dösinger
36729a874c
wined3d: Implement IWineD3DIndexBuffer::UnLoad.
2008-01-14 15:10:54 +01:00
Stefan Dösinger
15245a74b6
wined3d: Implement IWineD3DVertexBuffer::UnLoad.
2008-01-14 15:10:42 +01:00
Stefan Dösinger
c372654b26
wined3d: Implement IWineD3DSurface::UnLoad.
2008-01-14 15:10:30 +01:00
Stefan Dösinger
e59ddb0ab1
wined3d: Add a new IWineD3DResource::UnLoad method.
2008-01-14 15:10:17 +01:00
Roderick Colenbrander
916b56391d
wined3d: Fix glBlendColorEXT for use on RivaTNT.
2008-01-14 13:10:28 +01:00
Stefan Dösinger
29a0b3622c
wined3d: Fix a pixelshader recompilation check.
2008-01-08 17:04:49 +01:00
Stefan Dösinger
c290f4c7a3
wined3d: Detect geforce 7300 cards.
2008-01-08 17:04:36 +01:00
Roderick Colenbrander
a74ecc5f2f
wined3d: Unify color conversion code.
2008-01-07 22:57:05 +01:00
Roderick Colenbrander
f2e32f7c45
wined3d: Use software palette conversion for non-texturing operations.
2008-01-07 18:20:07 +01:00
Alexandre Julliard
9636c7fa0e
wined3d: Use unsigned int instead of size_t for the glsl mask size.
2008-01-07 17:17:27 +01:00
Alexandre Julliard
980ee365a0
wined3d: Use unsigned int instead of size_t for element counts.
2008-01-07 17:17:04 +01:00
Gerald Pfeifer
21a9c2d2f9
wined3d: Removed dead FIXME checks.
2008-01-03 11:53:29 +01:00
H. Verbeet
3f6c3d2db0
wined3d: Properly handle the surface location in stretch_rect_fbo().
2008-01-03 11:40:31 +01:00
H. Verbeet
bf50e07f34
wined3d: SFLAG_INTEXTURE is the same as SFLAG_INDRAWABLE for offscreen render targets when ORM_FBO is used.
2008-01-03 11:40:31 +01:00
H. Verbeet
4863daf06a
wined3d: Bind the surface texture in LoadLocation().
2008-01-03 11:40:31 +01:00
H. Verbeet
6cab4c8005
wined3d: Move binding the texture and dirtifying the sampler to its own function from surface_download_data().
2008-01-03 11:40:31 +01:00
H. Verbeet
2820ecc5fe
wined3d: Call SetGlTextureDesc() from BindTexture() rather than from PreLoad().
2008-01-03 11:40:31 +01:00
H. Verbeet
c46c53a12c
wined3d: Call ActivateContext regardless of WINED3DCREATE_MULTITHREADED.
2008-01-03 11:40:31 +01:00
Gerald Pfeifer
520832451f
wined3d: Simplify three checks based on the unsignedness of variables.
2008-01-02 12:38:42 +01:00
Gerald Pfeifer
02afd70fbb
wined3d: Remove four noop checks.
2008-01-02 12:38:42 +01:00
Alexander Dorofeyev
7165d7268b
wined3d: Fix regression of colorfill and texture to swapchain codepaths in BltOverride.
2007-12-31 17:49:00 +01:00
Alexander Dorofeyev
83fe4e77f5
wined3d: Free palette handle when destroying IWineD3DPaletteImpl.
2007-12-31 17:48:08 +01:00
Gerald Pfeifer
d3840f0bb7
wined3d: Remove noop check in IWineD3DBaseTextureImpl_Appl().
2007-12-31 17:29:33 +01:00
Roderick Colenbrander
f3df6cf42b
wined3d: Only store the palette index in the alpha component when the primary render target uses P8.
...
This was already done in other places but I missed this spot.
2007-12-28 11:45:03 +01:00
Roderick Colenbrander
756cb66e78
wined3d: In case of GL_EXT_paletted_textures we use GL_COLOR_INDEX and don't need a GL_RED fixup.
2007-12-28 11:44:49 +01:00
Stefan Dösinger
ea093f4a38
wined3d: Multiply the half pixel correction with .w.
2007-12-28 11:28:59 +01:00
Stefan Dösinger
fd711c57df
wined3d: Combine two glScalef calls into one.
2007-12-27 13:44:18 +01:00
Stefan Dösinger
44b8915371
wined3d: Get rid of the invymat.
...
glScalef(1.0, -1.0, 1.0) does the same as the glMultMatrix with the
invymat matrix, and it is more optimal.
2007-12-27 13:44:13 +01:00
Stefan Dösinger
2bec23fd7c
wined3d: Fix a problem in BltOverride.
2007-12-27 13:44:05 +01:00
Alexander Dorofeyev
27c98fd628
wined3d: Also update alpha test when stage texture is NULL.
2007-12-27 13:43:49 +01:00
Alexander Dorofeyev
1e23602d4b
wined3d: Add zero/near zero vertex rhw special case.
2007-12-26 14:03:48 +01:00
Alexander Dorofeyev
eb3fb4bf28
wined3d: Use IWineD3DDeviceImpl_ClearSurface in IWineD3DDeviceImpl_Clear.
2007-12-21 13:58:19 +01:00
Alexander Dorofeyev
f5aaabd1f2
wined3d: Rewrite IWineD3DSurfaceImpl_BltOverride colorfill codepath.
2007-12-21 13:58:13 +01:00
Stefan Dösinger
47a8a6bd44
wined3d: Implement and test vertex fixups with per stream offsets.
2007-12-21 13:44:16 +01:00
Stefan Dösinger
e27cf6ff8f
wined3d: Per stream offsets are 4 byte aligned.
2007-12-21 13:44:06 +01:00
Stefan Dösinger
8ff517eeb9
wined3d: Vertex attributes are 4 byte aligned.
2007-12-21 13:43:58 +01:00
Stefan Dösinger
b475047cc0
wined3d: Improve some traces.
2007-12-21 13:14:58 +01:00
Stefan Dösinger
6d575ec301
wined3d: Change the vertex buffer declaration's data format.
...
This hopefully makes the vertex attribute detection simpler, more solid,
readable and flexible.
2007-12-21 13:14:36 +01:00
Stefan Dösinger
b5f925cae0
wined3d: Implement half float vertex buffer conversion.
2007-12-21 13:13:56 +01:00
Stefan Dösinger
aaa0e5090a
wined3d: Add a test for 16 bit floats.
2007-12-20 12:10:16 +01:00
Stefan Dösinger
b83dc6bbf6
wined3d: Move the GL info structure into the adapter.
2007-12-20 12:10:08 +01:00
Stefan Dösinger
6ac59b96ed
wined3d: Fix vertex buffers based on type, not semantic.
2007-12-20 12:09:56 +01:00
Stefan Dösinger
2d90449500
wined3d: Fixed function vertex attribute types are flexible.
2007-12-20 10:49:42 +01:00
Stefan Dösinger
a3c2fb9e64
wined3d: Store if half float conversion is needed in the decl.
2007-12-20 10:48:16 +01:00
Stefan Dösinger
30c1abb1eb
wined3d: Always dump the fbo state on errors.
2007-12-20 10:48:08 +01:00
Rico Schüller
b7dfe3afb6
wined3d: Fix some typos.
2007-12-20 10:47:06 +01:00
Stefan Dösinger
b95f30134b
wined3d: Implement texture -> swapchain blits with stretch_rect_fbo.
2007-12-19 12:19:43 +01:00
Stefan Dösinger
37e872e901
wined3d: Some improvements for SFLAG_CONVERTED checking.
...
We can check this flag before setting up the gl lock, and add the
surface format to the FIXME.
2007-12-19 12:19:39 +01:00
Stefan Dösinger
7a1d35e513
wined3d: Emulate half float vertices if GL_NV_half_float is not there.
2007-12-19 12:19:27 +01:00
Stefan Dösinger
7e9af243d1
wined3d: Implement blits from the active render target to swapchains.
2007-12-19 12:19:12 +01:00
Stefan Dösinger
83c0b13c5b
wined3d: Split up the render target -> render target blit.
2007-12-18 14:08:28 +01:00
Stefan Dösinger
df77e28854
wined3d: Implement D3DFMT_G16R16.
2007-12-18 14:08:18 +01:00
Stefan Dösinger
88f746ab0e
wined3d: Filter out some shader compilation spam.
2007-12-18 14:07:12 +01:00
Stefan Dösinger
2eab3d5c11
wined3d: Ignore tesselated and unused streams when comparing attribs.
2007-12-18 13:23:16 +01:00
Stefan Dösinger
8e036d6487
wined3d: Correct a pixel shader version comparison.
2007-12-18 13:23:09 +01:00
Stefan Dösinger
cd858dfa22
wined3d: Disable the SWAPEFFECT_DISCARD clear.
2007-12-18 13:23:00 +01:00
Stefan Dösinger
f78ae8d125
wined3d: Use SetDisplayMode to set the display mode.
2007-12-12 13:46:04 +01:00
Stefan Dösinger
51adbf5bbf
wined3d: Remove 24/32 bit hacks.
2007-12-12 13:45:50 +01:00
Marco Schuster
96504632de
wined3d: Fixed a bug that the 8600M GT could not be detected.
2007-12-12 13:45:42 +01:00
Michael Stefaniuc
a526ad6cbc
wined3d: Fix a "ordered comparison of pointer with integer zero".
2007-12-11 14:59:54 +01:00
Stefan Dösinger
7f10ee453a
wined3d: Use the adapter to read the display mode.
2007-12-11 12:14:35 +01:00
Alexander Dorofeyev
1dbc9d50c9
wined3d: Improve thread safety in IWineD3DSurfaceImpl_BltOverride.
2007-12-10 12:36:06 +01:00
Detlef Riekenberg
efb13b28df
Assorted spelling fixes.
2007-12-08 19:55:39 +01:00
Francois Gouget
5f7a9cea38
Assorted spelling fixes.
2007-12-07 16:35:32 +01:00
Stefan Dösinger
f700cbe74b
wined3d: Add an alpha blending test.
2007-12-07 16:26:43 +01:00
Stefan Dösinger
0e8c13e630
wined3d: A more detailed occlusion query test and fixes.
2007-12-07 15:27:11 +01:00
Stefan Dösinger
54fa712981
wined3d: Initialize output texcoord .w to 1.0 if needed.
...
The GL_ARB_vertex_program extension does not define a standard value for
output texture coordinates. This makes problems when using vertex
shaders with fixed function fragment processing because fffp divides the
texture coords by its .w component. This means that gl shaders have to
write to the .w component of texture coords. Direct3D shaders however
do not.
2007-12-07 14:54:22 +01:00
Stefan Dösinger
1cc7530332
wined3d: Ignore unused attributes when generating the swizzle array.
2007-12-06 13:48:59 +01:00
Stefan Dösinger
f4d2449244
wined3d: Test clearing regarding the scissor test and colorwrite.
2007-12-06 13:48:43 +01:00
Gerald Pfeifer
f4ec0a209b
wined3d: Fix error handling in fixed_get_input().
2007-12-05 13:47:10 +01:00
Gerald Pfeifer
81f32c7a38
wined3d: Fix error handling in transform_texture().
2007-12-04 18:41:45 +01:00
Stefan Dösinger
1ac109e5a0
wined3d: Use the proper drawable size when clearing.
2007-12-04 14:32:39 +01:00
Stefan Dösinger
fce9abd095
wined3d: Clear honors the viewport.
2007-12-04 14:32:39 +01:00
Stefan Dösinger
bd10d5261f
wined3d: Fixes for drawable handling in Clear.
2007-12-04 14:32:39 +01:00
Stefan Dösinger
a4461e03f7
wined3d: Disable the scissor test when blitting.
2007-12-04 14:32:39 +01:00
Stefan Dösinger
fcb49934d0
wined3d: Retrieve the height properly when setting the viewport.
2007-12-04 14:32:39 +01:00
Stefan Dösinger
8689fe32c6
wined3d: Use the proper drawable size when setting the scissor rect.
2007-12-04 14:32:39 +01:00
Stefan Dösinger
9bc6200ece
wined3d: Add a method for querying the gl drawable size of rendertarget.
2007-12-04 14:32:39 +01:00
Stefan Dösinger
79e13d17be
wined3d: Add parentheses to a flag check.
2007-12-03 13:44:41 +01:00
Stefan Dösinger
7ba04e6132
wined3d: Detect the Intel GPU in macbooks.
2007-12-03 13:44:31 +01:00
Stefan Dösinger
8804a972d9
wined3d: Unify bpp to format conversion.
2007-12-03 13:44:18 +01:00
Stefan Dösinger
3cc253c557
wined3d: Enabling too many lights is silently ignored.
...
I'm resending this patch because my reply to Henri's concern came too late.
Henri noted that I am enabling lights that do not exist. Existing tests show
that if no light is assigned to the index, LightEnable creates a light with a
set of default parameters, so the tests should be fine.
From 9ee4c61805b50886f79e87d744b52f27b7b00b4e Mon Sep 17 00:00:00 2001
From: Stefan Doesinger <stefan@codeweavers.com>
Date: Thu, 29 Nov 2007 13:22:47 +0100
Subject: [PATCH] WineD3D: Enabling too many lights is silently ignored
This patch adds tests for all d3d versions that show that Windows
pretends that enabling more lights than supported succeeds. D3D_OK is
returned, and the light is reported as enabled.
What is not tested in this patch is the rendering output of this
situation, thus the FIXME is still written.
2007-12-03 13:44:07 +01:00
Stefan Dösinger
0f39b29da0
wined3d: mov to a0.x does a floor(), not a round to nearest.
2007-12-03 13:43:54 +01:00
Gerald Pfeifer
04cb111efc
wined3d: Fix handling of a special case in IWineD3DImpl_FillGLCaps() and adjust type of loop variable.
2007-12-03 13:17:54 +01:00