Commit Graph

125 Commits

Author SHA1 Message Date
Henri Verbeet b68d257710 wined3d: Get rid of redundant comparisons against NULL / 0. 2010-09-14 09:43:33 -05:00
Henri Verbeet bc2db78c3a wined3d: Explicitly document some more consequences of GL locking policy.
The basic rule is that you can't call anything that takes the user32 / gdi32
lock while under the GL (winex11) lock. As a consequence, you can't call
anything like context_acquire() or context_destroy() either.
2010-09-03 11:05:10 +02:00
Henri Verbeet 6c4c351791 wined3d: Don't require wined3d object parents to be COM objects. 2010-09-01 14:01:02 +02:00
Henri Verbeet 3a7f08a56f wined3d: Rename wined3d_format_desc to wined3d_format. 2010-08-31 14:23:47 +02:00
Henri Verbeet 37c8632811 wined3d: Make some lookup tables const. 2010-08-04 13:24:24 +02:00
Henri Verbeet 2114a36936 wined3d: Unify vertex shader output handling between shader models. 2010-07-29 17:33:35 +02:00
Stefan Dösinger 068915a4f1 wined3d: Check the writemask before activating the oC0 optimization.
The comment above the code correctly mentions that this optimization
does not work if oC0 is written partially, but the code doesn't
actually check for this condition.
2010-07-22 10:22:46 +02:00
Stefan Dösinger 6b794cbd64 wined3d: Only perform sRGB write correction on formats that advertise it. 2010-07-22 10:22:26 +02:00
Stefan Dösinger b5da118531 wined3d: Catch RCP 0.0 in ARB. 2010-05-21 18:58:04 +02:00
Henri Verbeet 79145e215b wined3d: Add support for shadow samplers. 2010-05-17 13:19:53 +02:00
Henri Verbeet 0122cee51f wined3d: Make sure all fields of the shader backend caps are always initialized. 2010-05-03 13:50:57 +02:00
Henri Verbeet f09b8e454d wined3d: Avoid some needless depth buffer copies.
If an application switches between render targets of a different size, but
with the same depth/stencil surface it'll typically clear the depth/stencil
surface before drawing. However, in case of the smaller render target that
wouldn't be a full clear, so we'd have to do a depth copy if we also switched
between onscreen and offscreen rendering. Keeping track of which part of the
depth/stencil surface is current for onscreen/offscreen allows us to avoid
most of these kinds of copies. The current scheme requires the current/dirty
rectangle to have an origin at (0,0). This could be extended to an arbitrary
rectangle, but the bookkeeping becomes somewhat more complex in that case, and
it's not clear that there would be much of a benefit at this point.
2010-04-29 10:19:39 -05:00
Henri Verbeet d373e14d53 wined3d: Add a FIXME for predicated shader instructions. 2010-04-08 12:26:10 +02:00
Henri Verbeet ba519be60f wined3d: Split TEXT shader comments into separate lines.
Based on a patch by Christian Costa.
2010-03-04 17:29:16 +01:00
Roderick Colenbrander 922ad80f42 wined3d: Rename yuv to complex in order to prepare for 8-bit palette fixups using the same code. 2010-03-03 12:53:41 +01:00
Henri Verbeet de006dbcf9 wined3d: Escape shader comments. 2010-02-23 12:06:58 +01:00
Henri Verbeet eefb45f333 wined3d: Properly report shader comment sizes. 2010-02-23 12:06:54 +01:00
Henri Verbeet 576ea95803 wined3d: Remove the unused device type parameter from the shader backend's get_caps() function. 2010-02-04 13:39:27 +01:00
Henri Verbeet f71e84d89c wined3d: Store a pointer to the GL info in the shader context. 2010-01-25 12:58:52 +01:00
Henri Verbeet 516d54bf91 wined3d: Merge baseshader.c into shader.c. 2010-01-18 14:37:51 +01:00
Henri Verbeet 41401fb8cf wined3d: Add a geometry shader object.
This is just the object used to store the byte code, the shader compiler
doesn't know how to handle geometry shaders yet.
2010-01-04 11:41:28 +01:00
Henri Verbeet 14da44aa36 wined3d: Merge vertexshader_set_function() and pixelshader_set_function(). 2009-12-31 12:12:16 +01:00
Henri Verbeet b548e387ae wined3d: Move shader input/output signatures to IWineD3DBaseShaderClass. 2009-12-31 12:12:16 +01:00
Henri Verbeet 736aaf7d09 wined3d: Always handle WINED3DSPR_INPUT registers as input registers in shader_get_registers_used().
The "attributes" vertexshader field is now derived from the input signature,
and only used to speed up matching D3D9 vertex declaration elements to shader
inputs. D3D8 and D3D10 both explicitly specify input registers.
2009-12-31 12:12:16 +01:00
Henri Verbeet 2b1ee87328 wined3d: Merge pixelshader.c and vertexshader.c. 2009-12-31 12:12:16 +01:00