Commit Graph

380 Commits

Author SHA1 Message Date
Francois Gouget 9eb81363ad Add trailing '\n's to ok() calls.
Remove spaces before '\n'.
2006-06-16 11:32:42 +02:00
Francois Gouget 11ae0f6386 Assorted spelling fixes. 2006-06-16 11:32:29 +02:00
H. Verbeet 701ce97d65 wined3d: Add and use GL_EXT_fog_coord defines. 2006-06-16 11:29:31 +02:00
Stefan Dösinger 3862f8e3d7 wined3d: Support more than one back buffer. 2006-06-15 16:51:41 +02:00
Stefan Dösinger 5c3c5903a5 wined3d: Correct vertex fog for transformed vertices and correctly
handle non-vertex, non-table fog.
2006-06-15 12:24:09 +02:00
Jan Zerebecki c6449b5a91 wined3d: Move a checkGLcall to it's gl call inside an "if". 2006-06-13 10:51:07 +02:00
Jan Zerebecki 7528fc0de1 wined3d: Fix stencil related render states. 2006-06-13 10:50:55 +02:00
Alexandre Julliard e9cbc66e93 wined3d: Make the virtual table functions static where possible. 2006-06-10 13:15:32 +02:00
Ivan Gyurdiev 621f075fb9 wined3d: Print out sampler state names. 2006-06-10 12:41:54 +02:00
Jason Green b67cda248d wined3d: Add GLSL helper functions to Device.
- Add functions to attach & detach shader objects, create and delete programs, and maintain the list of programs.
- Add a list of GLSL shader programs to the device which is initialized on Init3D(), and deleted on Release().
2006-06-09 15:19:52 +02:00
Ivan Gyurdiev 4d66615bbb wined3d: Fix missing light recording.
Write a light with the default parameters in disabled state if
capturing a missing light.
2006-06-07 15:20:00 +02:00
H. Verbeet 85ec834f7a wined3d: Don't hardcode type sizes for shader constants. 2006-06-07 11:47:46 +02:00
Ivan Gyurdiev 5f5969b3c5 wined3d: Remove constant type field in stateblock.
It is wrong to maintain a mapping from a constant index to a type
field, because different constant types do not share an index -
boolean constant 0 is supposed to co-exist with floating point
constant 0, not replace it. Drawprim and other code using the type
array to decide whether to look up a constant in bools, floats, or
ints is wrong - you can't make that decision based on the index.
2006-06-06 11:58:54 +02:00
Vitaliy Margolen 93fd4c12f8 wined3d: Properly destroy texture object if we failed to create its surfaces. 2006-05-30 12:34:26 +02:00
Stefan Dösinger ebcef4a5f6 wined3d: Do not disable GL_BLEND when alpha blending is active. 2006-05-30 12:23:18 +02:00
Jason Green 0161d6b636 wined3d: Final move of the GLSL registry check (hopefully). 2006-05-27 10:57:32 +02:00
Jason Green cef19b5769 wined3d: Move the GLSL registry check again. 2006-05-26 11:56:11 +02:00
Roderick Colenbrander 54e5f9c465 wined3d: Dynamicly load GL_ARB_multitexture functions. 2006-05-25 20:17:32 +02:00
Stefan Dösinger d5f95961f1 wined3d: Fog fixes. 2006-05-25 10:36:40 +02:00
Stefan Dösinger e18c89b3f4 wined3d: Silence the offscreen surface creation fixme. 2006-05-25 10:35:10 +02:00
Stefan Dösinger 93db443319 wined3d: Color keying emulation. 2006-05-25 10:34:53 +02:00
Stefan Dösinger e902cd119f wined3d: Swapchain and back buffer corrections + tests. 2006-05-24 13:56:55 +02:00
Roderick Colenbrander 9c018fd877 wined3d: Fix ARB_imaging abuse. 2006-05-24 10:52:28 +02:00
Alexandre Julliard 63199ca022 wined3d: Fixed a couple of boolean comparisons against TRUE. 2006-05-24 10:46:06 +02:00
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Stefan Dösinger cfcdb6515b wined3d: Sort of oversized surface support. 2006-05-20 14:06:09 +02:00
Stefan Dösinger ebcbda72c4 wined3d: Allow SYSTEMMEM textures and surfaces. 2006-05-20 14:05:23 +02:00
Stefan Dösinger 566cdcf55c wined3d: Implement IWineD3DDevice::SetDisplayMode. 2006-05-20 14:05:06 +02:00
Phil Costin df3902e6c1 wined3d: Trace output corrections and cleanups. 2006-05-20 13:58:31 +02:00
Stefan Dösinger 7cd41b944b wined3d: Implement IWineD3DDevice::SetFrontBackBuffers. 2006-05-16 12:41:41 +02:00
Stefan Dösinger 34b1482fdc wined3d: Render state additions and fixes. 2006-05-15 14:02:57 +02:00
Stefan Dösinger daa6a3d714 wined3d: Support for single buffering. 2006-05-15 14:02:18 +02:00
Stefan Dösinger 2f724834f8 wined3d: Implement IWineGDISurface. 2006-05-15 14:02:03 +02:00
Stefan Dösinger 9abdac6aaa wined3d: Implement IWineD3DDevice::ProcessVertices. 2006-05-15 13:57:17 +02:00
Ivan Gyurdiev b2d96086e5 wined3d: Set pIndexData to 0 in DrawIndexedPrimitiveUP. 2006-05-11 12:11:55 +02:00
Stefan Dösinger a173c8e35a wined3d: Add IWineD3DDevice::DrawPrimitiveStrided. 2006-05-08 14:51:13 +02:00
Stefan Dösinger 1cfbc903d5 wined3d: Add some surface flags. 2006-05-08 14:50:58 +02:00
Ivan Gyurdiev 07f4f70487 wined3d: QueryInterface corrections. 2006-05-05 20:23:41 +02:00
Ivan Gyurdiev 1e86752812 wined3d: Fix mipmap level count. 2006-04-21 11:35:49 +02:00
Ivan Gyurdiev 74117baa6c wined3d: Correct vtrace usage. 2006-04-21 11:34:31 +02:00
Stefan Dösinger a6f71af021 wined3d: Implement IWineD3DPalette. 2006-04-21 11:28:11 +02:00
Stefan Dösinger 04da3ce2d1 wined3d: Implement GetHWND and SetHWND. 2006-04-19 12:55:03 +02:00
Stefan Dösinger 7fee88df9f wined3d: Implement EnumTextureFormats. 2006-04-19 12:54:32 +02:00
Stefan Dösinger ac964c3b61 wined3d: Implement EnumZBufferFormats. 2006-04-19 12:54:08 +02:00
Stefan Dösinger a6206836e6 wined3d: Implement IWineD3DDevice::EnumDisplayModes. 2006-04-19 12:53:30 +02:00
Stefan Dösinger d04f0507cf wined3d: Implement Init3D and Uninit3D. 2006-04-19 12:43:22 +02:00
Stefan Dösinger 80bdb24cad wined3d: Add the remaining IWineD3DDevice methods. 2006-04-18 11:13:47 +02:00
Stefan Dösinger cff4e1ea4b wined3d: Add IWineD3DPalette. 2006-04-18 11:11:49 +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 076fa811af wined3d: Add a method to change the front and back buffers. 2006-04-17 11:21:22 +02:00
Sagar Mittal 4f986c842f wined3d: Fix null pointer check in IWineD3DImpl_GetPixelShader. 2006-04-14 19:36:48 +02:00
Stefan Dösinger d9cd05db80 wined3d: Add GetHWND and SetHWND methods to IWineD3DDevice. 2006-04-14 10:52:01 +02:00
Stefan Dösinger d2510847b0 wined3d: Split device creation and opengl initialization. 2006-04-13 11:22:45 +02:00
Karsten Elfenbein 59189ba75b wined3d: Combined unhandled renderstate cases into one. 2006-04-12 20:57:26 +02:00
Karsten Elfenbein c90c04607e wined3d: IWineD3DDeviceImpl_Reset cleanup.
Joined the functions as it looks like a typo in the function name
(IWineD3DDeviceImpl_Rest isn't used anywhere but contains comments).
2006-04-12 20:57:16 +02:00
Stefan Dösinger e0c8773199 wined3d: Add a resource dumper. 2006-04-12 12:54:28 +02:00
Stefan Dösinger cf4b91f074 wined3d: Add WINED3DBOX to wined3d_types.h. 2006-04-07 14:55:50 +02:00
Stefan Dösinger 9d67b4287e wined3d: Rename return values from D3D* to WINED3D*. 2006-04-07 14:54:04 +02:00
Stefan Dösinger bbe490abcc wined3d: Add WINED3DLOCKED_RECT to wined3d_types.h. 2006-04-06 22:23:31 +02:00
Stefan Dösinger 63fd9a7a98 wined3d: Add WINED3DTEXTUREFILTERTYPE to wined3d_types.h. 2006-04-06 22:22:35 +02:00
Jan Zerebecki d4fa4f22cb wined3d: CreateDevice should use the root window. 2006-04-04 20:34:47 +02:00
Jan Zerebecki 166b6d861d wined3d: Output unhandled renderstates with debug_d3drenderstate. 2006-04-04 20:31:38 +02:00
Stefan Dösinger be720179b6 wined3d: Add WINED3DCUBEMAP_FACES to wined3d_types.h. 2006-04-04 20:01:10 +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
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 59af5c4a62 wined3d: Move fields common to vertex shaders and pixel shaders to IWineD3DBaseShader. 2006-03-30 21:55:15 +02:00
H. Verbeet d4132cf7d7 wined3d: Move the vshader_ins and pshader_ins arrays into their respective objects. 2006-03-29 13:40:16 +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
Roderick Colenbrander a187ab05c4 wined3d: Don't use OpenGL 2.0. 2006-03-20 22:09:05 +01:00
Roderick Colenbrander bcbf5f397e d3d8/wined3d: Vertex shader fixes. 2006-03-17 13:11:06 +01:00
Stefan Dösinger 6cc87406cf wined3d: Add WINED3DINDEXBUFFER_DESC to wined3dtypes.h. 2006-03-15 11:30:39 +01:00
Roderick Colenbrander d4836e1ce1 wined3d: Vertexdeclaration fix.
In the old d3d8 code SetVertexShader stored the so called vertex
declaration in the stateblock. In case of WineD3D this isn't done
which breaks the drawPrimitive code. This patch stores the vertex
declaration again in the stateblock which fixes Age Of Mythology.
2006-03-13 14:19:10 +01:00
Stefan Dösinger 913df5b143 wined3d: Consistently use WINED3DRESOURCETYPE. 2006-03-10 21:43:00 +01:00
Stefan Dösinger 851bdfb5e0 wined3d: Add D3DLOCK_* types to wined3d_types.h. 2006-03-08 11:33:35 +01:00
H. Verbeet ae21e30118 wined3d: Implement GetCreationParameters (from a patch by Al Tobey). 2006-03-07 10:53:43 +01:00
Stefan Dösinger 270afeb5e8 wined3d: Define D3D usage flags in wined3d_types.h. 2006-03-07 10:53:02 +01:00
Stefan Dösinger 2f0c781988 wined3d: Add device caps to wined3d_types.h. 2006-03-07 10:51:34 +01:00
H. Verbeet f7356a34c3 wined3d: Fix the relation between surfaces and their container. 2006-03-06 20:08:22 +01:00
Vitaly Budovski 3832eb7de4 wined3d: Added OpenGL 2.0 function definitions. 2006-03-06 11:12:14 +01:00
Vitaly Budovski e5bad779d6 wined3d: Implemented WINED3DRS_DEPTHBIAS. 2006-03-04 16:20:22 +01:00
Vitaly Budovski 196eaa674c wined3d: Added two sided stencil support to WINED3DRS_STENCILFUNC. 2006-03-04 16:18:39 +01:00
Vitaly Budovski f2f59cae61 wined3d: Added two sided stencil support to WINED3DRS_STENCILFAIL,
WINED3DRS_STENCILZFAIL and WINED3DRS_STENCILPASS.
2006-03-04 16:18:18 +01:00
Vitaly Budovski 6bf561b7ba wined3d: Implemented fallback for separate stencil function in WINED3DRS_CCW_STENCILFUNC. 2006-03-04 16:17:32 +01:00
Vitaly Budovski 7b55a0cff1 wined3d: Implemented fallback for separate stencil operation in WINED3DRS_CCW_STENCIL*. 2006-03-04 16:15:47 +01:00
Detlef Riekenberg 858be437c5 wined3d: Fix cut&paste typo. 2006-03-04 16:13:39 +01:00
Roderick Colenbrander f8ed06ea3d wined3d: Opengl 2.x compile fix. 2006-03-02 15:50:16 +01:00
Vitaly Budovski 63585380a9 wined3d: Implemented WINED3DRS_CCW_STENCIL* render states. 2006-02-28 12:22:16 +01:00
Vitaly Budovski 5c8c0059ab wined3d: Implemented WINED3DRS_SCISSORTESTENABLE. 2006-02-28 12:21:00 +01:00
Vitaly Budovski 4b10288b5b wined3d: Implemented WINED3DRS_SLOPESCALEDEPTHBIAS. 2006-02-28 12:20:01 +01:00
Vitaly Budovski c9a1134ce3 wined3d: Implemented WINED3DRS_ANTIALIASEDLINEENABLE. 2006-02-28 12:19:11 +01:00
Vitaly Budovski 64ccecfbab wined3d: Added D3D9 render states. 2006-02-28 12:14:25 +01:00
Vitaly Budovski c8480e25e7 wined3d: Fixed some typos and prevented divide by 0. 2006-02-28 12:13:59 +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
Roderick Colenbrander b24e69dc38 d3d8: Move the capability detection code over to WineD3D.
Let the few existing parts which need the capabiliteis use the WineD3D
capability structure (gl_info). This info structure contains next to
'flags' inidicating certain features also all GL/GLX functions
pointers. Because D3D8 moves over to the wined3d gl_info structure all
the gl prototypes in d3dcore_gl.h were unneeded and removed.
2006-02-21 11:28:58 +01:00
Roderick Colenbrander e64a2fdf9e wined3d: Set the texture size for d3d8. 2006-02-16 12:10:21 +01:00
Stefan Dösinger 46e8d67787 wined3d: Update the glOrtho between 2 rhw draws if the viewport was changed. 2006-02-13 13:25:21 +01:00
Francois Gouget 0ff18f58fa wined3d: Protect float.h inclusion. 2006-02-13 13:23:42 +01:00
Louis Lenders 25c885e269 wined3d: Prevent crash in setup_light. 2006-02-11 12:14:19 +01:00
Christoph Frick 61f8ef7936 wined3d: Better warn/fixme for query handling. 2006-02-09 12:07:30 +01:00
Roderick Colenbrander c7b58749a1 wined3d: Added CopyRects method (based on a patch by Oliver Stieber). 2006-02-07 16:51:39 +01:00
H. Verbeet 1c4a94b0ba wined3d: Don't set the container to the device for standalone surfaces. 2006-02-07 12:26:26 +01:00
Roderick Colenbrander 694efd7c6f wined3d: Texture fixes.
Set video memory capabilities, add some checks to SetTexture and
update some comments.
2006-02-06 20:57:42 +01:00
H. Verbeet bd8db45e44 wined3d: Update the QueryInterface functions of IWineD3DBase subclasses. 2006-02-06 11:32:41 +01:00
H. Verbeet b9193cc93f wined3d: Release the correct vertexdeclaration in
IWineD3DDeviceImpl_SetVertexDeclaration.
2006-02-06 11:31:57 +01:00
H. Verbeet fe7f2bad15 wined3d: Also update reference counts when we're recording a stateblock. 2006-02-06 11:31:17 +01:00
H. Verbeet e43cfb1a68 wined3d: Fix SetContainer.
Add/Release references to the container.
Change the type of the container from IUnknown to IWineD3DBase.
2006-02-06 11:30:48 +01:00
H. Verbeet c72fce011d wined3d: Use GL_EXTCALL to call OpenGL extension glPointParameterfvARB. 2006-02-05 12:19:22 +01:00
Vitaly Budovski 3c17322e75 wined3d: Fixed point sprite scaling when size < 1.0f. 2006-02-04 17:07:36 +01:00
Roderick Colenbrander da512ca655 wined3d: Add a break which got lost in the POINTSCALEENABLE fix. 2006-02-03 18:51:30 +01:00
Vitaly Budovski 8f3c98fdfd wined3d: Fixed WINED3DRS_POINTSPRITEENABLE. 2006-02-03 12:37:46 +01:00
Vitaly Budovski dbff6d59e8 wined3d: Corrected implementation of WINED3DRS_POINTSCALEENABLE. 2006-02-03 12:34:44 +01:00
Vitaly Budovski 4279bcc5a8 wined3d: Implemented WINED3DRS_EDGEANTIALIAS. 2006-02-03 12:33:26 +01:00
Vitaly Budovski 6de3620a9c wined3d: Implemented WINED3DRS_MULTISAMPLEANTIALIAS. 2006-02-03 12:31:02 +01:00
H. Verbeet f5c2e85b46 wined3d: Return the correct pixelshader in
IWineD3DDeviceImpl_GetPixelShader.
2006-01-20 16:13:12 +01:00
H. Verbeet 4e7b2557b5 wined3d: Cleanup shader constants code a little bit.
Improved bounds checking.
2005-12-20 11:46:52 +01:00
Oliver Stieber 8ff9a7eb55 wined3d: Allow NULL multi sample quality.
Allow MultiSampleQuality to be passed as NULL, this is a
requirement for DirectX 8 and lower.
2005-12-16 12:49:22 +01:00
Oliver Stieber 74e28a354f wined3d: Vertex declaration recording state.
Stop SetVertexDeclaration from reference counting if a stateblock is
being recorded.
2005-12-16 12:38:24 +01:00
Oliver Stieber e76969b0d6 wined3d: Internal reference counting.
Change most references to resources parent into references to the
resource, so that external reference counts match DirectX but object
aren't released if they are still referenced by the stateblock.
2005-12-15 10:25:47 +01:00
H. Verbeet dabcbe83e7 wined3d: Return the correct vertex declaration.
In IWineD3DDeviceImpl_GetVertexDeclaration, return the vertex
declaration in This->stateblock instead of the one in
This->updateStateBlock.
2005-12-14 10:50:27 +01:00
H. Verbeet 6077c63feb wined3d: Don't change the shader's refcount in SetVertexShader and
SetPixelShader.
2005-12-13 11:11:01 +01:00
Oliver Stieber 7c482cb9a1 wined3d: Vertex shader 8 support.
Start to add support for DirectX 8 vertex shaders, constants and
registers are now correctly assigned and loaded allowing support for
most basic d3d8 shaders.
2005-12-09 11:23:52 +01:00
H. Verbeet 4880c586d8 wined3d: return D3DERR_INVALIDCALL when calling BeginStateBlock and
already recording.
2005-12-03 18:04:26 +01:00
Oliver Stieber aa9ce3577a Added support for vertex and pixel shader constants that have no type
i.e. they haven't been set yet or are clear.
2005-11-29 17:05:54 +01:00
Oliver Stieber 5903c5df1b Stop reporting not having swapchain 0 as an error and add an internal
variable instead of modifying a parameter.
2005-11-28 10:59:41 +01:00
Francois Gouget 6d442aeb34 Assorted spelling fixes. 2005-11-23 20:14:43 +01:00
Oliver Stieber 932815d6f0 Implement a pixel shader parser and cross compiler. All version of
shaders up to 3 should be parsed correctly, but only shaders 1-1.4
will be cross compiled.
2005-11-21 16:27:55 +00:00
Oliver Stieber bcb4201130 Disable support for creation FMT_Unknown textures. This gets most of
the d3d8 demos from www.codesampler.com working.
2005-11-17 11:40:43 +00:00
Raphael Junqueira 705aec5a6f - 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-15 12:03:13 +00:00
Oliver Stieber a8d9a2a4ac Fix an intermittent lockup with ATI's driver, I expect the problem is
trying to clear the display before it's visible. Also correct the
clear alpha value.
2005-11-14 12:28:59 +00:00
Francois Gouget 0edbaf7e80 Remove spaces before '\n' in traces. 2005-11-10 12:14:56 +00:00
Oliver Stieber 39d6e30db0 Prevent SetFVF from clearing down the vertex declaration of the FVF is
zero. This is required for Prince of Persia, The sands of time.
2005-11-07 11:12:38 +00:00
Oliver Stieber 0e3a3555e9 Tidy up UpdateTexture and add support for updating cube textures. 2005-11-04 12:39:17 +00:00
Oliver Stieber f52f6ce93d Add support for updating to D3DFMT_UNKNOWN surfaces and tidy up update
surface a little.
2005-11-04 11:13:45 +00:00
Oliver Stieber d6fcc69ddb Implement D3DFMT_UNKNOWN surfaces, this seems to be used a lot in d3d8
but I haven't found any d3d9 application that uses D3DFMT_UNKNOWN
surfaces yet.
2005-11-02 20:01:54 +00:00
Oliver Stieber 1f2a9e2c31 Move the softwareVertexProcessing flag from the stateblock to the
device because its state shouldn't be recorded in a stateblock.
2005-10-29 10:30:36 +00:00
Vincent Béron 5eae622f44 Don't define some functions/variables if they won't be used after in
wined3d.
2005-09-29 10:47:59 +00:00
Oliver Stieber b3563daca2 Implement state tracking for pixel shader constants. 2005-09-28 10:13:00 +00:00
Francois Gouget a8c7284f92 Assorted spelling fixes. 2005-09-26 10:58:41 +00:00
Oliver Stieber 9e6957bbdc Optionally repack nonpower 2 textures to the expected span length when
a textures is locked. This is necessary for buggy games like Warhammer
40k that don't work with the odd span sizes produce by default
nonpower 2 support.
2005-09-23 11:08:03 +00:00
Oliver Stieber 357a484a7e Enable dxt2 and dxt4 compressed textures to be created via
Device_CreateSurface.
2005-09-23 10:48:01 +00:00
Oliver Stieber 0fac2d96fc Clean up all the objects bound to the device when the device is
destroyed as a result of its ref count reaching zero.
2005-09-23 10:07:46 +00:00
Alexandre Julliard 0ec0f048e6 Removed unused debug channels. 2005-09-22 10:44:40 +00:00
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