Henri Verbeet
2b18192e7a
wined3d: Get rid of IWineD3DSurface::GetDesc().
2011-03-11 11:40:31 +01:00
Henri Verbeet
756fdb7c5a
wined3d: Merge the various resource desc structures.
2011-03-09 12:28:58 +01:00
Henri Verbeet
b9fae5e9a8
wined3d: Don't require container parents for IWineD3DDeviceParent methods to be COM objects.
2011-03-08 12:27:41 +01:00
Henri Verbeet
a27ee75ed2
wined3d: Remove COM from the buffer implementation.
2011-03-04 16:25:58 +01:00
Henri Verbeet
5765632d9f
wined3d: Remove COM from the vertex declaration.
2011-02-03 13:15:17 +01:00
Henri Verbeet
36d4268e3c
wined3d: Remove COM from IWineD3D.
2011-02-02 12:22:42 +01:00
Michael Stefaniuc
8bf1940c62
d3d8: COM cleanup for the IDirect3DTexture8 iface.
2011-01-31 13:01:09 +01:00
Michael Stefaniuc
8a13f059ea
d3d8: COM cleanup for the IDirect3DCubeTexture8 iface.
2011-01-31 13:01:09 +01:00
Michael Stefaniuc
8ec3238b5e
d3d8: COM cleanup for the IDirect3DSwapChain8 iface.
2011-01-31 13:01:08 +01:00
Michael Stefaniuc
05b6032fb6
d3d8: COM cleanup for the IDirect3DVolume8 iface.
2011-01-31 13:01:08 +01:00
Henri Verbeet
4b109ff1f8
wined3d: Remove COM from the stateblock.
2011-01-31 12:24:58 +01:00
Michael Stefaniuc
7f184144ff
d3d8: COM cleanup for the IWineD3DDeviceParent_iface.
2011-01-28 11:59:45 +01:00
Michael Stefaniuc
54a61ae734
d3d8: Finish the COM cleanup of the IDirect3DDevice8 iface.
2011-01-28 11:59:39 +01:00
Michael Stefaniuc
dec337acac
d3d8: Use impl_from_IDirect3DDevice8() instead of the iface to object cast.
2011-01-28 11:59:34 +01:00
Michael Stefaniuc
bb6ae095d4
d3d8: Pass an object instead of an iface to an internal function.
2011-01-26 15:00:13 +01:00
Henri Verbeet
f024e2372f
d3d8: Fix some return values.
2010-11-16 13:48:54 +01:00
Henri Verbeet
7e3985e1fe
ddraw: Setup the device window in SetCooperativeLevel().
2010-11-08 13:30:54 +01:00
David Adam
743e9b35a1
d3d8: ApplyStateBlock with a zero token returns D3D_OK.
2010-10-25 15:30:46 +02:00
Rico Schüller
e6d52c0c8b
wined3d: Add argument check for Type to Get/SetTextureStageState().
2010-09-14 13:32:00 -05:00
Henri Verbeet
07b5c4becf
wined3d: Getting the current pixel shader should never fail.
2010-09-07 11:23:31 +02:00
Henri Verbeet
0c54dfe7ba
wined3d: Getting the current vertex shader should never fail.
2010-09-07 11:23:27 +02:00
Henri Verbeet
6c4c351791
wined3d: Don't require wined3d object parents to be COM objects.
2010-09-01 14:01:02 +02:00
Henri Verbeet
2ef400901d
wined3d: Devices don't need parents.
2010-09-01 12:40:07 +02:00
Henri Verbeet
c568916f9e
wined3d: Implicit depth/stencil surfaces don't have a container.
...
They're owned by the device instead of the swapchain.
2010-08-31 14:23:47 +02:00
Henri Verbeet
4005eb2a18
wined3d: Get rid of WINED3DRECT.
2010-08-31 14:23:47 +02:00
Austin English
243771deb1
d3d8/d3d9: Fix a compiler warning on non-i386/x86_64.
2010-08-24 12:25:14 +02:00
Henri Verbeet
cc5271d1b7
wined3d: Rename WINED3DFORMAT to wined3d_format_id.
2010-08-24 12:25:01 +02:00
Henri Verbeet
3ad82a82bb
wined3d: The stateblock doesn't have a parent.
2010-07-30 11:36:03 +02:00
Henri Verbeet
7d5666e084
d3d8: Set the FPU control word on device creation.
2010-05-26 17:36:32 +02:00
Alexandre Julliard
26cc3efb33
d3d8: Avoid using a pointer difference in a trace.
2010-04-09 15:54:54 +02:00
Henri Verbeet
914c8cb8ea
ddraw: Acquire/release the focus window from the correct location.
2010-03-18 10:24:15 +01:00
Henri Verbeet
2e27ab6b67
d3d8: Add a separate function for swapchain initialization.
2009-12-21 15:01:25 +01:00
Henri Verbeet
8151963f4e
d3d8: Directly store a wined3d stateblock in the stateblock handle.
...
IDirect3DStateBlock8Impl doesn't actually do anything useful.
2009-12-03 12:09:12 +01:00
Henri Verbeet
212ee15bd7
d3d8: Return D3DERR_INVALIDCALL when trying to delete an invalid pixel shader.
...
It appears this is fixed on Vista/Win7 to be consistent with
DeleteVertexShader(). Match the more consistent behaviour of Vista/Win7 and
mark the previous behaviour as broken.
2009-12-01 13:16:18 +01:00
Henri Verbeet
55f3c576d9
wined3d: Remove the effetively unused "state" field from the device.
2009-11-18 11:16:54 +01:00
Henri Verbeet
e0525b663e
d3d8: Move D3D8CB_DestroySwapChain() to device.c.
2009-11-17 15:14:54 +01:00
Henri Verbeet
fea466455b
d3d8: Add a separate function for device initialization.
2009-11-17 15:14:54 +01:00
Stefan Dösinger
8eef221d20
d3d: Handle the pointsize_min default difference in d3d8.
2009-11-03 21:22:12 +01:00
Stefan Dösinger
90e443758a
wined3d: Add a parameter for SetRenderTarget viewport setup.
2009-11-03 21:21:30 +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
f8bd01a315
d3d8: Add traces.
2009-10-19 11:45:57 +02:00
Henri Verbeet
f4005c371f
d3d8: Get rid of some unused variables in IDirect3DDevice8Impl_CopyRects() (LLVM/Clang).
2009-10-16 13:36:55 +02:00
Stefan Dösinger
e80144c403
d3d: Make EndScene calls hookable.
2009-10-14 12:21:06 +02:00
Henri Verbeet
47c84f4f7f
wined3d: Use the DXGI naming convention for all formats.
2009-09-25 15:15:44 +02:00
Henri Verbeet
906071aa9f
d3d8: It's not an error to have a NULL texture bound to a stage.
2009-09-25 15:15:00 +02:00
Henri Verbeet
c64da00de7
wined3d: Rename IWineD3DDevice::GetIndices() to IWineD3DDevice::GetIndexBuffer().
2009-09-25 15:14:52 +02:00
Henri Verbeet
60e32659a7
wined3d: Rename IWineD3DDevice::SetIndices() to IWineD3DDevice::SetIndexBuffer().
2009-09-25 15:14:44 +02:00
Henri Verbeet
717419da11
d3d8: Add a separate function for pixel shader initialization.
2009-09-24 13:24:47 +02:00
Henri Verbeet
afed6a3f77
d3d8: Add a separate function for vertex shader initialization.
2009-09-24 13:24:11 +02:00
Henri Verbeet
b6d422446b
d3d8: Add a separate function for vertex declaration initialization from an FVF.
2009-09-23 12:35:42 +02:00
Henri Verbeet
f394dfc0f8
d3d8: Add a separate function for vertex declaration initialization.
2009-09-23 12:35:08 +02:00
Henri Verbeet
b1bf50d751
d3d8: Add a separate function for vertex buffer initialization.
2009-09-18 08:55:18 -05:00
Henri Verbeet
0201ddf264
d3d8: Add a separate function for index buffer initialization.
2009-09-18 08:55:11 -05:00
Henri Verbeet
76c61cf536
d3d8: Add a separate function for texture initialization.
2009-09-17 10:10:16 -05:00
Henri Verbeet
b5b58e423d
d3d8: Add a separate function for cube texture initialization.
2009-09-17 10:09:33 -05:00
Henri Verbeet
eedfc95eef
d3d8: Add a separate function for volume texture initialization.
2009-09-16 13:05:58 -05:00
Henri Verbeet
e9000d2e6c
wined3d: Don't free D3D volumes until the wined3d volume is destroyed.
2009-09-16 13:05:20 -05:00
Henri Verbeet
ff923245e1
d3d8: Add a separate function for volume initialization.
2009-09-16 13:05:06 -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
Henri Verbeet
e02f7b2062
d3d8: Add a separate function for surface initialization.
2009-09-15 14:32:30 -05:00
Henri Verbeet
2b2fc827ce
wined3d: Remove unused parameters to drawPrimitive().
2009-09-11 12:09:14 +02:00
Henri Verbeet
fecbf7b416
d3d8: Remove trailing spaces.
2009-08-31 12:41:21 +02:00
Henri Verbeet
f9c791f9ca
d3d8: Use a wined3d cs for wined3d locking.
...
We will need this for d3d10, where both dxgi and d3d10core are making wined3d
calls. Right now d3d8/d3d9 also use this to protect their own data, but
eventually we should push this down into wined3d itself and use something a
bit more fine-grained. There's no good reason that doing e.g. a vertex buffer
upload in some thread should block all of wined3d.
2009-08-25 11:12:17 +02:00
Stefan Dösinger
6f5a1d9a15
wined3d: Filter WINED3DSTENCILCAPS_TWOSIDED in d3d8.
2009-08-07 14:56:48 +02:00
Henri Verbeet
a25947fa7e
d3d8: Add WINED3DFMT_W11V11U10 <=> D3DFMT_W11V11U10 conversion.
2009-06-19 13:52:42 +02:00
Henri Verbeet
1bbc65b155
d3d8: Deleting an invalid pixel shader handle should return D3D_OK.
2009-06-16 13:36:54 +02:00
Henri Verbeet
dc3958c079
d3d8: Do some more verification on handles.
2009-06-16 13:36:48 +02:00
Henri Verbeet
88162fabb8
wined3d: Get rid of the pointers in WINED3DSURFACE_DESC.
2009-06-15 13:42:29 +02:00
Henri Verbeet
4bc6b376e0
wined3d: Remove the useless "resource_type" parameter from IWineD3DDevice::CreateSurface().
2009-06-12 17:33:15 +02:00
Henri Verbeet
13a05caa97
wined3d: Remove the "declaration" parameter to IWineD3DDeviceImpl_CreateVertexShader().
...
Once upon a time this was used for creating fake vertex shader
attribute semantics for d3d8 shaders. We don't need this anymore since
device_stream_info_from_declaration() will use the vertex
declaration's output slot to load the data, if present. That also
avoids the potentially expensive matching of attribute semantics
between vertex shader and declaration for d3d8.
2009-05-28 12:42:18 +02:00
Henri Verbeet
f0e303b0f2
wined3d: Add the output signature to IWineD3DDevice_CreateVertexShader().
2009-05-26 13:49:55 +02:00
Henri Verbeet
9a579a43b1
wined3d: Use the output signature to map SM4 pixel shader outputs to the appropriate register.
2009-05-11 12:43:00 +02:00
Stefan Dösinger
9f1731edb6
d3d: Limit d3d8 and d3d9 vshader constants to 256.
...
DX10 cards support 512(ATI) or 1024(Nvidia) vertex shader constants in
GL. The dx9 DXCapsViewer shows that dx10 windows drivers only claim
256 constants on Windows, so we can and should do the same.
2009-04-27 13:23:36 +02:00
Henri Verbeet
6f33b97c94
wined3d: Get rid of the shared_handle parameter.
...
I don't expect us to support this in the near future, and right now it's just
dead code.
2009-04-23 14:22:06 +02:00
Stefan Dösinger
cb1c9dcda9
d3d: Remove the format from index buffers.
2009-04-09 16:28:25 +02:00
Stefan Dösinger
f0efa97413
wined3d: Remove the buffer fvf.
2009-04-09 16:28:10 +02:00
Stefan Dösinger
ff16f30677
d3d8: Store the fvf in the d3d8 vertex buffer.
2009-04-09 16:27:43 +02:00
Stefan Dösinger
513a493f00
wined3d: Merge IWineD3DIndexBuffer and IWineD3DBuffer.
2009-04-08 11:37:29 +02:00
Henri Verbeet
c0cefb3501
d3d8: Cleanup the vertexshader handling code a bit.
2009-03-24 12:56:50 +01:00
Henri Verbeet
4131135a9f
d3d8: Cleanup the pixelshader handling code a bit.
...
This mostly just reduces the nesting to something more sane.
2009-03-24 12:56:33 +01:00
Henri Verbeet
3f559f26d6
d3d8: Properly handle unsetting the pixelshader in SetPixelShader().
2009-03-24 12:56:25 +01:00
Henri Verbeet
775ea907a3
d3d8: Fix locking.
2009-03-23 14:08:03 +01:00
Henri Verbeet
24100cd026
d3d8: Release the d3d8 shader once we're done with it in IDirect3DDevice8Impl_GetPixelShader().
2009-03-13 11:28:35 +01:00
Henri Verbeet
f9d82ed1de
d3d8: Handles aren't supposed to be pointers.
...
This might even make d3d8 a bit more 64-bit safe.
2009-03-10 12:08:58 +01:00
Henri Verbeet
cbc8630019
d3d8: Make the shader handle table a bit more generic.
2009-03-10 12:08:32 +01:00
Henri Verbeet
954c3e22e1
d3d8: Don't call Release() in a while loop.
...
There should only ever be a single reference to these objects, since only
their handle is exposed outside d3d8. Should there be more references than
that, calling Release() in a while loop probably isn't the right approach.
2009-03-10 12:07:59 +01:00
Henri Verbeet
aa3027a604
wined3d: Merge IWineD3DVertexBuffer with IWineD3DBuffer.
...
That still leaves IWineD3DIndexBuffer, but that code is also mostly similar,
except for the conversion code (which will be unused there).
2009-03-06 15:35:58 +01:00
Henri Verbeet
702eeb6b0c
wined3d: Add separate methods for setting the primitive type.
2009-03-05 16:16:25 +01:00
Henri Verbeet
602bb1f551
wined3d: Pass the vertex count rather than the primitive count to wined3d draw methods.
2009-03-05 16:16:24 +01:00
Henri Verbeet
0048a0373b
d3d10core: Keep a reference to the wined3d device in the d3d10 device.
2009-02-23 12:20:29 +01:00
Henri Verbeet
8cefc47d81
wined3d: Add DXGI formats to WINED3DFORMAT.
2009-02-20 11:10:37 +01:00
Henri Verbeet
d575b5fecb
d3d8: Explicitly convert between D3DFORMAT and WINED3DFORMAT values.
2009-02-20 11:09:54 +01:00
Francois Gouget
1f601015cd
d3d8: Make some device_parent_*() functions static.
2009-01-26 15:13:29 +01:00
Henri Verbeet
b5eaca542e
d3d8: Properly test for dynamic usage in device_parent_CreateSurface().
2009-01-16 13:29:52 +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
Michael Stefaniuc
357c3f4a2c
d3d8: Remove superfluous pointer casts.
2009-01-14 13:51:01 +01:00
Henri Verbeet
352e60e6ed
d3d: Explicitly translate texture stage states.
...
Ddraw and d3d8 already translate half of them, it turns out the lookup
table actually saves lines there.
2009-01-06 12:45:32 +01:00
Henri Verbeet
007c648c20
d3d: Correct some debug levels.
2008-12-30 11:36:50 +01:00
Henri Verbeet
4adb342327
wined3d: Remove GetFVF() and SetFVF() from IWineD3DDevice.
2008-12-17 14:02:03 +01:00
Henri Verbeet
46572f682c
wined3d: Refuse to create shaders with a NULL function.
2008-12-16 12:51:49 +01:00
Henri Verbeet
0a47e1beb4
d3d8: Use the wined3d declaration to retrieve the d3d8 shader in IDirect3DDevice8Impl_GetVertexShader().
...
This makes it no longer necessary to create a wined3d vertex shader
when the d3d8 vertex shader has a NULL function.
2008-12-15 14:00:46 +01:00
Henri Verbeet
b9468a89fc
d3d8: Create a d3d8 declaration as parent for FVF based declarations.
2008-12-15 14:00:37 +01:00
Francois Gouget
ec7cbc26f5
d3d8: Make D3D8CB_CreateSurface() static.
2008-12-15 12:25:02 +01:00
Alexandre Julliard
00e0d1510b
d3d8: Make a function static.
2008-12-04 12:46:52 +01:00
Francois Gouget
d3c7b2f7cc
d3d8: Remove WINAPI on static functions where not needed.
2008-11-24 14:18:42 +01:00
Michael Stefaniuc
4f199a10ad
Remove the remaining casts of NULL.
2008-11-03 13:42:09 +01:00
Stefan Dösinger
93af8d3631
d3d: Do not restore the display mode in ddraw.
2008-11-03 13:34:13 +01:00
Henri Verbeet
092b51e82a
wined3d: Rename CreateAdditionalSwapChain to CreateSwapChain.
2008-10-28 12:46:46 +01:00
Henri Verbeet
43f5d8e5ad
d3d8: Fix IDirect3DDevice8::SetRenderTarget().
...
The render target should be left alone if the render target argument is
NULL. WineD3D calls should be done inside the critical section.
2008-09-10 12:05:25 +02:00
Henri Verbeet
01539fb926
d3d8: GetDepthStencilSurface returns D3DERR_NOTFOUND when no depth stencil is present.
2008-09-10 12:05:10 +02:00
H. Verbeet
898c2c9778
d3d8: Don't store shader_handle's.
...
They're not stable across table resizes.
2008-08-20 10:26:51 +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
Tobias Jakobi
9ba3d03e78
d3d8: Fix IDirect3DDevice8::CreateImageSurface pool type.
2008-07-08 21:08:32 +02:00
Andrew Talbot
c8d495bac1
d3d8: Dangling pointers fix.
2008-05-05 19:46:15 +02:00
Stefan Dösinger
0fa0df7843
d3d8: Reject broken normal declaration types with fixed function.
2008-03-28 14:49:30 +01:00
Austin English
4777f26d61
Spelling fixes.
2008-03-27 11:10:07 +01:00
Stefan Dösinger
8869c0f147
d3d: De-pointerize the WINED3DCAPS structure.
2008-03-25 19:36:38 +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
55e92b9410
d3d8: Fix type of loop variable.
2008-01-04 12:12:31 +01:00
Gerald Pfeifer
21a9c2d2f9
wined3d: Removed dead FIXME checks.
2008-01-03 11:53:29 +01:00
Andrew Talbot
70d82dfbd9
d3d8: Remove unneeded casts.
2008-01-02 12:38:41 +01:00
Andrew Talbot
cd2964483a
d3d8: Remove unneeded casts.
2007-12-05 12:04:39 +01:00
Stefan Dösinger
6cecaa9852
d3d8: Release the vertex declarations array when destroying the device.
2007-11-20 12:53:00 +01:00
Stefan Dösinger
6ec6c941fa
wined3d: BaseVertexIndex can be negative.
2007-08-27 12:00:42 +02:00
Stefan Dösinger
a06e002e93
wined3d: Add a wined3d private WINED3DSBT_RECORDED.
2007-08-15 09:36:20 +02:00
Stefan Dösinger
527295e57f
d3d8: Convert fvfs to vertex declarations.
2007-06-21 13:08:57 +02:00
Stefan Dösinger
09aefe2108
d3d8: Hold the lock in IDirect3DDevice8 methods.
2007-06-11 13:54:33 +02:00
H. Verbeet
6ee356fca0
wined3d: Get rid of the pBaseVertexIndex parameter to IWineD3DDeviceImpl_GetIndices, use GetBaseVertexIndex instead.
2007-06-07 11:20:48 +02:00
H. Verbeet
785771272a
wined3d: Get rid of the BaseVertexIndex parameter to IWineD3DDeviceImpl_SetIndices, use SetBaseVertexIndex instead.
2007-06-06 12:10:47 +02:00
Stefan Dösinger
94b3fddec8
d3d: Pass the cube face to Create*Texture's surface creation callback.
2007-05-01 11:42:25 +02:00
Stefan Dösinger
725057da47
d3d: Remove dependency on ddraw.h header.
2007-04-16 13:20:15 +02:00
Andrew Talbot
fb367f813a
d3d8: Void functions should not return a value.
2007-04-09 12:15:28 +02:00
Felix Nawothnig
ea0d7f17ca
d3d8: Add missing relay trace.
2007-04-07 11:01:26 +02:00
H. Verbeet
b68c72faef
d3d8: Implement IDirect3DDevice8_GetVertexShaderDeclaration.
2007-03-08 11:58:41 +01:00
H. Verbeet
138826b8cc
d3d8: Save the d3d8 vertex declaration.
2007-03-08 11:58:23 +01:00
Stefan Dösinger
ef68e32b03
wined3d/d3d8: Move todo about sw vp usage to d3d8.
2007-02-20 11:45:56 +01:00
H. Verbeet
a4bc52a89c
wined3d: Fix WINED3DPRESENT_PARAMETERS and use it instead of D3DPRESENT_PARAMETERS.
2007-02-16 12:31:03 +01:00
Stefan Dösinger
d74712690c
d3d8: Set WINED3DPRESENT_PARAMETERS.MultiSampleQuality to a valid pointer.
2007-02-15 17:22:35 +01:00
H. Verbeet
157205c085
d3d8: Don't store the d3d8 declaration in the wined3d object.
2007-02-14 13:56:50 +01:00
H. Verbeet
efed9aea1f
d3d8: Move loading local d3d8 vertex shader constants from wined3d to d3d8.
2007-02-14 13:54:55 +01:00
H. Verbeet
dea795f7ac
d3d9: Don't store the d3d9 declaration in the wined3d object.
2007-02-14 13:54:42 +01:00
H. Verbeet
32e5cac2be
wined3d: Get rid of the vertexDeclaration field in IWineD3DVertexShaderImpl.
2007-02-14 13:54:29 +01:00
H. Verbeet
5ad6766c85
d3d8: Store the d3d8 vertex declaration in the d3d8 vertex shader.
2007-02-14 13:54:17 +01:00
Stefan Dösinger
00aa8ab08c
d3d8: Deleting bound shaders unbinds them.
2007-02-13 12:07:46 +01:00
H. Verbeet
d73e5d6fc8
d3d8: IDirect3DDevice8Impl_GetVertexShaderDeclaration gets passed a handle instead of a pointer.
2007-01-08 11:46:05 +01:00
H. Verbeet
6e3b732ffb
d3d8: IDirect3DDevice8Impl_GetVertexShaderFunction gets passed a handle instead of a pointer.
2007-01-08 11:46:05 +01:00
H. Verbeet
cae630f92e
d3d8: IDirect3DDevice8Impl_GetPixelShaderFunction gets passed a handle instead of a pointer.
2007-01-08 11:46:05 +01:00
Stefan Dösinger
71631f7638
wined3d: Use the baseVertexIndex in the stateblock.
2007-01-03 11:02:51 +01:00
Chris Robinson
b66a52856c
d3d8: Don't report Shader Model 2.0 or higher.
2006-12-29 12:49:41 +01:00
Chris Robinson
b7b9d4e3c7
d3d: GetStreamSource on a stream with NULL data isn't an error.
2006-12-26 12:52:54 +01:00
Markus Amsler
0531858146
d3d8: Handle surface container in d3d8.
2006-12-18 12:07:46 +01:00
Markus Amsler
5e0fc62135
d3d: Callback infrastructure for implicit swap chain destruction in IWineD3DDevice.
2006-12-18 12:07:26 +01:00
Markus Amsler
4745618487
d3d8: Fix implicit surface refcounting.
2006-12-06 12:41:27 +01:00
Markus Amsler
0d725490d6
d3d8: Handle surface refcount forwarding in d3d8.
2006-12-06 12:40:12 +01:00
Markus Amsler
3fd04308ab
d3d: Callback infrastructure for implicit depth stencil surface destruction in IWineD3DDevice.
2006-12-06 12:39:30 +01:00
Markus Amsler
a60d4b2d2f
d3d: Pass the superior creating object down to the callback functions.
2006-12-04 12:40:38 +01:00
Markus Amsler
44e6c6b67a
d3d8: Use correct COM macros.
2006-12-01 12:27:17 +01:00
Markus Amsler
bd072332e1
Revert "d3d: Remove AddRef from IWineD3DDevice_GetDirect3D.".
...
This reverts commit 167b83c28a
.
2006-11-30 16:04:00 +01:00
Markus Amsler
f8e7ddd798
Revert "d3d: Remove AddRef from IWineD3DDevice_GetBackBuffer.".
...
This reverts commit 478a414e58
.
2006-11-30 16:04:00 +01:00
Markus Amsler
b657cd5f58
Revert "d3d: Remove AddRef from IWineD3DDevice_GetRenderTarget.".
...
This reverts commit a7518f6f54
.
2006-11-30 16:04:00 +01:00
Markus Amsler
f5204b8afe
Revert "d3d: Remove AddRef from IWineD3DDevice_GetDepthStencilSurface.".
...
This reverts commit 18546a65e6
.
2006-11-30 16:04:00 +01:00
Markus Amsler
5bec2f57a1
Revert "d3d: Remove AddRef from IWineD3DDevice_GetTexture.".
...
This reverts commit 274df6ef88
.
2006-11-30 16:04:00 +01:00
Markus Amsler
3a270375d7
Revert "d3d: Remove AddRef from IWineD3DDevice_GetStreamSource.".
...
This reverts commit 16b1e046d8
.
2006-11-30 16:03:59 +01:00
Markus Amsler
9dd81f64cb
Revert "d3d: Remove AddRef from IWineD3DDevice_GetIndices.".
...
This reverts commit 5c4008719c
.
2006-11-30 16:03:59 +01:00
Markus Amsler
5c4008719c
d3d: Remove AddRef from IWineD3DDevice_GetIndices.
2006-11-22 11:40:43 +01:00
Markus Amsler
16b1e046d8
d3d: Remove AddRef from IWineD3DDevice_GetStreamSource.
2006-11-22 11:40:37 +01:00
Markus Amsler
274df6ef88
d3d: Remove AddRef from IWineD3DDevice_GetTexture.
2006-11-22 11:40:31 +01:00
Markus Amsler
18546a65e6
d3d: Remove AddRef from IWineD3DDevice_GetDepthStencilSurface.
2006-11-22 11:40:24 +01:00
Markus Amsler
a7518f6f54
d3d: Remove AddRef from IWineD3DDevice_GetRenderTarget.
2006-11-22 11:40:05 +01:00
Markus Amsler
478a414e58
d3d: Remove AddRef from IWineD3DDevice_GetBackBuffer.
2006-11-22 11:39:52 +01:00
Markus Amsler
167b83c28a
d3d: Remove AddRef from IWineD3DDevice_GetDirect3D.
2006-11-22 11:39:39 +01:00
Markus Amsler
bef60f1dfc
d3d8: Backport null pointer check in SetCursorProperties.
2006-11-09 12:44:22 +01:00
Andrew Talbot
4471ad44a3
d3d8: Cast-qual warnings fix.
2006-10-27 12:10:04 +02:00
Markus Amsler
dd8682e9c5
d3d8: Fix wrong function name in FIXME.
2006-10-17 11:14:15 +02:00
Stefan Dösinger
1e6a38967c
d3d8: Implement CopyRects with BltFast.
2006-10-16 11:26:00 +02:00
Ivan Gyurdiev
9628a1b2e2
wined3d: Merge D3DRECT types into one type in WINED3D namespace.
2006-10-12 12:37:08 +02:00
Ivan Gyurdiev
ac37163124
wined3d: Merge D3DMATRIX types into one type in WINED3D namespace.
2006-10-12 12:35:00 +02:00
Ivan Gyurdiev
732e0e908b
wined3d: Merge GAMMARAMP types into one type in WINED3D namespace.
2006-10-11 12:22:01 +02:00
Ivan Gyurdiev
5f2987ae32
wined3d: Merge VIEWPORT types into one type in WINED3D namespace.
2006-10-11 12:21:54 +02:00
Ivan Gyurdiev
90f5be2bef
wined3d: Merge MATERIAL types into one type in WINED3D namespace.
2006-10-11 12:21:14 +02:00
Ivan Gyurdiev
70bbf734b1
wined3d: Merge LIGHT types into one type in WINED3D namespace.
2006-10-11 12:21:06 +02:00
H. Verbeet
c6e0ca28d5
d3d8: Win64 printf format warning fixes.
2006-10-10 19:58:56 +02:00
Stefan Dösinger
3529560cd7
wined3d: Add WINED3DUSAGE_OVERLAY.
2006-10-06 12:53:24 +02:00
Francois Gouget
3adb46f050
d3d8: Fix '\n' typo.
2006-10-05 17:44:51 +02:00
H. Verbeet
112810a480
d3d8: Free the shader handle table.
2006-09-12 10:52:47 +02:00
H. Verbeet
9a4ce31737
d3d8: Use proper handles for pixel shaders.
2006-08-28 11:49:06 +02:00
H. Verbeet
4a48e38e7d
d3d8: Improve shader handle management.
2006-08-28 11:47:02 +02:00
H. Verbeet
7ac5bd67d5
d3d: Don't crash when SetRenderTarget() is called with a NULL pSurface.
2006-08-07 13:12:37 +02:00
Vitaliy Margolen
145442a79d
d3d8: Fix remaining refcount tests and tighten all tests.
2006-07-07 16:57:41 +02:00
Alexandre Julliard
7bf49faf23
d3d8: Don't use sizeof in traces to avoid printf format warnings.
2006-06-13 14:09:36 +02:00
Alexandre Julliard
c3bd09e563
d3d8: Make the virtual table functions static where possible.
2006-06-10 11:48:24 +02:00
H. Verbeet
d06aa8d857
d3d8: Fix QueryInterface.
...
QueryInterface should return S_OK on success and set the object
pointer to NULL on failure. This is similar to the patch Ivan
submitted a while ago for wined3d.
2006-06-07 15:28:06 +02:00
Stefan Dösinger
1c46c693c7
d3d8: Back buffer count fix.
2006-05-31 11:44:32 +02:00
Jonathan Ernst
360a3f9142
Update the address of the Free Software Foundation.
2006-05-23 14:11:13 +02:00
Vitaliy Margolen
1cc318c5a6
d3d8: All objects created by device should keep reference to it.
2006-05-22 11:29:27 +02:00
Stefan Dösinger
d04f0507cf
wined3d: Implement Init3D and Uninit3D.
2006-04-19 12:43:22 +02:00
Stefan Dösinger
03b256b16d
wined3d: Add a parameter for surface type selection.
2006-04-18 11:09:17 +02:00
Stefan Dösinger
d2510847b0
wined3d: Split device creation and opengl initialization.
2006-04-13 11:22:45 +02:00
Vitaliy Margolen
99136998e2
d3d8: VertexShader should keep reference to the parent device object.
2006-04-12 11:20:07 +02:00
Stefan Dösinger
c289b3cc51
wined3d: Define WINED3DGAMMARAMP based on D3DGAMMARAMP / DDGAMMARAMP.
2006-04-04 20:00:41 +02:00
Stefan Dösinger
08c38a87e1
wined3d: Add WINED3DRASTERSTATUS to wined3d_types.h.
2006-04-04 11:51:37 +02:00
Stefan Dösinger
f6ed704f96
wined3d: Make use of WINED3DDEVICE_CREATION_PARAMETERS.
2006-04-03 21:35:44 +02:00
Vitaliy Margolen
fc13420770
d3dx: VertexBuffer should keep reference to the parent device object.
2006-04-03 14:14:24 +02:00
Stefan Dösinger
0ad31f819d
wined3d: Add WINED3DBACKBUFFER_TYPE to wined3d_types.h.
2006-04-03 12:17:35 +02:00
Stefan Dösinger
fce54bcc49
wined3d: Add WINED3DDISPLAYMODE to wined3d_types.h.
2006-04-03 12:17:22 +02:00
H. Verbeet
1e421c7da9
d3d8: Add a TRACE for IDirect3DDevice8Impl_CreateVertexBuffer.
2006-03-28 17:52:59 +02:00
Stefan Dösinger
1d47556195
wined3d: Use WINED3DSWAPEFFECT in the wined3d headers and code.
2006-03-28 17:51:45 +02:00
Stefan Dösinger
d75fd75d48
wined3d: Add WINED3DPOOL to wined3d_types.h.
2006-03-28 17:34:42 +02:00
Stefan Dösinger
b4b295c2a5
wined3d: Add WINED3DMULTISAMPLE_TYPE to wined3d_types.h.
2006-03-27 11:30:49 +02:00
Stefan Dösinger
0f7eb52789
wined3d: Add WINED3DTRIPATCH_INFO to wined3d_types.h.
2006-03-27 11:30:49 +02:00
Stefan Dösinger
6af24c816d
wined3d: Rectpatch code fix.
...
Update the wined3d code to use WINED3DRECTPATCH_INFO, which was added
with an older patch.
2006-03-24 12:13:50 +01:00
H. Verbeet
bb370f3582
d3d8: Change the default debug channel to d3d8 for device.c.
2006-03-20 12:09:33 +01:00
H. Verbeet
2940fd9170
d3d8: Downgrade a FIXME to a TRACE in IDirect3DDevice8Impl_SetVertexShader.
2006-03-20 12:09:10 +01:00
H. Verbeet
0ea6686134
d3d8: Fix comparison in IDirect3DDevice8Impl_DeleteVertexShader.
2006-03-20 12:09:00 +01:00
Roderick Colenbrander
bcbf5f397e
d3d8/wined3d: Vertex shader fixes.
2006-03-17 13:11:06 +01:00
Francois Gouget
555a06075f
d3d8: Remove spaces before '\n'.
2006-02-28 12:01:47 +01:00
Roderick Colenbrander
d13469c1d8
d3d8: Moved the remaining code over to WineD3D (based on patches by
...
Oliver Stieber).
2006-02-27 12:20:03 +01:00
Francois Gouget
a323238301
d3d8: Remove spaces before '\n', spelling fix.
2006-02-24 21:07:47 +01:00
Roderick Colenbrander
3da999a1f7
d3d8: Move texturing code over to wined3d (based on Oliver Stieber's work).
2006-02-20 11:11:35 +01:00
Roderick Colenbrander
4e4fc93645
d3d8: Move d3d8 surface over to wined3d (based on the work of Oliver Stieber).
2006-02-14 17:13:19 +01:00
Roderick Colenbrander
a874487f95
d3d8: fbconfig fix.
...
Right now the ActiveRender code in D3D8 requests a GLX_DEPTH_SIZE of
32 in case the direct3d color format also has a depth of 32. As
verified on various linux drivers (Ati fglrx, Ati (dri) and Nvidia)
the color depth needs to be 24. This patch sets the depth to 24 and it
fixes bugs in 3dmark2001 and other programs.
2006-02-07 16:51:08 +01:00
H. Verbeet
e9c3f601ea
d3d8: Use GL_EXTCALL to call OpenGL extension glPointParameterfvARB.
2006-02-05 12:19:13 +01:00
Vitaly Budovski
d68f7a68c0
d3d8: Fixed point sprite scaling when size < 1.0f.
2006-02-04 17:14:38 +01:00
Vitaly Budovski
ecacc1ebcb
d3d8: Fixed POINTSPRITEENABLE.
2006-02-04 17:14:13 +01:00
Vitaly Budovski
80c82f527f
d3d8: Fixed POINTSCALEENABLE.
2006-02-04 17:13:13 +01:00
H. Verbeet
ac16181790
d3d8: For render states D3DRS_POINTSPRITEENABLE and
...
D3DRS_MULTISAMPLEANTIALIAS, use GL_SUPPORT correctly.
2006-01-23 11:26:25 +01:00
Vitaly Budovski
624efed78e
d3d8: Render state additions.
...
Implemented D3DRS_EDGEANTIALIAS.
Implemented D3DRS_POINTSPRITEENABLE.
Implemented D3DRS_MULTISAMPLEANTIALIAS.
2006-01-17 15:58:43 +01:00
Francois Gouget
0edbaf7e80
Remove spaces before '\n' in traces.
2005-11-10 12:14:56 +00:00
Raphael Junqueira
74c6321a15
- defined D3DCOLOR_B macros to access byte values of D3DCOLOR
...
- use D3DCOLOR macros instead of using shift + masks
- fix a bug where diffuse.lpData checked instead of specular.lpData
- implement color fixup on ARB VShader compilation code:
-> on input parameters using swizzle
-> add is_color parameter on vshader_program_add_param
2005-11-03 09:54:31 +00:00
Oliver Stieber
009cc4e403
Release the OpenGL context when the device is released.
2005-10-27 12:08:00 +00:00
Oliver Stieber
9c676e6c19
Changed index and vertex buffer so that internal references are
...
counted separately to external ones.
2005-10-27 10:23:41 +00:00
Oliver Stieber
bda8a5c08a
Allow cube textures to be updated.
2005-10-13 13:44:03 +00:00
Mike McCormack
ebf4e53030
Fix sign warnings.
2005-07-28 10:16:54 +00:00
Stefan Huehner
190e1597ff
Fix some missing-declarations warnings.
2005-07-14 12:19:53 +00:00
Francois Gouget
28dc5a8afc
Assorted spelling fixes.
2005-07-11 10:59:41 +00:00
Dmitry Timoshkov
4625628e67
Make some of the OLE interface vtables const.
2005-05-27 20:17:35 +00:00
Francois Gouget
93416cdaf7
Assorted spelling fixes.
2005-03-23 13:15:18 +00:00
Carlos Lozano
b10ba61112
Check that pstream is not null.
2005-02-08 12:10:57 +00:00
Paul Vriens
7a49e82dac
- use Interlocked* functions in AddRef and Release.
...
- store the result of the Interlocked functions and use only this.
2005-01-24 11:31:45 +00:00
Michael Stefaniuc
5ad7d858e0
Do not check for non NULL pointer before HeapFree'ing it. It's
...
redundant.
2004-12-23 17:06:43 +00:00
Alexandre Julliard
ebe3c529b1
Janitorial: C booleans must not be compared against TRUE.
2004-12-09 14:07:59 +00:00
Eric Pouech
0a258964c2
Const correctness fixes.
2004-11-30 21:38:57 +00:00
Jason Edmeades
eba27af4f1
Add Get/Set Transform support, plus BeginScene (does nothing).
2004-11-28 15:04:41 +00:00
Jason Edmeades
b9e2bedac1
Copy and tidy up the code from dx8 create device into wined3d. Call
...
from wined3d and d3d8, but short term only use the code for real from
d3d9.
2004-10-08 20:52:33 +00:00
Alexandre Julliard
f5f7a1822c
Removed some more uses of the non-standard ICOM_THIS macro.
2004-09-08 01:50:37 +00:00
Hans Leidekker
fe442b21f7
Fix signed/unsigned comparison warnings.
2004-09-08 01:23:57 +00:00
Alexandre Julliard
f714b39762
Get rid of the no longer used ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
...
macro.
2004-08-23 19:39:48 +00:00
Alexandre Julliard
48c4bb3c31
Get rid of the non-standard ICOM_VTABLE macro.
2004-08-12 23:00:51 +00:00
Raphael Junqueira
ac6f401056
- fix version string
...
- some fixes to ATI specific paths of set_tex_op (Christian needs to
complete it)
- fix use of GL_SUPPORT(NV_TEXGEN_REFLECTION). I have used the wrong
define, I'll get a brown paper bag :(
2004-06-14 16:57:41 +00:00
Raphael Junqueira
40dd9692d9
- first draft of D3DCLIPSTATUS8 handling (not really used for now)
...
- add a new DEBUG_SINGLE_MODE #define (for debug caps needs)
- better traces for surface dumping
- much better Texture support on Utilities functions and on
CheckDeviceType
- D3DRS_ZVISIBLE as unsupported (as seen in msdn)
2004-05-19 04:33:42 +00:00
Christian Costa
a967e7755e
Fixed W buffer handling.
2004-05-10 21:24:21 +00:00
Christian Costa
0f7b0a089b
Implemented pixel shaders using ARB_fragment_program extension.
2004-05-10 19:57:51 +00:00
Francois Gouget
9f1aea2fb8
Assorted spelling fixes.
2004-05-05 01:09:24 +00:00
Alexandre Julliard
ac7b9451f7
Authors: Christian Costa <titan.costa@wanadoo.fr>, Jason Edmeades <us@the-edmeades.demon.co.uk>
...
Fixes for rendering targets.
2004-05-02 04:22:31 +00:00
Raphael Junqueira
d52c5080cf
- Fix compilation again using olders GL headers
...
(glCompressedTexImage2DARB problem).
- Fix typo on constant.
- Detection of NVidia texture_shader and register_combiners
extensions.
- Begin to implement BUMPMAPPING using NVidia Texture shader extension
(not really working for now).
2004-04-29 00:20:18 +00:00
Christian Costa
15ccb11ea5
Implemented fast rendering to a texture using glCopyTexImage2D
...
Fixed SetViewport.
Fixed SetRenderTarget (based on Jason Edmeades' work).
Improved trace.
2004-04-26 23:34:17 +00:00
Marcus Meissner
3795a08149
Fixed some strict aliasing issues in dlls/d3d8.
...
Incorporated bugfix from Christian Costa in vshader_expp.
2004-04-26 20:15:02 +00:00
Raphael Junqueira
b4a37991ef
- implement SetRenderState D3DRS_FOGENABLE/D3DRS_RANGEFOGENABLE
...
- implement SetRenderState D3DRS_RANGEFOGENABLE
- fix SetRenderState D3DRS_FOGVERTEXMODE Caps/Detection traces
- fix IDirect3D8::GetAdapterIdentifier to use FillGLCaps and provide
more exact infos (driver versions, vendor, ...)
- split Fake GL Context creation from GetDeviceCaps for external use
- add a new channel (d3d_caps) for all IDirect3D8 Caps/detection traces
- rename fps channel to d3d_fps
- high use of runtime detected OpenGL Caps instead of defines
- update supported Caps using runtime detection
2004-04-26 20:12:28 +00:00
Raphael Junqueira
c87fd95f1f
- fix the SetTextureStageState for D3DTADDRESS_MIRROR using dynamic GL
...
detection (and not build time GL headers)
- add a new debug channel for hardware vertex shaders
- hardware VS "compiler" fixes:
-> special case for address registers (MOV must be replaced by ARL)
-> add line numbers to trace (better to find why NVidia drivers complains)
-> one parse to determine temporary and address registers needs
(@todo: check GL limits)
-> remove duplicate traces from Generic ParseProgram
2004-04-19 23:04:58 +00:00
Alexandre Julliard
4f56863300
Authors: Jason Edmeades <us@the-edmeades.demon.co.uk>, Christian Costa <titan.costa@wanadoo.fr>
...
Added support for vertex shader (using ARB_vertex_program extension).
2004-04-15 23:58:15 +00:00
Raphael Junqueira
114c9077d6
- more Extensions work (begin to detect ATI extensions)
...
- try to fix D3DTADDRESS_BORDER, D3DTADDRESS_MIRROR,
D3DTADDRESS_MIRRORONCE using OpenGL extensions
- better set_tex_op: now use Runtime Extension support (and not
compile support)
2004-03-30 05:14:57 +00:00
Raphael Junqueira
9fb52e7716
- support of D3DTSS_MAXMIPLEVEL
...
- support of D3DTSS_MIPMAPLODBIAS (using EXT_TEXTURE_LOD_BIAS extension)
- correct support of D3DTSS_MAXANISOTROPY for D3DTSS_MAGFILTER and
D3DTSS_MINFILTER
- fixes for D3DTSS_MAGFILTER and D3DTSS_MAGFILTER
2004-03-27 20:42:14 +00:00
Ofir Petruska
fe334f7e20
Keep the checkGLcall glActiveTexture/glActiveTextureARB separation in
...
all the file.
2004-03-23 23:13:56 +00:00
Ofir Petruska
4a8f7b23ad
Define EXTRA_TRACES instead of #if 0.
2004-03-23 23:02:10 +00:00
Christian Costa
2616b57533
AddRef texture only if there is one for the requested stage.
2004-03-20 02:33:00 +00:00
Francois Gouget
ad5ff7ceeb
Assorted spelling and case fixes.
2004-02-09 22:07:42 +00:00
Francois Gouget
640cc3f3e1
Assorted spelling fixes.
2004-01-06 22:08:33 +00:00
Jason Edmeades
61608b71fc
If swap mode is discard, clear the backbuffer before moving onto the
...
next frame.
2003-11-17 20:04:30 +00:00
Raphael Junqueira
63c1093f24
- stupid typos fixes on software vertex shader operands
...
- CopyRects fix (problem in error paths) based on Carlos Lozano patch
2003-11-11 00:43:51 +00:00
Carlos Lozano
d970c097f4
Check that we don't write out of the defined range of palettes.
2003-11-04 04:17:28 +00:00
Jason Edmeades
2b832f11a5
Make support for CopyRects to a small area of the back buffer, and
...
correct the general method of updating the back buffer.
2003-10-31 04:15:07 +00:00
Jason Edmeades
ef8a634cb4
Clear should not be affected by write masks.
2003-10-31 03:35:43 +00:00
Jason Edmeades
ef65d2a6a6
ColorWriteEnable should not impact clearing the screen.
2003-10-31 00:09:07 +00:00
Jason Edmeades
0b37bf74b9
CopyRects (per rect) copied one too many lines, trashing the heap.
...
Also tidies up scissor test from previous patch.
2003-10-30 23:24:44 +00:00
Jason Edmeades
c922278bfa
Culling to different viewports failed as clearing the whole viewport
...
cleared the screen.
2003-10-30 23:05:09 +00:00
Jason Edmeades
14231aa83b
Correct writing to back buffer in non-ortho mode, and ensure the line
...
stipple is passed correctly to enable proper wireframe support.
2003-10-30 22:46:29 +00:00
Jason Edmeades
06fd1e25f7
Minor fixes - Remove light debug statements, handle disabled specular
...
material properly, release surfaces when debugging and clean up trace
a little.
2003-10-03 03:35:53 +00:00
Jason Edmeades
8b2c10bcd4
MaxActiveLights means number of concurrent lights, but any number can
...
be set up. Change support for lights into a linked list and only set
up an equivalent gl light when the light is enabled.
2003-09-30 00:21:07 +00:00
Jason Edmeades
ce85a90538
DXTn format has odd mipmap levels in that the space allocated for
...
small levels needs a lot of padding.
2003-09-19 04:02:35 +00:00
Jason Edmeades
7ac9d258c3
GL doesn't like incorrect lengths passed into DXTN processing.
2003-09-19 00:20:19 +00:00
Alexandre Julliard
e37c6e18d0
Fixed header dependencies to be fully compatible with the Windows
...
headers (with help from Dimitrie O. Paun).
2003-09-05 23:08:26 +00:00
Jason Edmeades
beb4ac8fe1
DXT1/3/5 support was broken, but unnoticeable since we also indicated
...
it wasn't supported.
2003-08-15 03:50:08 +00:00
Jason Edmeades
d8b2109e61
Only reapply the texture states necessary when a different texture
...
gets bound to the same texture unit.
2003-08-05 19:18:58 +00:00
Jason Edmeades
2ec3bbccc1
glColorMaterial enable/disable setup is only done when really necessary.
...
If glColorMaterial is set to track current color and none is supplied,
it gets disabled.
glMaterial is reset when I think it is necessary.
Slow mode now has defaults for when fvf parms are not supplied (as per
fast mode).
Slow mode now sets up the specular color (forgot that bit previously,
I think!).
Trace now lists the front, back and stencil buffers for ease of
debugging.
2003-08-05 18:29:20 +00:00
Jason Edmeades
564f5828b0
Add fps debug channel, so we can see how the d3d code is performing and
...
their impact of performance changes.
SetTransform almost rewritten in a much neater way, and in
coordination with drawprim it significantly reduces the number of
times that we reload the matrixes.
2003-07-19 03:02:42 +00:00
Alexandre Julliard
d09b2b988a
Warning fix.
2003-07-15 20:52:21 +00:00
Jason Edmeades
021604c600
Implement UpdateTexture for 2D textures only.
...
Handle alphaop disabled but color op not-disable in a more appropriate
way (Docs say this is an illegal state and then proceed to use it).
Trace out textures as they are created.
Update the comments around the debug code and complete the debugging
set so textures which are used in the game can also be viewed.
2003-07-03 18:10:22 +00:00
Raphael Junqueira
44edc0c0ec
- dsound and d3d works better when x11drv locks/unlocks are correct
...
- more traces
2003-06-18 03:17:42 +00:00
Jason Edmeades
21a092816a
Fix the texture operations to resolve glitches shown in UT2003 when
...
get quad damage.
checkGLcall must not supply a \n as that is supplied by its
expansion.
Performance fixes to save applying the same states 6 times and to
reduce function calls when accessing front/back buffers.
Make traces more readable by more constants -> english descriptions.
2003-06-13 19:14:34 +00:00
Jason Edmeades
3cf874bb04
Make the fixed function pipeline support multiple streams for created
...
vertex shaders with no function supplied. Also split down draw
primitive along the lines of the d3dcore requirements and put in some
diagnostic aids.
2003-06-13 18:09:05 +00:00
Raphael Junqueira
85aa298ad2
Fixed compilation problems.
2003-06-06 18:12:59 +00:00
Raphael Junqueira
e4882b1548
- cleaning of volume.c/volumetexture.c as done previously for
...
surface.c/*texture.c (with add of lockable, locked and Dirty flags)
- add of dirtyRect/dirtyBox for better dirtification management (not
used yet, but huge optimisation can be possible now)
- fix some debug traces (well it's better to use debug_d3dpool)
- fix some stupid regression on point parameters (forgot to check
extension on fillcaps)
2003-06-04 23:05:46 +00:00
Raphael Junqueira
713013a978
- add a new private header d3dcore_gl.h that declares needed opengl
...
defines and the caps defines
- cleanup of device.c using the caps defines (avoid the #ifdef
nigthmare)
- add {Set,Get}GammaRamp support
2003-06-04 23:01:49 +00:00
Raphael Junqueira
24be30657d
- some cleanup and warning fixes
...
- split of CreateDevice gl/gxl detection code into FillGLCaps
- implementation of resolution change (using ChangeDisplaySettings)
but desactived as ChangeDisplaySettings don't seem to work well
- begin of swap chain support (now need to split/clean
gxlpbuffer/glxpixmap code for swap chain use)
2003-06-04 22:55:19 +00:00
Raphael Junqueira
b050a3dbf1
- pixel shader program dump code
...
- pixel shader code split into a new "COM object" (as done before for
vertex shader)
- some fixes on Validate* functions call types
- add pixel shader (ie fragment_program) detection on caps code
2003-06-04 22:45:57 +00:00
Jason Edmeades
3d51c865d4
Add support for a lot of the remaining texture ops, move code into the
...
utils module, and clean up the main code path.
2003-06-04 22:20:47 +00:00
Raphael Junqueira
0b5e9d9feb
- some cleanups
...
- more cubetextures fixes (now d3d8 sdk cubemap sample work almost
perfectly)
- add a new debug function "debug_d3dpool" and use it
- add a new param (the device) for the conversions functions (because
we need to check caps to see how to convert)
- some crashes fixed in render to surface code with no stencil-depth
surface
- a very simple cliplane fix
- a stupid palettes fix (stupid language)
- begin of anisotropic filter support
- begin of compressed textures support
- a very useful debug functions: IDirect3DSurface8Impl_SaveSnapshot to
dump surfaces as png ;)
- many useful surfaces debug code (using SaveSnapshot)
2003-06-04 22:12:34 +00:00
Jason Edmeades
4e3100825f
Correct specular enable renderstate.
2003-06-04 22:04:44 +00:00
Jason Edmeades
2eaf05bfd5
Avoid the use of glGet when we know the information locally.
2003-06-04 22:02:06 +00:00
Raphael Junqueira
3cae8cfa69
- implemented render to surfaces (and render to new rendertargets)
...
using glx pbuffers (with a useful debug code to display rendered
surface into window drawable)
- better cubetextures
- split utilities functions into utils.c and added more
- more readable debug again
- a better caps code (not perfect but i'll use glx code later)
- use of the new caps code
- begin of UpdateTexture
- begin of Cursor support
- cleaning most of deprecated #if 0/#endif
- correct some lockable/unlockable behavior
- correct some returns code
2003-06-04 21:55:29 +00:00
Jason Edmeades
350aa2dcc4
Fill in lots of unimplemented render states.
2003-06-04 20:10:43 +00:00
Jason Edmeades
7f53bb8f8c
Avoid setting and resetting the same values when there are many
...
rectangles.
2003-05-22 03:35:24 +00:00
Raphael Junqueira
9489f8bdc0
- mor usefull debug functions debug_d3dusage and debug_d3ddevicetype
...
- fix a crash in pixel shader parser (happened with unreal2)
- currently desactive pixel shaders caps (with #define) while hw
shaders code isn't merged
- when we have a special debug channel for shader, use it ;)
- fix again some stubs return value
- more more readable traces now (principaly IDirect3D8 capacities
check and surface locking code) using new debug functions
- fix/cleaning the surface locking code
- now we support D3DTOP_SUBSTRACT so declare it in caps
- now support true 32bit (well X 24 bit can be used as 32 bit in caps
code)
- first try to get D3DTSS_TCI_CAMERASPACENORMAL and
D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR look good
- native support 32 bit support (now application can choose 16 or 32
bit support) if current resolution is 24 bit (as we can only launch
games in windowed mode)
- textures palettes support
- fix reflexion placement code (the sdk sample begin to work)
- fix a stupid crash when using traces in vshaderdeclaration
- more more readable traces (init/caps)
- more cubetextures fixes
2003-05-17 18:33:02 +00:00
Jason Edmeades
ae004ab312
Implement texture transform flags the best we can for now.
2003-05-16 20:11:14 +00:00
Jason Edmeades
c71eba90fe
Fixed range checking on the number of lights.
...
Silence the fixmes.
2003-05-16 00:04:07 +00:00
Jason Edmeades
575dbfa769
Supply the correct box on the screen to be processed during the clear
...
call, using opengl coordinates, not directx coordinates.
2003-05-15 23:14:33 +00:00
Jason Edmeades
f8f7cdf0e8
Solved the transparency problem seen in the ClipMirror SDK sample
...
properly. Also a few tabs->spaces to correct formatting.
2003-05-15 22:56:10 +00:00
Raphael Junqueira
3385990368
- declare a new debug chanel for vertex shaders
...
- some useful debug functions for textures format
- correct DrawPrimitive (RHW correctness and vshader RHW)
- more copyrects fixes (only two unimplemented behavior remain)
- fix GetFrontBuffer to get screenshots samples working
- add D3DCOLORTOGLFLOAT4 and use it
- first try of D3DRS_FOGTABLEMODE support
2003-05-14 19:33:35 +00:00
Jason Edmeades
ec2f96151f
Make sure the viewport is from the GL (bottom left) not the DirectX
...
(top left).
2003-05-14 00:00:12 +00:00
Jason Edmeades
fe30ce3444
Properly support texture coordinate indexes.
2003-05-13 23:51:58 +00:00
Jason Edmeades
9c34f04e1e
CopyRects needs to lock the area it is copying to (esp. if that area
...
is the back buffer, as locking/unlocking causes glread/draw pixels).
2003-05-13 23:39:53 +00:00
Raphael Junqueira
eb36d31d6f
- surface pool init fixes
...
- minor indentation and traces fixes
- fix locking/unlocking/dirty behavior (dirtify on lock) +
optimisations (only copy when dirty)
- fix IDirect3DDevice8::Clear behavior (problem seen after a
locking/unlocking code error)
- begin to fix volume and cube textures management
2003-05-12 03:10:27 +00:00
Raphael Junqueira
89ec35fe43
- minor COM fixes (fixes some crashes on stupid games)
...
- minor indentation changes
- fix SELECTARG2 behavior (with help from Lionel Ulmer)
- surface locking/unlocking (only rendering and textures surfaces
supported now)
- beginning of Target/Front surface support
- try to get D3DTOP_SELECTARG_* working
- implemented D3DTOP_SUBTRACT: currently only if OpenGL1.3 is used, we
have to use GL_SUBTRACT_ARB for other versions
2003-05-11 03:35:27 +00:00
Raphael Junqueira
18af8d8611
- Disable some 'classic' debug traces (avoid useless flood of traces
...
while debugging games).
- Fix the texture size caps using GL_MAX_TEXTURE_SIZE.
2003-05-08 17:36:00 +00:00
Jason Edmeades
8534f79124
- Move texture loading into PreLoad for 2D textures (needs doing for
...
the others as well), and call when needed as well.
- Change D3DFMT_R5G6B5 handling to make backdrop of Max Payne appear.
- Add code to reject attempts to use invalid texture units (Max Payne
did this a lot).
- ValidateDevice fixme silenced as harmless but occurs frequently.
- Add trace which can be compiled in to debug vertex shaders, and
correct fixmes and dprintf's into appropriate trace statements.
- Ensure we trace what we return when querying the device caps.
- Correct bug with negative numbers in vertex shader code.
2003-05-08 03:49:04 +00:00
Jason Edmeades
5ba50508ff
Add support for MultiplyTransform (helps make the SkimmedMesh SDK
...
sample look better).
2003-05-06 00:19:11 +00:00
Jason Edmeades
cb677f6388
Add the beginnings of support for texture coordinates.
2003-05-06 00:15:49 +00:00
Jason Edmeades
e0d2fb6779
Only reapply the world, view or projection transform changes if we
...
really have to.
2003-04-21 23:53:03 +00:00
Jason Edmeades
9fdc759b90
MIRROR_ARB support is not dependent on OpenGL 1.3 as I originally
...
ifdef'ed. It is apparently introduced fully in 1.4, or dependent on
another ifdef, GL_ARB_texture_mirrored_repeat.
2003-04-21 23:29:39 +00:00
Jason Edmeades
b830439bf5
Don't reapply all the texture states if the texture we are replacing
...
is the same as the texture there already and the texture is not
'dirty'.
2003-04-21 23:20:51 +00:00
Jason Edmeades
53391ac33f
DOT3 isn't there on earlier opengl versions.
2003-04-21 22:37:48 +00:00
Jason Edmeades
55e85807f8
Add DotProduct3 support if supported by opengl.
2003-04-19 20:30:58 +00:00
Jason Edmeades
2a7f46d0b4
Make codesampler texture addressing mode sample work better.
...
Add mirrorsupport (if opengl 1.3) and make clamp and border appear
more similar to Windows.
2003-04-19 20:08:14 +00:00
Christian Costa
7f1250e5cf
Handle creation of a depth/stencil buffer when creating a device.
...
Implement IDirect3D8DeviceImpl_GetDepthStencilBuffer.
2003-04-17 02:16:07 +00:00
Raphael Junqueira
92155f158f
- Defer of IDirect3DVertexShader_SetConstant, waiting for
...
DrawPrimitive call.
- Beginning of VertexShader constants support into stateblock (only
stored, not captured yet).
- Fix compiation with nivdia GL/gl.h and mesa Gl/glext headers as
reported by Andrew John Hughes.
- One glActiveTexture/glActiveTextureARB missing.
2003-01-30 00:18:27 +00:00
Raphael Junqueira
4b0297d894
Some needed cleanups for future dx9 and d3d common layer support:
...
- stateblocks to IDirect3DStateBlockImpl interface and moving into
a new file (stateblock.c)
- shaders to IDirect3D*ShaderImpl interfaces
- splitting vshader and vshader declaration as in dx9 into 2
interfaces (for future common layer use)
- vshader declaration code to a new file (vsaderdeclaration.c)
- device calls to new interfaces (redirect stubs)
Simple texture fix for a little regression after last Jason's patches.
Some caps code using the GL/glext.h defines (GL_VERSION_*).
2003-01-28 01:12:23 +00:00
Jason Edmeades
aaa68a32f7
Add support for color material sources, with help from Lucho.
2003-01-24 00:48:10 +00:00
Jason Edmeades
5840a1bffc
Use device max lights and clipplane support. Also change clipplane to
...
be affected by view matrix.
2003-01-23 22:38:51 +00:00
Alexandre Julliard
f8aa3b506c
Added -Wpointer-arith gcc flag, and fixed the resulting warnings.
2003-01-23 21:32:35 +00:00
Jason Edmeades
b4a3f1dc68
Ensure using correct args during complement texture operations.
2003-01-21 00:41:32 +00:00
Jason Edmeades
ffd4fd517e
Restore the texture env mode on SetTexture - Fixes problem in
...
codesampler demo.
2003-01-21 00:30:27 +00:00
Jason Edmeades
f5885defc9
Only reload the mipmap images when dirty.
2003-01-20 23:23:41 +00:00
Raphael Junqueira
9e43683316
- beginning of vertex matrix blending using extensions (currently
...
alpha alpha stage as i haven't understand needed extension behavior)
- modify SetRenderState for matrix blending specific params
- by default diffuse color is white ;)
- comments most of the traces (else flood ...)
- add more urls in comments
- indent, cleanups
2003-01-14 23:12:37 +00:00
Raphael Junqueira
72fb7acf8d
Beginning of more COM compliant behavior:
...
- AddRef/Release where needed
- use IUnknown* instead void*
- fix many GetDevice using AddRef
- fix IDirect3DSurface8Impl_GetContainer using QueryInterface
2003-01-14 23:05:39 +00:00
Jason Edmeades
7472d72e03
Copyrect should flag destination texture as dirty, to force it to be
...
reloaded.
2003-01-14 22:53:50 +00:00
Jason Edmeades
bcb05fd43e
Add support for some of the texture address states and border colour.
2003-01-14 22:50:00 +00:00
Raphael Junqueira
6b03dd5c85
- move input and output data in VertexShader struct
...
- better traces
- specific input data filling function for vertex shaders using vertex
shader declaration (and not FVF ... maybe FVF will return for fast
path with simples vertex shader declarations)
- huge vertex shader fixes:
- add and fix many vs (1.0->2.0) used opcodes in complex shaders
- improvements to programs parser: parse comments, version, ..
- add a vertex shader input filler function (parsing vertex shader
declaration): almost complete
- comments most of the traces (else flood ...)
- add more urls in comments
- indent, cleanups
2003-01-14 20:29:33 +00:00
Jason Edmeades
cf5c35bc81
Calculate starting position for a copyrect correctly.
2003-01-09 06:02:39 +00:00
Dan Kegel
0fd521fee3
Change RECT to use LONG to match win32 standard headers and fix format
...
strings to use %ld for RECT elements.
2003-01-08 21:09:25 +00:00
Dimitrie O. Paun
297f3d898d
Define NONAMELESS{STRUCT,UNION} explicitly in the files that need them.
2003-01-07 20:36:20 +00:00
Jason Edmeades
850a9429db
Added basic support for mipmaping, verified using sample from
...
codesampler.com.
2003-01-03 21:28:05 +00:00
Jason Edmeades
3d1b725900
- Use faster vertex arrays (rather than processing vertexes one by
...
one), whenever possible.
- Less trace in the slower form by default.
2003-01-03 21:25:42 +00:00
Raphael Junqueira
559b10699f
- integration with DrawPrimitive
...
- remove non-esthetic c++ comments into c comments block ;)
- more more debug
- indent, cleanups
- trying to use DIFFUSE and SPECULAR for vertex shader
- many fixes
- integration with Jason's texture patch
2003-01-02 17:59:01 +00:00
Jason Edmeades
13ee7cd154
Query opengl to ensure it supports multitexture, and honour the number
...
of supported texture units. Especially important for NVidia drivers
which only support 2 texture units.
2002-12-23 01:34:59 +00:00
Raphael Junqueira
1df8f18e46
- some fixes in CreateDevice init
...
- vertex shader declaration parser (with output dump) and
interpretation (generate the FVF descriptor for program input)
- vertex shader program parser (with output dump)
- software vertex shader program emulation
2002-12-18 05:05:41 +00:00
Jason Edmeades
a4224fe28d
The simple bits of fog.
2002-12-17 04:14:34 +00:00
Raphael Junqueira
e31ae92630
- some D3D8 fixes
...
- beginning of shaders support (Vertex and Pixel Shaders 1.1 on
DirectX8)
- beginning of D3DX8 support the D3D8 utility API (very basic, only
the core header)
2002-12-17 01:15:15 +00:00
Jason Edmeades
2aff85c9c8
Thanks to Lucho, text support in samples now starts to
...
appear. Textures now saved in state blocks, and correct FVF's used for
drawing.
2002-12-13 20:25:59 +00:00
Jason Edmeades
fcb753ee26
- Fix bug in multitexturing introduced during dummy texture changes.
...
- Additional traces.
2002-11-12 02:14:13 +00:00
Jason Edmeades
ca6bcdcc99
- Stencil mapping now works (it helps to actually allocate a stencil
...
buffer).
- Texture mapping corrected if no real texture bound.
- Code now detects which opengl extensions are present - to be
extended later.
- More debug tracepoints.
2002-11-06 19:56:32 +00:00