Commit Graph

231 Commits

Author SHA1 Message Date
Stefan Dösinger 35ee1e9693 wined3d: Unload texture coords for all supported texture stages. 2007-06-21 13:09:17 +02:00
Stefan Dösinger 030b92a2f6 wined3d: Remove the FVF codepath from drawprim. 2007-06-21 13:09:08 +02:00
H. Verbeet 9f8083c646 wined3d: Only set GL_SHADER_OPERATION_NV to GL_NONE for mapped stages. 2007-06-18 12:33:55 +02:00
Stefan Dösinger a460a2df43 wined3d: Store the gl information in a per adapter structure and initialize it only once. 2007-06-11 13:51:06 +02:00
Francois Gouget 96c337f0a1 Assorted spelling fixes. 2007-06-07 19:24:32 +02:00
Francois Gouget 7d55f09e75 wined3d: Fix spelling of the state_separateblend() function. 2007-06-07 19:24:04 +02:00
Stefan Dösinger 2854c54201 wined3d: Keep GL_TEXTURE_2D enabled when using dummy textures. 2007-05-31 13:08:09 +02:00
Stefan Dösinger b6e87d47d5 wined3d: Don't mess with nv texture shaders if its not supported. 2007-05-31 13:08:01 +02:00
H. Verbeet 79ca4e022d wined3d: Load texture coordinates even if no texture is bound to that stage at this time. 2007-05-10 12:24:52 +02:00
H. Verbeet cde60c0b94 wined3d: Split texture coordinate loading from loadVertexData(). 2007-05-10 12:24:39 +02:00
H. Verbeet 5188ab4efa wined3d: Calling glDisableClientState() from loadVertexData() is redundant.
unloadVertexData() will already have done this if necessary.
2007-05-10 12:24:19 +02:00
H. Verbeet f8714d771a wined3d: Unload vertex weight data in case of EXT_VERTEX_WEIGHTING as well. 2007-05-10 12:24:07 +02:00
Stefan Dösinger 81504d6a2d wined3d: Support bump environment mapping using GL_NV_texture_shader. 2007-05-10 11:40:27 +02:00
Stefan Dösinger 4a8b55d456 wined3d: Unload vertex weight data in unloadVertexData. 2007-05-10 11:40:15 +02:00
Stefan Dösinger 28170f0474 wined3d: Implement environment bump mapping with GL_ATI_envmap_bumpmap. 2007-05-09 12:07:32 +02:00
Stefan Dösinger adb9b13b81 wined3d: Implement vertex blending using GL_ARB_vertex_blend. 2007-05-03 14:24:46 +02:00
Fabian Bieler e28630bc32 wined3d: Remove usesFog flag from IWineD3DVertexShaderImpl. 2007-04-23 13:55:45 +02:00
Stefan Dösinger 725057da47 d3d: Remove dependency on ddraw.h header. 2007-04-16 13:20:15 +02:00
Felix Nawothnig e3d3d1823d wined3d: Only issue state_patchsegments FIXME once. 2007-04-04 12:45:57 +02:00
Felix Nawothnig 413b9b2ad2 wined3d: Downgrade some ERRs to FIXMEs. 2007-04-04 12:45:49 +02:00
Francois Gouget 0081b430e1 Assorted spelling and English fixes. 2007-04-03 11:23:12 +02:00
Felix Nawothnig 18c9e5d5d0 wined3d: Use GL_TEXTURE_2D for dummy textures. 2007-03-30 11:25:23 +02:00
Felix Nawothnig 6760ccac1c wined3d: Fix broken ERR() message. 2007-03-30 11:25:02 +02:00
Felix Nawothnig 335f978e91 wined3d: Only disable GL_TEXTURE_CUBE_MAP_ARB if supported. 2007-03-30 11:24:56 +02:00
Jan Zerebecki 09e7791cba wined3d: Print lastpixel state fixme only once. 2007-03-28 12:43:14 +02:00
Stefan Dösinger 5e405d3b26 wined3d: Disable texture coordinate arrays on the correct unit. 2007-03-27 12:30:50 +02:00
Fabian Bieler 7cedd56d24 wined3d: Implement linear fog with pixel shader. 2007-03-23 12:30:23 +01:00
Stefan Dösinger 65c447082a wined3d: Fix client gl unit selection.
I forgot that when re-enabling register combiners during the state
management rewrite.
2007-03-19 12:18:07 +01:00
Stefan Dösinger 4b445124d3 direct3d: Add a fixed function fog test. 2007-03-15 12:14:50 +01:00
Stefan Huehner 4d1d01f266 Mark several functions as static. 2007-03-13 13:35:12 +01:00
H. Verbeet 6998d0d472 wined3d: Remove a redundant check in handleStreams(). 2007-03-13 11:56:10 +01:00
H. Verbeet 05d461aee9 wined3d: Remove some redundant checks in the vertexdeclaration() state handler. 2007-03-13 11:56:02 +01:00
H. Verbeet 30ee071eb9 wined3d: Disable vertex shaders when transformed vertices are used. 2007-03-13 11:55:55 +01:00
H. Verbeet 23cd4475f6 wined3d: Correct various texture limits checks. 2007-03-13 11:53:28 +01:00
Stefan Dösinger 81aeae3249 wined3d: Do not specify the viewport origin upside down when doing offscreen rendering.
The gl viewport origin is the lower left corner of the window, in d3d
it is the upper right corner. This is corrected when setting the
viewport. However, when we are doing offscreen rendering, this is
reversed. So do not flip the viewport origin when rendering offscreen.
2007-03-06 22:17:28 +01:00
Stefan Dösinger 6886b237ad wined3d: Disable depth stencil related states without a depth stencil buffer.
Except with fbos, it is not possible to remove the depth stencil
buffer from the opengl frame buffer, so when the d3d app sets a NULL
depth stencil disable all states that work with the depth stencil
buffer.
2007-03-06 22:17:15 +01:00
Stefan Dösinger e0a271ee0c wined3d: Adjust the rhw transformation for offscreen rendering. 2007-03-06 22:15:57 +01:00
Stefan Dösinger 2cdced8193 wined3d: Adjust the rhw transformation for offscreen rendering.
When drawing processed vertices with the fixed function pipeline the
projection matrix is set up to map y values from 0 to height to 1.0;
-1.0(gl and d3d coord systems are flipped). This moves the y axis to
the bottom of the drawing area. When later on the y inversion matrix
is applied for offscreen rendering, the coordinate system will get
flipped out of the viewport.

This patch sets the Y range up upside down when using offscreen
rendering, so the invymat will flip it to the correct position. This
has to happen before the 0.375 pixel correction.
2007-03-05 15:31:36 +01:00
H. Verbeet 3aaabf4e27 wined3d: Properly check the clipplane index against the limit. 2007-03-05 12:06:33 +01:00
Stefan Dösinger 5afbfd0359 wined3d: Clip planes with vertex shaders. 2007-02-28 21:09:58 +01:00
Stefan Dösinger 409aa73132 wined3d: Move clip planes to the state table. 2007-02-28 21:09:37 +01:00
Stefan Dösinger 38d961a749 wined3d: Leave the fog state handler after disabling fog. 2007-02-28 21:05:14 +01:00
Vitaliy Margolen 51ee7f4978 wined3d: Use application provided fog range when fog is enabled. 2007-02-26 13:58:09 +01:00
Stefan Dösinger 76b7cac7af wined3d: Light parameter fixes. 2007-02-21 10:55:31 +01:00
Francois Gouget 93494f2ac0 Assorted spelling fixes. 2007-02-20 20:30:51 +01:00
Stefan Dösinger 59ae2a56fb wined3d: Use VBOs for index buffers. 2007-02-20 11:50:10 +01:00
Stefan Dösinger ecfd4cb0e4 wined3d: Move the scissor rectangle to the state table. 2007-02-20 11:49:53 +01:00
Stefan Dösinger 762e227994 wined3d: Only scream about unsupported vertex blending when it is used. 2007-02-19 13:10:24 +01:00
Stefan Dösinger 266fc77cf0 wined3d: Lighting is calculated for vertices without normals.
It still should be disabled for transformed vertices though.
2007-02-19 13:08:35 +01:00
H. Verbeet a2fde7d912 wined3d: Get rid of any remaining d3d9 stuff in state.c. 2007-02-15 14:20:56 +01:00
Stefan Dösinger b3f96f4327 wined3d: alphaop fixes for color keying. 2007-02-15 11:40:57 +01:00
Stefan Dösinger d4c4e5d167 wined3d: Enable color keying only for surfaces without an alpha channel. 2007-02-15 11:40:44 +01:00
Stefan Dösinger 49a49fcfec wined3d: Load one bump mapping environment matrix into pixel shaders if needed. 2007-02-15 11:36:01 +01:00
Stefan Dösinger efbd6d6332 wined3d: Give the bump env matrices their own states. 2007-02-15 11:35:52 +01:00
H. Verbeet 498f9c507a wined3d: Use WINED3DSTREAMSOURCE_INSTANCEDATA rather than D3DSTREAMSOURCE_INSTANCEDATA. 2007-02-15 11:15:25 +01:00
Francois Gouget 536e738552 Assorted spelling fixes. 2007-02-14 21:03:57 +01:00
Stefan Dösinger 0feddccfe3 wined3d: Instancing emulation. 2007-02-14 20:46:25 +01:00
Stefan Dösinger 93cd7ef7ff wined3d: Correctly load vertex attributes with a stride of 0. 2007-02-14 20:46:02 +01:00
Stefan Dösinger 174b6321eb wined3d: Move lights to the state table. 2007-02-14 20:45:15 +01:00
Stefan Dösinger acadf3f241 wined3d: Replace the light chain with a hashmap. 2007-02-14 20:44:58 +01:00
H. Verbeet 32e5cac2be wined3d: Get rid of the vertexDeclaration field in IWineD3DVertexShaderImpl. 2007-02-14 13:54:29 +01:00
Stefan Dösinger b48dfb3c54 wined3d: Always use np2 repacking if no native np2 support is available. 2007-02-14 12:29:01 +01:00
H. Verbeet 2a309f503d wined3d: Cleanup the pixelshader() state handler a little bit. 2007-02-14 12:21:46 +01:00
H. Verbeet 1636bc1aec wined3d: Always select the correct shader pair in the vertexdeclaration() state handler. 2007-02-14 12:21:41 +01:00
Stefan Dösinger 380930dc54 wined3d: Store dirty states per context. 2007-02-13 11:55:07 +01:00
Stefan Dösinger e6c9a073b0 wined3d: Store state optmization members in the context. 2007-02-13 11:50:38 +01:00
Stefan Dösinger c739c387b6 wined3d: Add a per context structure for context management. 2007-02-13 11:50:14 +01:00
Francois Gouget b0bde6b87c Assorted spelling fixes. 2007-01-18 12:56:52 +01:00
H. Verbeet d429ff5b69 wined3d: When switching color material, apply the material we were previously tracking.
This fixes a regression introduced by 329670c7f1.
2007-01-18 12:08:57 +01:00
H. Verbeet 612a74a994 wined3d: Don't set Parm when isDiffuseSupplied is FALSE in state_colormat(), it isn't used anyway. 2007-01-18 12:08:45 +01:00
Stefan Dösinger 354fdae524 wined3d: Implement per stream offsets. 2007-01-17 11:24:04 +01:00
Stefan Dösinger b07c48c499 wined3d: Do not activate / deactivate texture dimensions twice. 2007-01-10 22:03:28 +01:00
Stefan Dösinger 08c7b3947b wined3d: Fix a capital letter in a parameter name. 2007-01-10 22:03:09 +01:00
Stefan Dösinger 7fd246ebe3 wined3d: Add copyright statements to state.c. 2007-01-10 22:02:23 +01:00
Stefan Dösinger fe6165db19 wined3d: Attempt to remove some tabs smuggled in by xcode. 2007-01-10 22:02:10 +01:00
Stefan Dösinger 953f8d7b37 wined3d: Do not warn about unsupported point sizes if the default values are set. 2007-01-10 22:01:57 +01:00
Stefan Dösinger 60ea760945 wined3d: Avoid false resultarg warnings. 2007-01-10 22:01:46 +01:00
Stefan Dösinger 9b4920996e wined3d: Move material applying to the state table. 2007-01-10 22:00:34 +01:00
Michael Stefaniuc 33af3c5c83 janitorial: Use the C standard for multiline strings. 2007-01-10 12:28:19 +01:00
Stefan Dösinger 577f8db7cf wined3d: Fix np2 textures. 2007-01-08 21:00:23 +01:00
Stefan Dösinger 2e55c196ee wined3d: Remove some unneeded context cache members from the device. 2007-01-08 21:00:04 +01:00
Stefan Dösinger fdb62cbaeb wined3d: Do not activate vertex shaders needlessly. 2007-01-08 20:58:21 +01:00
Stefan Dösinger 09ab812e79 wined3d: Avoid negative draw start indices. 2007-01-08 20:58:11 +01:00
Stefan Dösinger 8e37fcd266 wined3d: Move applying shader constants to the state table. 2007-01-08 20:57:57 +01:00
Stefan Dösinger 799770b992 wined3d: Apply shaders in their state handlers. 2007-01-08 20:56:51 +01:00
Stefan Dösinger 7e314011fb wined3d: Move debugging fixmes from drawprim to the stream source handler. 2007-01-08 20:56:36 +01:00
Stefan Dösinger 27bac24acb wined3d: Re-add the fixed function stream source trace. 2007-01-08 20:56:06 +01:00
Stefan Dösinger d5f18e6a63 wined3d: Move applying the gl stream sources to the state table. 2007-01-08 20:55:51 +01:00
Chris Robinson d8c67c3415 wined3d: state_pointsprite should apply to all texture units. 2007-01-04 21:36:59 +01:00
H. Verbeet 7ae71a92a2 wined3d: Skip sampler state application for stages that aren't mapped to a texture unit. 2007-01-04 21:23:42 +01:00
H. Verbeet aced8de853 wined3d: Skip WINED3DTSS_TEXCOORDINDEX state application for stages that aren't mapped to a texture unit. 2007-01-04 21:23:37 +01:00
H. Verbeet c7fad607ba wined3d: Don't do WINED3DTSS_ALPHAOP texture operations for stages that aren't mapped to a texture unit. 2007-01-04 21:23:31 +01:00
H. Verbeet 8c530333cb wined3d: Don't do WINED3DTSS_COLOROP texture operations for stages that aren't mapped to a texture unit. 2007-01-04 21:18:10 +01:00
Francois Gouget bbb2b7fd98 Assorted spelling fixes. 2007-01-04 11:27:31 +01:00
Stefan Dösinger 51a9810693 wined3d: Move decoding the streams to their own inline function. 2007-01-04 10:58:20 +01:00
Stefan Dösinger 0d700bef5d wined3d: Break the viewport out of the vertex declaration state. 2007-01-04 10:57:33 +01:00
Stefan Dösinger e26e3ee5f3 wined3d: Remove d3ddevice_set_ortho. 2007-01-03 11:19:55 +01:00
Stefan Dösinger 82bd0790ed wined3d: Move the projection matrix into its own state. 2007-01-03 11:19:45 +01:00
Stefan Dösinger a0ff9826ad wined3d: Break the lighting state out of the vertex decl. 2007-01-03 11:19:31 +01:00
Stefan Dösinger 5fa0f7f775 wined3d: Move the world matrix to the state table. 2007-01-03 11:19:09 +01:00