Commit Graph

548 Commits

Author SHA1 Message Date
Stefan Dösinger de1b0a5c04 wined3d: Move a few more odd states to the misc state table. 2008-07-10 12:30:56 +02:00
Stefan Dösinger e988c8bd60 wined3d: WINED3DRS_ZBIAS -> misc states. 2008-07-10 12:30:56 +02:00
Stefan Dösinger 1df66c3893 wined3d: Move the bordercolor to the fragment states. 2008-07-10 12:30:56 +02:00
Stefan Dösinger 340272bc26 wined3d: Move more fog stuff to the vertex states. 2008-07-10 12:30:55 +02:00
Stefan Dösinger ecc7b5fb18 wined3d: Move fog to the vertex states. 2008-07-09 10:49:17 +02:00
Stefan Dösinger cd9690d9d0 wined3d: Move a few more states to the misc states. 2008-07-09 10:48:59 +02:00
Stefan Dösinger a4c85d788a wined3d: WINED3DRS_LASTPIXEL -> misc states. 2008-07-09 10:48:50 +02:00
Stefan Dösinger 58ef02fa69 wined3d: Alpha states -> misc pipeline states. 2008-07-09 10:48:43 +02:00
Stefan Dösinger 5f3b11e9d6 wined3d: Move wrapu to the misc states. 2008-07-09 10:48:33 +02:00
Stefan Dösinger dd90d62356 wined3d: Move a few more states to the misc pipeline. 2008-07-09 10:48:26 +02:00
Stefan Dösinger b4445e8b98 wined3d: Textureperspective->misc states. 2008-07-09 10:48:17 +02:00
Stefan Dösinger cad055ae16 wined3d: Move WINED3DRS_ANTIALIAS to the misc states. 2008-07-09 10:48:08 +02:00
Stefan Dösinger f68ac7465f wined3d: Move pixelshader application to the fragment pipeline. 2008-07-09 10:47:59 +02:00
Stefan Dösinger b24c409cea wined3d: Initialize the state table before filling it. 2008-07-09 10:47:49 +02:00
Stefan Dösinger a2628d0423 wined3d: Move Fixed function pipeline states to the new fragment structure. 2008-07-08 21:08:54 +02:00
Stefan Dösinger 3a2743f25d wined3d: Remove the state table from the shader backend. 2008-07-08 21:08:54 +02:00
Stefan Dösinger c15dfb87e9 wined3d: Create fragment processing state templates and select one.
For now the atifs selection sticks to the old rules, thus it is bound to
the available and selected shader capabilities. We may want to change that
in the future.
2008-07-08 21:08:54 +02:00
Stefan Dösinger bdfaab5a94 wined3d: Move texture transform flag stuff to the vertex pipeline states. 2008-07-08 21:08:54 +02:00
Stefan Dösinger 68948f0c71 wined3d: Move transforms to the vertex code.
Some fragment pipeline implementations may want to register their own
texture transform handlers.
2008-07-08 21:08:54 +02:00
Stefan Dösinger 1f5bce3454 wined3d: indexbuffer -> misc. 2008-07-08 21:08:54 +02:00
Stefan Dösinger b4bee02556 wined3d: Move the viewport to the vertex and misc pipeline states. 2008-07-08 21:08:54 +02:00
Stefan Dösinger 4b831a5d3e wined3d: Move shader constants to the misc states. 2008-07-08 21:08:54 +02:00
Stefan Dösinger 95099404d5 wined3d: Move lights to the vertex pipeline states. 2008-07-08 10:47:20 +02:00
Stefan Dösinger 298c953b25 wined3d: Move the scissor rect to the misc states. 2008-07-08 10:47:12 +02:00
Stefan Dösinger 3668f7508f wined3d: Move clipplanes to vertex states. 2008-07-08 10:47:05 +02:00
Stefan Dösinger eb9d3d2a8f wined3d: Move the frontfacing state to the misc state table. 2008-07-08 10:46:57 +02:00
Stefan Dösinger 956bfca1e2 wined3d: Move material application to the vertex pipeline. 2008-07-08 10:46:50 +02:00
Stefan Dösinger 141f31f05d wined3d: Move stream source and vshader to misc and vertex pipeline tables. 2008-07-08 10:46:42 +02:00
Stefan Dösinger 6675374dda wined3d: Make the stream source application a regular state function. 2008-07-08 10:46:32 +02:00
Stefan Dösinger 68dec9d161 wined3d: Implement the state merger and start to use it. 2008-07-08 10:46:20 +02:00
Stefan Dösinger 98faed8ff5 wined3d: Start the state splitup.
The idea of this patchset is to split the monolithic state set into 3
parts, vertex processing, fragment processing and other states(depth,
stencil, scissor, ...). The states will be provided in templates which
can be (mostly) independently combined, and are merged into a single
state table at device creation time. This way we retain the advantages
of the single state table and having the advantage of separated
pipeline implementations which can be combined without any manually
written glue code.
2008-07-08 10:45:56 +02:00
Francois Gouget 633ee950a1 Assorted spelling fixes. 2008-05-07 12:07:11 +02:00
Stefan Dösinger dc07ddb531 wined3d: Fix the GL_ATI_separate_stencil codepath.
glStencilFuncSeparateATI does not take a face argument, instead it
sets the front and back facing functions at once. This means the
renderstate_stencil_twosided helper function is somewhat pointless for
this extension.
2008-04-24 22:09:36 +02:00
Stefan Dösinger 9ee7e42de8 wined3d: Call activate_dimensions from the atifs code. 2008-04-24 11:54:28 +02:00
Austin English 6e59cd2c34 Spelling fixes. 2008-04-22 12:20:12 +02:00
Stefan Dösinger 3e5899b38d d3d9: Some Windows drivers set undefined attributes to 0.0. 2008-04-09 11:55:22 +02:00
Stefan Dösinger b1d8af7926 wined3d: Update copyright lines. 2008-04-02 20:22:42 +02:00
Stefan Dösinger bd68237096 wined3d: Implement TSSARGTEMP with register combiners. 2008-04-02 20:07:40 +02:00
Roderick Colenbrander 76014205de wined3d: Fix a postpixelshader_blending bug. 2008-03-31 12:14:33 +02:00
Roderick Colenbrander 4eaa424c79 wined3d: Initial post pixelshader blending support. [attempt 2].
For each pixel format we store a flag in the table whether it supports
post pixelshader blending. Before applying blending or during a
context switch we verify that blending is turned off for the
format. In case of R32F this gave a 5-6x performance boost (without
filtering and software conversion).
2008-03-28 15:50:24 +01:00
Stefan Dösinger 4640be8dc8 wined3d: Fragment processing using GL_ATI_fragment_shader.
This adds code for handling fixed function fragment processing with the
GL_ATI_fragment_shader extension. This is a sort-of programmable
interface for fragment processing at the level of shader model 1.4 in
d3d. This code is of use on r200, r250 and r280 cards(radeon 8500 to
9200) which do not support GL_ARB_fragment_program, but support pixel
shader 1.4 on Windows. This code is somewhat a counterpart to the
existing fragment processing code using GL_NV_register_combiners and
GL_NV_texture_shader.
2008-03-25 19:50:32 +01:00
Stefan Dösinger 84258723f9 wined3d: Make the state table a property of the shader backend. 2008-03-25 19:35:32 +01:00
Philip Nilsson 1110f17581 wined3d: Initialize maxAttribs in case it isn't changed by glGetIntegerv. 2008-03-24 13:26:20 +01:00
Stefan Dösinger d20768c120 wined3d: Support shininess > 128 if opengl does. 2008-03-05 19:23:06 +01:00
Stefan Dösinger 167a271434 wined3d: Support more than one texbem instruction per shader. 2008-03-05 19:22:44 +01:00
James Hawkins c2a627c6e8 janitorial: Remove links to any microsoft site. 2008-03-01 12:17:07 +01:00
Roderick Colenbrander c2d978410f wined3d: Add separate alpha blend support. 2008-02-18 14:19:57 +01:00
Stefan Dösinger c2d97b2329 wined3d: Add a test for fixed function bump mapping. 2008-02-18 13:34:25 +01:00
Andrew Talbot b3a58a2486 wined3d: Remove unneeded casts. 2008-01-24 11:41:36 +01:00
Francois Gouget d0794c4aeb Assorted spelling fixes. 2008-01-23 21:16:22 +01:00
Alexander Dorofeyev 536f98000d wined3d: Change colorkey fixup for stage 0 alphaop / alphaarg. 2008-01-22 11:19:05 +01:00
Austin English 3471f841a1 wined3d: Spelling fixes. 2008-01-18 12:53:33 +01:00
Roderick Colenbrander 916b56391d wined3d: Fix glBlendColorEXT for use on RivaTNT. 2008-01-14 13:10:28 +01:00
Stefan Dösinger fd711c57df wined3d: Combine two glScalef calls into one. 2007-12-27 13:44:18 +01:00
Stefan Dösinger 44b8915371 wined3d: Get rid of the invymat.
glScalef(1.0, -1.0, 1.0) does the same as the glMultMatrix with the
invymat matrix, and it is more optimal.
2007-12-27 13:44:13 +01:00
Alexander Dorofeyev 27c98fd628 wined3d: Also update alpha test when stage texture is NULL. 2007-12-27 13:43:49 +01:00
Stefan Dösinger 47a8a6bd44 wined3d: Implement and test vertex fixups with per stream offsets. 2007-12-21 13:44:16 +01:00
Stefan Dösinger b5f925cae0 wined3d: Implement half float vertex buffer conversion. 2007-12-21 13:13:56 +01:00
Stefan Dösinger 2d90449500 wined3d: Fixed function vertex attribute types are flexible. 2007-12-20 10:49:42 +01:00
Stefan Dösinger a3c2fb9e64 wined3d: Store if half float conversion is needed in the decl. 2007-12-20 10:48:16 +01:00
Rico Schüller b7dfe3afb6 wined3d: Fix some typos. 2007-12-20 10:47:06 +01:00
Stefan Dösinger 7a1d35e513 wined3d: Emulate half float vertices if GL_NV_half_float is not there. 2007-12-19 12:19:27 +01:00
Francois Gouget 5f7a9cea38 Assorted spelling fixes. 2007-12-07 16:35:32 +01:00
Stefan Dösinger f700cbe74b wined3d: Add an alpha blending test. 2007-12-07 16:26:43 +01:00
Gerald Pfeifer 81f32c7a38 wined3d: Fix error handling in transform_texture(). 2007-12-04 18:41:45 +01:00
Stefan Dösinger fcb49934d0 wined3d: Retrieve the height properly when setting the viewport. 2007-12-04 14:32:39 +01:00
Stefan Dösinger 8689fe32c6 wined3d: Use the proper drawable size when setting the scissor rect. 2007-12-04 14:32:39 +01:00
Stefan Dösinger 3fd0916654 wined3d: Make the code aware of GL_ARB_texture_rectangle. 2007-11-29 13:36:37 +01:00
Stefan Dösinger 3f32847494 wined3d: Do not try to disable unsupported texture units. 2007-11-28 13:40:28 +01:00
Stefan Dösinger 0353d031bc wined3d: Add some missing checkGLcall calls. 2007-11-28 13:40:28 +01:00
Stefan Dösinger f2c19fbc0b wined3d: Correctly handle the y offset with offscreen rendering.
This fixes a regression introduced with the MAD patch.
2007-11-27 16:02:34 +01:00
Stefan Dösinger 26f7eae9cf wined3d: Non power of two texture fixes. 2007-11-14 11:59:21 +01:00
Stefan Dösinger 0334c1760f wined3d: Apply matrices when switching from transformed vertices to shaders. 2007-11-14 11:59:09 +01:00
Stefan Dösinger 58a761a88b wined3d: Read the framebuffer size from the surface, not the window. 2007-11-14 11:58:47 +01:00
Stefan Dösinger e4f8a2da2b wined3d: Depth stencil fixes. 2007-11-14 11:58:36 +01:00
Stefan Dösinger 5ffea6e591 wined3d: Honor the driver's min point size. 2007-11-08 12:05:19 +01:00
Stefan Dösinger ee32ac575b wined3d: A point size fix. 2007-10-26 15:17:01 +02:00
Stefan Dösinger 9694cb2df3 wined3d: Ignore texture transforms when a shader is used, not set. 2007-10-22 15:59:00 +02:00
Chris Robinson c4cc337d7a wined3d: Prevent some console spamming. 2007-10-09 12:34:55 +02:00
Roderick Colenbrander c2bf124a90 wined3d: Use EXT-versions of glBlend*. 2007-10-09 12:34:49 +02:00
Stefan Dösinger 6313e0ffff wined3d: SRGB write correction emulation. 2007-09-24 13:30:30 +02:00
Stefan Dösinger 05cef43308 wined3d: Keep the selected stencil setup face set to GL_FRONT. 2007-09-20 15:52:47 +02:00
Stefan Dösinger 145d56847b wined3d: Disable two sided stencil if it is supported, but not enabled. 2007-09-19 11:40:28 +02:00
Stefan Dösinger ad3fe8562b wined3d: Enable the stencil test if two sided stencil is used. 2007-09-19 11:40:19 +02:00
Stefan Dösinger e62a4b0352 wined3d: Fix a copypaste error. 2007-09-19 11:40:10 +02:00
Stefan Dösinger 703ec4cbc4 wined3d: Set the stencil mask for both faces. 2007-09-19 11:40:02 +02:00
Stefan Dösinger 5a63b79a66 wined3d: Untie culling and offscreen rendering. 2007-09-19 11:39:55 +02:00
Stefan Dösinger c5410a6f22 wined3d: Use GL_NV_depth_clamp to implement clipping disable. 2007-09-17 12:08:40 +02:00
Stefan Dösinger 9e340f0fdb wined3d: Add a fixme for D3DCMP_NOTEQUAL and D3DCMP_EQUAL. 2007-09-17 12:08:28 +02:00
Stefan Dösinger 5ab9d85c39 wined3d: Implement texbeml. 2007-09-12 12:10:03 +02:00
Stefan Dösinger a305af0b30 wined3d: Fix the z range. 2007-09-11 13:47:36 +02:00
Stefan Dösinger 8c9c084004 wined3d: Use 0/0/0 as normal if no normal is supplied. 2007-08-30 11:57:18 +02:00
Stefan Dösinger 322b55e29a wined3d: Fix the half pixel correction. 2007-08-28 11:55:27 +02:00
Stefan Dösinger fe0f0eb48a wined3d: Some texture transform fixes. 2007-08-27 18:28:43 +02:00
Stefan Dösinger a8e21d0692 wined3d: Texture transforms are disabled when drawing rhw vertices. 2007-08-27 18:28:38 +02:00
Stefan Dösinger 98bc83be7c wined3d: Fall back to drawStridedSlow if fog coords are used. 2007-08-23 13:33:22 +02:00
Stefan Dösinger 0dade7207f wined3d: Implement range based fog and advertize it correctly. 2007-08-21 13:35:57 +02:00
Stefan Dösinger 04d62b4322 wined3d: fogstart == fogend means full fog. 2007-08-21 13:35:48 +02:00
Stefan Dösinger 306fcfeee7 wined3d: FIX D3DBLEND_BOTHSRCALPHA and BLEND_BOTHINVSRCALPHA. 2007-08-20 22:32:02 +02:00
Stefan Dösinger 06cc0fa95f wined3d: GL_SRC_ALPHA_SATURATE is supported as src blend param only. 2007-08-17 12:01:38 +02:00
Stefan Dösinger e7cbb340dc wined3d: Remove stateblock::set.*. 2007-08-13 11:36:43 +02:00
Stefan Dösinger 8de07265a6 wined3d: Downgrade an ERR. 2007-08-03 12:30:12 +02:00
Roderick Colenbrander 2c12c17ab6 wined3d: Compile against standard GL headers. 2007-07-31 21:36:56 +02:00
Stefan Dösinger d2016ff892 wined3d: Store the gl format table in the gl info structure. 2007-07-30 12:49:50 +02:00
Stefan Dösinger a0131a3272 wined3d: Split up the format table. 2007-07-30 12:49:39 +02:00
H. Verbeet b4e596e70e wined3d: Flip the scissor rect when rendering offscreen. 2007-07-26 11:51:34 +02:00
H. Verbeet be8226593c wined3d: Don't modify the blending parameters in state_blend(). 2007-07-24 11:25:45 +02:00
H. Verbeet 6421d45f53 wined3d: In tex_colorop() & tex_alphaop(), only check the mapped stage against GL_LIMITS(textures) if the texture is used. 2007-07-02 13:36:15 +02:00
H. Verbeet 25c673225b wined3d: Only set GL_SHADER_OPERATION_NV to GL_NONE for supported units. 2007-07-02 13:36:07 +02:00
H. Verbeet 9ed84211c1 wined3d: Only call activate_dimensions() if the texture is used. 2007-07-02 13:35:59 +02:00
H. Verbeet 5b7758f80c wined3d: Increase the sizes of texturing related arrays, in order to support vertex textures. 2007-06-26 11:57:17 +02:00
H. Verbeet 9c44b67d28 wined3d: Add max_vertex_samplers and max_combined_samplers to WineD3D_GL_Info. 2007-06-26 11:57:05 +02:00
H. Verbeet 3ad03206ab wined3d: Rename max_samplers to max_fragment_samplers. 2007-06-26 11:56:57 +02:00
Stefan Dösinger a3854be0b3 wined3d: Some point sprite fixes. 2007-06-25 20:04:58 +02:00
Stefan Dösinger 4f8eb6a32e wined3d: Clamp material power to 128.0. 2007-06-25 20:03:26 +02:00
Stefan Dösinger 2f4b9e42bc wined3d: Move material applying to the state table. 2007-06-25 11:35:59 +02:00
Stefan Dösinger b081cbaf40 wined3d: Emulate tracking of multiple material properties. 2007-06-21 13:09:30 +02:00
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
Stefan Dösinger 20de200fa3 wined3d: Move the functionality of primitiveInitState to the state table. 2007-01-03 11:17:08 +01:00
Stefan Dösinger a48bbc3611 wined3d: Add a viewport state to the state table. 2007-01-03 11:10:13 +01:00
Stefan Dösinger 438c172841 wined3d: Move decoding the vertex declaration to the vertexshader state handler. 2007-01-03 11:10:01 +01:00
Nick Burns d955715180 wined3d: Fix point handling. 2007-01-02 20:29:53 +01:00
Stefan Dösinger ef1ebb6e4d wined3d: Add emtpy vertex declaration and related states to the state table. 2007-01-02 12:29:18 +01:00
Stefan Dösinger a710f721c3 wined3d: Add stub handlers for world matrices 1-255. 2007-01-02 12:29:11 +01:00
Stefan Dösinger f5fafab663 wined3d: Move WINED3DTS_MODELVIEW to the state table. 2007-01-02 12:25:00 +01:00
Stefan Dösinger 197ec1c179 wined3d: Remove IWineD3DDevice_ApplyStateChanges. 2007-01-02 12:22:04 +01:00
Stefan Dösinger c10efb3492 wined3d: Move WINED3DTS_TEXTURETRANSFORMFLAGS to the state table. 2007-01-02 12:21:50 +01:00
Stefan Dösinger b58715e8ab wined3d: Add empty transform states to the state table. 2006-12-29 12:49:41 +01:00
Alexandre Julliard bbfe120036 Revert "wined3d: Where possible, avoid using D3DCOLORTOGLFLOAT4."
This reverts commit 045975b1f4.
2006-12-29 11:35:57 +01:00
H. Verbeet 045975b1f4 wined3d: Where possible, avoid using D3DCOLORTOGLFLOAT4. 2006-12-28 12:17:29 +01:00
Stefan Dösinger d6245409de wined3d: D3DRS_BLENDFACTOR should not influence glBlend(TRUE/FALSE). 2006-12-26 12:37:20 +01:00
Stefan Dösinger df97fd3e46 wined3d: Reinstall the nvrc texture unit mapping. 2006-12-20 17:09:40 +01:00
Stefan Dösinger 22e2a5aca5 wined3d: Add pixel shaders to the state table. 2006-12-20 17:09:21 +01:00
Stefan Dösinger 666b507766 wined3d: Move samplers to the state table. 2006-12-20 17:07:56 +01:00
Stefan Dösinger 2d1aeb4382 wined3d: Add empty sampler entries to the state table. 2006-12-20 17:07:47 +01:00
Stefan Dösinger 557b1fa477 wined3d: Make WINED3DTSS_CONSTANT a nogl state. 2006-12-20 17:07:19 +01:00
Stefan Dösinger 63a8c3c408 wined3d: Make a WINED3DTSS_RESULTARG stub. 2006-12-20 17:07:11 +01:00
Stefan Dösinger aec9f1143b wined3d: Make WINED3DTSS_TEXTURETRANSFORMFLAGS a nogl state. 2006-12-20 17:07:02 +01:00
Stefan Dösinger 1021f64474 wined3d: Add a WINED3DTSS_BUMPENVLOFFSET stub. 2006-12-20 17:06:51 +01:00
Stefan Dösinger 72a4f6e1cf wined3d: Add a WINED3DTSS_BUMPENVSCALE stub. 2006-12-20 17:06:35 +01:00
Stefan Dösinger 4e5314011b wined3d: Move WINED3DTSS_TEXCOORDINDEX to the state table. 2006-12-20 17:06:24 +01:00
Stefan Dösinger bd6a6ad2c0 wined3d: Move WINED3DTSS_ALPHAOP to the state table. 2006-12-20 17:06:10 +01:00
Stefan Dösinger 762af471e8 wined3d: Move WINED3DTSS_COLOROP to the state table. 2006-12-20 17:06:00 +01:00
Stefan Dösinger 569a2fa7c0 wined3d: Add empty texture stage states to the state table. 2006-12-20 17:05:40 +01:00
Stefan Dösinger f661a8287c wined3d: Add WINED3DRS_STIPPLEPATTERNxy. 2006-12-19 16:53:44 +01:00
Stefan Dösinger f154f543aa wined3d: Fix a function name. 2006-12-19 16:53:37 +01:00
Stefan Dösinger ff077ec621 wined3d: Add missing render state function. 2006-12-19 16:53:30 +01:00
Stefan Dösinger 92460b98d1 wined3d: Move WINED3DRS_SEPARATEALPHABLENDENABLE to the state table. 2006-12-11 16:27:04 +01:00
Stefan Dösinger 8a5bf91b4e wined3d: Move SRGBWRITEENABLE to the state table. 2006-12-11 16:26:53 +01:00
Stefan Dösinger cd0d0a7041 wined3d: Move tesselation to the state table. 2006-12-11 16:26:39 +01:00
Stefan Dösinger 3bb41771ad wined3d: Move WINED3DRS_NORMALDEGREE to the state table. 2006-12-11 16:26:25 +01:00
Stefan Dösinger 052197acb0 wined3d: Move WINED3DRS_POSITIONDEGREE to the state table. 2006-12-11 16:26:14 +01:00
Stefan Dösinger e25edbfc66 wined3d: Make WINED3DRS_DEBUGMONITORTOKEN a nogl state. 2006-12-11 16:26:05 +01:00
Stefan Dösinger 8197470d67 wined3d: Move WINED3DRS_PATCHSEGMENTS to the state table. 2006-12-11 16:25:48 +01:00
Stefan Dösinger e498a16124 wined3d: Move WINED3DRS_PATCHEDGESTYLE to the state table. 2006-12-11 16:25:13 +01:00
Stefan Dösinger d7b8549963 wined3d: Move WINED3DRS_MULTISAMPLEMASK to the state table. 2006-12-11 16:25:03 +01:00
Stefan Dösinger 55a5b4ca1e wined3d: Move WINED3DRS_ANTIALIAS to the state table. 2006-12-11 16:24:52 +01:00
Stefan Dösinger 2710be0327 wined3d: Move WINED3DRS_STIPPLEDALPHA to the state table. 2006-12-11 16:24:38 +01:00
Stefan Dösinger 312be46415 wined3d: Move WINED3DRS_TEXTUREPERSPECTIVE to the state table. 2006-12-11 16:24:23 +01:00
Stefan Dösinger 30cf5e4e90 wined3d: Move WINED3DRS_DEPTHBIAS to the state table. 2006-12-11 16:24:10 +01:00
Stefan Dösinger d7e55c2841 wined3d: Move WINED3DRS_SCISSORTESTENABLE to the state table. 2006-12-11 16:23:57 +01:00
Stefan Dösinger 0c1aba5fe2 wined3d: Move WINED3DRS_MULTISAMPLEANTIALIAS to the state table. 2006-12-11 16:23:45 +01:00
Stefan Dösinger 81dce7189d wined3d: Move WINED3DRS_WRAPx to the state table. 2006-12-11 16:23:34 +01:00
Stefan Dösinger 920225d4a4 wined3d: Move WINED3DRS_POINTSPRITEENABLE to the state table. 2006-12-11 16:23:18 +01:00
Stefan Dösinger c5344709b1 wined3d: Move WINED3DRS_LASTPIXEL to the state table. 2006-12-11 16:22:48 +01:00
Stefan Dösinger 580b9961f4 wined3d: Move WINED3DRS_LOCALVIEWER to the state table. 2006-12-11 16:22:35 +01:00
Stefan Dösinger 4c64b86f5b wined3d: Move WINED3DRS_COLORWRITEENABLEx to the state table. 2006-12-11 16:22:18 +01:00
Stefan Dösinger caa371a69c wined3d: Move point scale render states to the state table. 2006-12-11 16:22:03 +01:00
Stefan Dösinger 9a0e4b5453 wined3d: Move WINED3DRS_POINTSIZE_MAX to the state table. 2006-12-11 16:21:39 +01:00
Stefan Dösinger 51b41d9981 wined3d: Move WINED3DRS_POINTSIZE_MIN to the state table. 2006-12-11 16:21:23 +01:00
Stefan Dösinger 0ec7c8b55a wined3d: Move WINED3DRS_POINTSIZE to the state table. 2006-12-11 16:20:52 +01:00
Stefan Dösinger 2ea57677d3 wined3d: Move WINED3DRS_NORMALIZENORMALS to the state table. 2006-12-11 16:20:01 +01:00
Stefan Dösinger dd6f5a5437 wined3d: Move WINED3DRS_ZBIAS to the state table. 2006-12-11 16:19:50 +01:00
Stefan Dösinger 6a5d7df74f wined3d: Move WINED3DRS_LINEPATTERN to the state table. 2006-12-11 16:19:36 +01:00
Stefan Dösinger 81a1dce0cb wined3d: Move WINED3DRS_COLORVERTEX to the state table. 2006-12-11 16:19:19 +01:00
Stefan Dösinger 1328da09da wined3d: Set WINED3DRS_INDEXEDVERTEXBLENDENABLE to state_nogl. 2006-12-11 12:47:11 +01:00
Stefan Dösinger e53c2a9c4c wined3d: Move wined3drs_fogdensity to the state table. 2006-12-11 12:46:41 +01:00
Stefan Dösinger af935a2402 wined3d: Move WINED3DRS_FOGCOLOR to the state table. 2006-12-11 12:43:29 +01:00
Stefan Dösinger f260248650 wined3d: Make WINED3DRS_RANGEFOGENABLE a nogl state. 2006-12-11 12:43:13 +01:00
Stefan Dösinger 6175273c28 wined3d: Move fog states to the state table. 2006-12-11 12:42:59 +01:00
Stefan Dösinger 8d7243192a wined3d: Move WINED3DRS_STENCILWRITEMASK to the state table. 2006-12-11 12:42:46 +01:00
Stefan Dösinger 0d9ae20883 wined3d: Move stencil states to the state table. 2006-12-11 12:42:27 +01:00
Stefan Dösinger 0772bb49e4 wined3d: Move WINED3DRS_SPECULARENABLE to the state table. 2006-12-11 12:42:14 +01:00
Stefan Dösinger 287c6247ab wined3d: Move WINED3DRS_TEXTUREFACTOR to the state table. 2006-12-11 12:42:04 +01:00
Stefan Dösinger ac26172c2d wined3d: Move WINED3DRS_BLENDOP to the state table. 2006-12-11 12:41:51 +01:00
Stefan Dösinger 89e999ac71 wined3d: Move clipping states to the state table. 2006-12-11 12:41:21 +01:00
Stefan Dösinger c88efeef05 wined3d: Move alpha states to the state table. 2006-12-11 12:40:27 +01:00
Stefan Dösinger 1f07e4af18 wined3d: Move blending related states to the state table. 2006-12-08 12:25:53 +01:00
Stefan Dösinger 28cc3c8d6b wined3d: Move WINED3DRS_AMBIENT to the state table. 2006-12-08 12:25:28 +01:00
Stefan Dösinger 2ac48e8154 wined3d: Move WINED3DRS_ZFUNCENABLE to the state table. 2006-12-08 12:25:20 +01:00
Stefan Dösinger 8879c7d8dd wined3d: Move WINED3DRS_ZWRITEENABLE to the state table. 2006-12-08 12:25:09 +01:00
Stefan Dösinger bb622e81bd wined3d: Move WINED3DRS_DITHERENABLE to the state table. 2006-12-08 12:24:55 +01:00
Stefan Dösinger 68f1082284 wined3d: Move WINED3DRS_SHADEMODE to the state table. 2006-12-08 12:24:45 +01:00
Stefan Dösinger e4b4c040f0 wined3d: Move WINED3DRS_CULLMODE to the state table. 2006-12-08 12:24:31 +01:00
Stefan Dösinger bb564dc6fa wined3d: Move WINED3DRS_ZENABLE to the state table. 2006-12-08 12:24:21 +01:00
Stefan Dösinger 53e788956a wined3d: Move WINED3DRS_LIGHTNING to the state table. 2006-12-08 12:24:14 +01:00
Stefan Dösinger de96320421 wined3d: Move WINED3DRS_FILLMODE to the state table. 2006-12-07 21:10:54 +01:00
Stefan Dösinger 2a24e84a65 wined3d: Add render states to the state table. 2006-12-07 21:10:26 +01:00
Stefan Dösinger c0268c7840 wined3d: Create the state table. 2006-12-07 21:10:07 +01:00