2854 Commits

Author SHA1 Message Date
Michael Stefaniuc
118c75a8c7 wined3d: Remove superfluous pointer casts. 2009-02-03 12:40:14 +01:00
Michael Stefaniuc
cc6b283d3a wined3d: Remove some unused defines. 2009-02-03 12:40:12 +01:00
Henri Verbeet
bae1ec98ca wined3d: Don't use drawStridedFast() for drawing pretransformed vertices.
This was exposed by adding EXT_vertex_array_bgra support, previously we would
almost never hit this because color data being present would already prevent
us from using drawStridedFast(). Thanks to Stefan for spotting this.
2009-01-23 13:12:58 +01:00
Henri Verbeet
0cc5f0d3eb wined3d: Don't use drawStridedFast() when pointsize data is present. 2009-01-23 13:12:52 +01:00
Henri Verbeet
e82eef28f9 wined3d: Take EXT_vertex_array_bgra into account in send_attribute() and loadNumberedArrays(). 2009-01-23 13:12:47 +01:00
Paul Chitescu
540febecf9 wined3d: Detect Radeon Xpress Series, report PCI ID of Radeon Xpress 200M. 2009-01-21 10:24:44 +01:00
Stefan Dösinger
3d97055be7 wined3d: Get rid of is_compiled in the pixel shader. 2009-01-20 12:55:17 +01:00
Stefan Dösinger
50109aa969 wined3d: Get rid of last_was_foggy_shader & friends.
The fog settings do not depend on wether the shader writes to oFog or not,
instead they depend on the FOGVERTEXMODE and FOGTABLEMODE settings, and if a
vertex shader is bound at all.

It works the same way as with the fixed function, and having a vertex shader
is the same as using pretransformed vertices, just that the fog coord comes
from the shader instead of the specular color:

FOGTABLEMODE != NONE: The Z coord is used, oFog is ignored
FOGTABLEMODE == NONE, with VS: oFog is used
FOGTABLEMODE == NONE, no VS, XYZ: Z is used
FOGTABLEMODE == NONE, no VS, XYZRHW: diffuse color is used
2009-01-20 12:45:40 +01:00
Stefan Dösinger
3c3272dc41 wined3d: Don't single-allocate new gl shaders. 2009-01-20 12:45:09 +01:00
Henri Verbeet
5d875906c1 wined3d: Remove some superfluous pointer casts. 2009-01-20 12:34:05 +01:00
Henri Verbeet
a966293f59 wined3d: Add an IWineD3DDeviceParent interface.
Other than being a bit nicer than passing function pointers all over the
place, this helps dxgi/d3d10. While the swapchain itself is created in dxgi,
its surfaces are constructed in d3d10core, which makes it impractical for dxgi
to pass the appropriate function pointers.
2009-01-16 13:29:32 +01:00
Henri Verbeet
44240eff27 wined3d: Remove some comments. 2009-01-15 12:43:32 +01:00
Henri Verbeet
17b94f6034 wined3d: Implement a R5G6B5 to X8R8G8B8 surface format converter.
Based on a patch by Mike Ruprecht.
2009-01-15 12:43:28 +01:00
Henri Verbeet
4c7e72bb96 wined3d: Fix a memory leak in CreateSwapChain() error handling. 2009-01-14 13:51:00 +01:00
Henri Verbeet
c8c073fc9b wined3d: Get rid of D3DCREATEOBJECTINSTANCE. 2009-01-14 13:51:00 +01:00
Henri Verbeet
9440dfedf4 wined3d: Remove AddDirtyRect() from the public interface. 2009-01-14 13:51:00 +01:00
Henri Verbeet
fd90021666 wined3d: Remove AddDirtyBox() from the public interface.
This is an internal wined3d function.
2009-01-14 13:51:00 +01:00
Henri Verbeet
881780276b wined3d: Remove CleanDirtyBox().
It's never used.
2009-01-14 13:51:00 +01:00
Henri Verbeet
a37782595f wined3d: Fix cube texture creation error handling. 2009-01-13 15:20:56 +01:00
Henri Verbeet
d030cbdad2 wined3d: Fix volume texture creation error handling. 2009-01-13 15:20:52 +01:00
Henri Verbeet
99d3c62163 wined3d: Fix surface creation error handling. 2009-01-13 15:20:44 +01:00
Henri Verbeet
2654a148de wined3d: Fix texture creation error handling.
Doing the levels calculation before the object is created prevents leaking
resources and avoids changing baseTexture.levels after it's been initialized
by basetexture_init().
2009-01-13 15:20:38 +01:00
Henri Verbeet
e4cfbdd4f7 wined3d: Get rid of D3DCREATERESOURCEOBJECTINSTANCE. 2009-01-13 15:20:28 +01:00
Henri Verbeet
b069321650 wined3d: Fix and unify shader creation error handling. 2009-01-12 13:22:07 +01:00
Henri Verbeet
894edc49cc wined3d: Get rid of D3DCREATESHADEROBJECTINSTANCE. 2009-01-12 13:22:02 +01:00
Henri Verbeet
87627c811e wined3d: Get rid of D3DINITIALIZEBASETEXTURE. 2009-01-12 13:21:56 +01:00
Henri Verbeet
00a4b85fa9 wined3d: Update the pixelshader when the texture type changes. 2009-01-12 13:21:51 +01:00
Stefan Dösinger
365e1f3b07 wined3d: Avoid hooking non-fog glEnable/glDisable calls.
This prevents fallout from the GL_EXT_fog_coord emulation. glEnable
and glDisable calls other than those that change GL_FOG are not
hooked. The glEnableWINE and glDisableWINE functions can be used to
add other hooks too if ever needed.
2009-01-12 13:03:47 +01:00
Stefan Dösinger
1deafcb5a7 wined3d: Split the remains of state_fog. 2009-01-12 13:02:49 +01:00
Stefan Dösinger
061087811f wined3d: Remove the apply_pshader_fog state handler.
The fog doesn't depend on pixel shaders any longer(but still vice
versa), so we don't need this state any more.
2009-01-12 13:02:39 +01:00
Stefan Dösinger
2dd18635c9 wined3d: Move fogdensity and fogcolor to the fragment pipeline. 2009-01-12 13:02:29 +01:00
Stefan Dösinger
e61aa24aa3 wined3d: Use the ARB fog option in ARB_fragment_program shaders.
This is the "replacement" for the fog coord optimization removed in
the previous patch.
2009-01-12 13:02:19 +01:00
Stefan Dösinger
7c21147dcd wined3d: Remove the pixelshader fogstart/fogend optimization. 2009-01-12 13:01:49 +01:00
Rico Schüller
5e79b0608d wined3d: Add a checkGLcall() after glReadBuffer. 2009-01-10 18:04:28 +01:00
Allan Tong
29dd286d79 wined3d: Add code to cleanup device multistate_funcs. 2009-01-10 17:43:11 +01:00
Stefan Dösinger
a69c86d3f5 ddrawex: Add a test for the permanent DC function. 2009-01-09 16:26:06 +01:00
Henri Verbeet
9d8c6326c0 wined3d: Remove stray tabs. 2009-01-09 14:06:14 +01:00
Henri Verbeet
ac914262ed wined3d: Rewrite BeginStateBlock() to use CreateStateBlock() instead of duplicating the code. 2009-01-09 14:06:14 +01:00
Henri Verbeet
9d523ebd8f wined3d: Remove a silly check in drawStridedInstanced(). 2009-01-09 14:06:14 +01:00
Henri Verbeet
92488ca7c1 wined3d: Simplify checking if an attribute is used in loadNumberedArrays(). 2009-01-09 14:06:14 +01:00
Henri Verbeet
d9e58e6591 wined3d: Failing HeapAlloc() should be an ERR. 2009-01-09 14:06:13 +01:00
Henri Verbeet
e028e3f7bd wined3d: Use GL_ALIASED_POINT_SIZE_RANGE to retrieve the max point size. 2009-01-09 14:06:13 +01:00
Henri Verbeet
45a61d1ac4 wined3d: Enable GL_HALF_FLOAT_NV when NV_HALF_FLOAT is supported.
This makes more sense than the other way around.
2009-01-08 13:21:56 +01:00
Henri Verbeet
b1812c690c wined3d: Add support for EXT_vertex_array_bgra.
This allows us to skip BGRA->RGBA color conversion for vertex attributes if
this extension is present.
2009-01-08 13:21:51 +01:00
Henri Verbeet
6791e6b752 wined3d: Simplify handling of swizzled attributes.
This should also be a little bit faster.
2009-01-08 13:21:43 +01:00
Henri Verbeet
cc447eac55 wined3d: Move position_transformed out of u.s in struct WineDirect3DVertexStridedData. 2009-01-08 13:21:31 +01:00
Henri Verbeet
1a1f5ec69d wined3d: Cleanup drawStridedFast().
Remove some uncessary code and use more descriptive parameter names. Note that
max_vertex_idx isn't the same as "minIndex + calculatedNumberOfindices - 1"
but rather "minIndex + numberOfVertices - 1". calculatedNumberOfindices just
specifies the number of vertices that's drawn, while numberOfVertices
specifies the range of vertices that's drawn.
2009-01-08 13:21:23 +01:00
Henri Verbeet
5f8c62e45d wined3d: Remove a redundant parameter to drawPrimitive().
startIdx should be the first index to draw, either from the vertex
array or the index array, depending on if the draw is indexed or
not. Having both at the same time wouldn't make sense.
2009-01-07 12:22:12 +01:00
Henri Verbeet
46eabd5b16 wined3d: Don't delete queries from the wrong context. 2009-01-07 12:22:02 +01:00
Henri Verbeet
0e8ed9bebb wined3d: Simplify IWineD3DOcclusionQueryImpl_GetData(). 2009-01-07 12:21:58 +01:00