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