Oliver Stieber
329d017db3
Start to implement TestCooperativeLevel.
2005-09-21 10:55:03 +00:00
Oliver Stieber
0c2fcf2efe
Added support for state management of vertex shader constants via
...
stateblocks.
2005-09-21 10:19:29 +00:00
Oliver Stieber
5ea96a851f
Implemented occlusion queries using either GL_ARB_occlusion_query or
...
GL_NV_occlusion_query.
2005-09-21 09:43:13 +00:00
Oliver Stieber
7df17cecce
Stop vertex shader constants from being set at the same time as the
...
vertex shader when a stateblock is applied.
2005-09-19 14:30:34 +00:00
Oliver Stieber
f7413fd63f
Implemented point sprites using ARB_POINT_SPRITE extension.
2005-09-03 09:36:48 +00:00
Oliver Stieber
55124ec05e
Added the tracking of stream frequency and flags. Stream flags and
...
frequency aren't handled at the moment.
2005-09-02 11:17:17 +00:00
Oliver Stieber
33b2c1fd3c
Added support for DXT2 and DXT4.
2005-08-29 12:20:02 +00:00
Oliver Stieber
f1a2ee521d
Implemented IWineD3DDevice_GetRenderTargetData.
2005-08-29 10:15:47 +00:00
Oliver Stieber
42eff0f92b
Moved GetRasterStatus from device to swapchain.
2005-08-27 09:58:53 +00:00
Oliver Stieber
2af36c646e
Implemented stubbed out pixel shaders and their states in wined3d.
2005-08-25 19:24:21 +00:00
Oliver Stieber
3f24b9164d
Fix quite a few texturing problems and cases where text isn't being
...
correctly displated.
2005-08-22 10:07:10 +00:00
Oliver Stieber
45033446bb
Tidy up some formatting, improve error handling and error logging and
...
fix a couple of spelling mistakes.
2005-08-22 09:13:49 +00:00
Oliver Stieber
1be54d8b79
Integrate hardware vertex shaders into the drawing pipeline.
2005-08-19 10:05:00 +00:00
Oliver Stieber
2c0e97e641
Copy the parser and cross compiler from d3d8 and update everything to
...
vertex shaders 3.0.
The Parser will now display the input shader in DirectX style, and the
cross compiler now generates valid ARB_VERTEX_PROGRAM programs and
outputs the result in ARB_VERTEX_PROGRAM style.
Support for a number of extended attributes has been added, but this
may not be complete, and dereferencing from loop counters isn't
properly parsed yet.
2005-08-17 11:34:03 +00:00
Oliver Stieber
9b0b803b47
Add support for vertex shader constants to the stateblock.
2005-08-17 10:27:01 +00:00
Francois Gouget
bcd56fe0e5
Assorted spelling fixes.
2005-08-12 18:22:06 +00:00
Oliver Stieber
2e851544dd
Allow the palette to be set and retrieved.
2005-08-11 10:57:20 +00:00
Oliver Stieber
313b01073c
Track the state of softwareVertexProcessing.
2005-08-11 10:31:40 +00:00
Oliver Stieber
e31bc6cea4
Moved support for non power 2 texture to hardware.
...
Fix for the texture state separation patches, ApplyTextureStates is
now called instead of being commented out.
2005-08-03 19:49:05 +00:00
Oliver Stieber
bb6f9b022b
Move the setting of states from device to basetexture, states that
...
relate to the opengl texture object will only be updated when they are
out of sync, this reduces the number of texture object state changes
during game play in Axis and allies from several hundreds to 0 or 1.
2005-08-03 11:00:28 +00:00
Oliver Stieber
d344162f41
Separate the setting of the DirectX texture and sampler states from
...
the setting of OpenGL states (now in applyTextureStateState and
applySamplerState).
2005-08-01 10:58:31 +00:00
Oliver Stieber
5615513877
Separate the management of DirectX states and openGL states.
2005-08-01 09:20:55 +00:00
Oliver Stieber
cc884e0ae6
Validate that the texture is no larger than the graphics cards largest
...
supported texture.
2005-07-30 19:05:58 +00:00
Mike McCormack
c6602b406b
Signed warning fixes.
2005-07-28 18:33:26 +00:00
Oliver Stieber
c93da09265
Changed swapchains held by the device from an array to a linked
...
list. Also provide a notification function that that the swapchain can
be removed when it is released.
2005-07-27 15:33:17 +00:00
Oliver Stieber
052d108bf5
DirectX uses a R/Z transform to translate a texture but under OpenGL a
...
Q transform must be used instead.
2005-07-26 20:01:29 +00:00
Oliver Stieber
52b5842f70
Remove a load of IWineD3DSurface * casts that are no longer required.
2005-07-26 18:56:18 +00:00
Oliver Stieber
7cb748fed2
Makes sure any internal reference counting is passed onto the parent,
...
any objects referenced by the internal stateblock are released when
the stateblock is released (we don't reference count while a
stateblock is recording, so recorded stateblocks have no references to
clean up).
2005-07-26 18:49:30 +00:00
Oliver Stieber
ea6189e04b
Implement resource tracking, require for reset and evict managed
...
resources and provides extra sanity checks.
2005-07-26 10:34:15 +00:00
Francois Gouget
bd19d67ad1
Assorted spelling fixes.
2005-07-22 09:06:03 +00:00
Oliver Stieber
948563267e
Implement the use of PBuffers for offscreen textures.
2005-07-19 11:39:24 +00:00
Oliver Stieber
7d3ba6f562
Implemented a tidied up IWineD3Device_ColorFill.
2005-07-18 10:32:00 +00:00
Oliver Stieber
e0241349c5
Dirty the surface (instead of the texture) when a render targets is
...
send and endscene is called to make sure that the correct surface is
updated.
2005-07-18 09:07:03 +00:00
Oliver Stieber
41718267be
Fixed a division by 0 in setup_light that occurs with range is zero.
2005-07-15 16:32:25 +00:00
Oliver Stieber
43466542a6
Correct a missplaced #if in IWineD3DDeviceImpl_CleanRender.
2005-07-15 09:57:52 +00:00
Stefan Huehner
190e1597ff
Fix some missing-declarations warnings.
2005-07-14 12:19:53 +00:00
Oliver Stieber
9253e0e39c
Tidy up some comments and formatting.
2005-07-13 14:15:54 +00:00
Oliver Stieber
6a032491d3
Added basic memory management and tracking to wined3d.
2005-07-13 11:34:55 +00:00
Oliver Stieber
9f7e794ca6
Implement UpdateTexture and UpdateSurface in wined3d.
...
Allow NULL members of WINED3DSURFACE_DESC to be set to Surface_GetDesc
so that the whole structure doesn't have to be filled just to get back
one value.
2005-07-12 17:02:47 +00:00
Oliver Stieber
13621056db
Move parameters relating to opengl on the surface structure on to a
...
glDesciption member.
Removed Level and Target from LoadTexture, and reduced the dependency
on surface->device.
Fixed a couple of compiler warnings in d3d9.
2005-07-11 20:38:27 +00:00
Oliver Stieber
520c2f0870
Implemented basic non-power 2 texture in wined3d.
...
Also fixed a typo in drawprim that was causing vertex declarations to
crash.
2005-07-11 14:25:54 +00:00
Francois Gouget
28dc5a8afc
Assorted spelling fixes.
2005-07-11 10:59:41 +00:00
Oliver Stieber
1b578af404
Check to see if the vertex declaration is null before trying to
...
reference it.
2005-07-10 18:16:13 +00:00
Oliver Stieber
3b0b430824
Added support for vertex declarations to wined3d, it's the last patch
...
to give wined3d basic functionality.
2005-07-07 20:45:39 +00:00
Oliver Stieber
8a6799d47d
Implement render targets using either textures, swapchains or
...
standalone surfaces.
2005-07-07 20:35:05 +00:00
Oliver Stieber
abb11f30cd
Implemented stateblocks in wined3d.
2005-07-05 14:05:18 +00:00
Francois Gouget
02c25a8981
Assorted spelling fixes.
2005-06-30 18:19:33 +00:00
Oliver Stieber
18857f1170
Add support for samplers.
...
Switch from using d3d9 constants to wined3d constants so that there's
no recursive dependencies.
2005-06-24 11:53:07 +00:00
Oliver Stieber
e8855c48d8
Make all newly created surfces dirty, so that they are loaded properly
...
the first time around.
Replace some calls to cubetexture in basetexture to calls to
basetexture.
Check that the level isn't out of bounds in calls to texture.
2005-06-23 16:44:19 +00:00
Oliver Stieber
46e7c30a71
Implement swapchains.
2005-06-23 11:05:24 +00:00
Oliver Stieber
e70e3ba0ff
Change the way caps are sent between d3d9/d3d8 and wined3d to make it
...
easier for wined3d to support additional versions of Direct3D.
2005-06-17 09:59:03 +00:00
Felix Nawothnig
2767543be9
- Output a FIXME when a surface with dimensions not being a power of
...
two is requested.
- Fail gracefully when IWineD3DImpl_CreateDevice fails to create the
front- or backbuffer.
2005-06-08 18:34:52 +00:00
Dmitry Timoshkov
eba47f1dfe
Make remaining OLE interface vtables const.
2005-06-06 19:50:35 +00:00
Oliver Stieber
67f2ad4563
- Volume now inherits Resource. This isn't the way Microsoft implements
...
the interface but it is more correct way (Microsoft even have a
resource type of volume).
- Moved usage, format, allocatedMemory and size onto the resource
class structure.
- Refactored Preload for classes that inherit BaseTexture, preload now
binds the texture instead of bind texture calling preload, bindTexture
allocated a glTexture if there isn't one.
- Added two new class static members BaseTexture_CleanUp and
Resource_CleanUp that should be called by classes that implement
BaseTexture or Resource.
2005-03-29 19:01:00 +00:00
Francois Gouget
93416cdaf7
Assorted spelling fixes.
2005-03-23 13:15:18 +00:00
Oliver Stieber
ba5eb14768
Encapsulate texture, surface encapsulated.
...
Added BindTexture, GetTextureDimensions, UnBindTexture.
Proper GetContainer support for surface.
SetContainer added to surface and volume.
SetInPbufferState added to surface (until gl context management is
implemented).
Minor changes:
- BaseTexture no longer 'holds' a reference to IWineD3DDevice to
prevent circular referencing.
- Better managment of referinging for texture.
- Some TODO's for implementing a context manager.
- Better preload implementation.
- Fix compile warning in device.c Set/GetSamplerState.
- Add QueryInterface support for surface.
- Format X8R8G8B8 added to locking.
2005-03-14 10:12:52 +00:00
Oliver Stieber
7b261656fd
Added a stubbed out version of query to d3d9 and wined3d.
...
Update the d3d9 headers and creates wined3d types where d3d9 and d3d8
are incompatible.
2005-03-03 13:57:15 +00:00
Oliver Stieber
16e8689008
Implemented guids for wined3d.
2005-03-02 13:44:58 +00:00
Oliver Stieber
2121f7831e
Put all the stubs in wined3d in place, with some functionality copied
...
across from d3d9.
Make sure all d3d9 device function call their wined3d counterpart (or
perform a function).
2005-03-02 12:16:10 +00:00
Jason Edmeades
6bec623edb
Correct handling of unusual vendor strings in d3d8, and check for a
...
stateblock before trying to release it in wined3d.
2005-02-24 10:05:06 +00:00
Carlos Lozano
b10ba61112
Check that pstream is not null.
2005-02-08 12:10:57 +00:00
Raphael Junqueira
f12d5b243a
- fix typo in wined3d_interface.h
...
- add needed defines in wined3d_interface.h
- add IWineD3DVertexDeclarationImpl_ParseToken9 for debug traces
- fix ParseDeclaration9
- limit flood of traces (single shot traces)
2005-01-27 10:40:57 +00:00
Raphael Junqueira
4c385f981d
- VertexDeclaration device APIs
...
- D3D9 declarations parsing
- a little better APIs (trying to avoid compile problems)
2005-01-26 20:54:00 +00:00
Jason Edmeades
33025b203c
- Handle failures to allocate storage more gracefully.
...
- Only prototype the interfaces which are subclassed (I overdid it
last time!).
- Implement Get/Set Texture and GetBackBuffer, plus device's
GetDisplayMode / GetDeviceCaps.
- Make some of the d3d9 skeleton code issue fixme's to highlight code
which hasn't been migrated yet.
- Correct the d3d9 headers for D3DSURFACE_DESC which caused stack
corruption in demos.
2005-01-18 11:42:29 +00:00
Jason Edmeades
bcecddc084
- Add texture support for all the texture types for d3d9->wined3d.
...
- Add prototypes for the COM interfaces.
- Fix some incorrect types from the last patch.
2005-01-17 13:44:57 +00:00
James Hawkins
11db0ea655
Use only stored result of Interlocked* in AddRef/Release.
2005-01-12 19:50:22 +00:00
Jason Edmeades
41427857b1
Add render target support, and ensure there is a front and back buffer
...
created during device creation.
2005-01-09 17:37:02 +00:00
Francois Gouget
ae8682f277
Spelling fixes.
2004-12-22 15:02:14 +00:00
Francois Gouget
6fb1a20020
Assorted spelling fixes.
2004-12-20 19:27:06 +00:00
Jason Edmeades
c4de952eb5
Add Clear, Present and EndScene support and fix a bug in the drawing
...
code.
2004-12-14 11:54:27 +00:00
Jason Edmeades
2003c7ab11
Add {G,S}etRenderState and {G,S}etTextureStageState support, and
...
ensure the stateblock is fully populated at device startup.
2004-12-13 13:35:38 +00:00
Alexandre Julliard
ebe3c529b1
Janitorial: C booleans must not be compared against TRUE.
2004-12-09 14:07:59 +00:00
Jason Edmeades
f738c146e2
Add {G,S}etIndices, {G,S}Viewport and enable the basic drawing
...
functionality into wined3d and call from d3d9.
2004-12-09 11:42:34 +00:00
Adam D. Moss
880bc9ce9f
Fix compilation.
2004-11-30 21:05:27 +00:00
Jason Edmeades
0a944ae319
Implement Material, Clip plane and Light support plus
...
MultiplyTransform.
2004-11-29 17:53:42 +00:00
Jason Edmeades
eba27af4f1
Add Get/Set Transform support, plus BeginScene (does nothing).
2004-11-28 15:04:41 +00:00
Jason Edmeades
73e8baffd2
Add indexbuffer support into wined3d.
2004-11-24 18:13:41 +00:00
Jason Edmeades
289562eeb5
- Implement SetStreamSource
...
- Ensure wined3d objects maintain a reference count of at least that
of the d3dx version.
2004-11-23 13:52:46 +00:00
Francois Gouget
3bb5b093e8
Assorted spelling fixes.
2004-10-22 22:27:51 +00:00
Jason Edmeades
447d5ed048
Implement the beginnings of the stateblock class, and a first method
...
to use it.
2004-10-21 20:59:12 +00:00
Jason Edmeades
db7a50582c
- Add support (as far as was previously) for the VertexBuffer and
...
Resource classes in wined3d and use when called from d3d9.
- Reduce the header includes in all the d3d9 interface to one common
set in the private header.
2004-10-14 00:32:04 +00:00
Jason Edmeades
ac490fabac
Add a IWineD3DDevice object type (empty for now), and create one when
...
an IDirect3DDevice object is created.
2004-10-07 04:22:21 +00:00