100 Commits

Author SHA1 Message Date
Henri Verbeet
d508a855c1 wined3d: Recognize the SM4 sqrt opcode. 2010-10-20 18:37:07 +02:00
Henri Verbeet
4eb8fd7960 wined3d: Recognize the SM4 sample_d opcode. 2010-10-14 17:54:52 +02:00
Henri Verbeet
50f6fbadb0 wined3d: Recognize the SM4 ld opcode. 2010-10-13 13:00:30 +02:00
Henri Verbeet
7c6658f970 wined3d: Recognize the SM4 ieq opcode. 2010-10-13 13:00:26 +02:00
Henri Verbeet
a9e3058426 wined3d: Recognize the SM4 ftoi opcode. 2010-10-13 13:00:22 +02:00
Henri Verbeet
b53d346d35 wined3d: Recognize the SM4 div opcode. 2010-10-13 13:00:17 +02:00
Henri Verbeet
916167e93a wined3d: Recognize the SM4 resource register type. 2010-10-12 17:36:30 +02:00
Henri Verbeet
ff9c2fcdb2 wined3d: Recognize the SM4 utof opcode. 2010-10-11 17:11:28 +02:00
Henri Verbeet
18d7a73af8 wined3d: Recognize the SM4 sample_l opcode. 2010-10-11 17:11:28 +02:00
Henri Verbeet
407ed1b875 wined3d: Recognize the SM4 sample opcode. 2010-10-11 17:11:28 +02:00
Henri Verbeet
b2f520b5f0 wined3d: Recognize the SM4 itof opcode. 2010-10-11 17:11:28 +02:00
Henri Verbeet
1fe1676ae9 wined3d: SM4 immediate constants are typeless. 2010-10-08 15:26:42 +02:00
Henri Verbeet
d369136a96 wined3d: Recognize the SM4 imul opcode. 2010-10-08 15:26:33 +02:00
Henri Verbeet
0677a67c7b wined3d: Recognize the SM4 NULL register type. 2010-10-08 15:26:28 +02:00
Henri Verbeet
7c7205d90a wined3d: Allow multiple shader instruction destination arguments. 2010-10-08 15:26:19 +02:00
Henri Verbeet
512e6cec2c wined3d: Recognize the SM4 movc opcode. 2010-10-07 15:58:10 +02:00
Henri Verbeet
1330f844f8 wined3d: Recognize the SM4 and opcode. 2010-10-07 15:58:09 +02:00
Matteo Bruni
20010235ad wined3d: Keep track of texture transformation states in compiled pixel shaders. 2010-10-04 15:00:08 +02:00
Henri Verbeet
e12f5ff08a wined3d: Pass a wined3d_state structure to find_ps_compile_args(). 2010-09-29 12:22:39 +02:00
Henri Verbeet
8d5a25bbec wined3d: Pass a wined3d_state structure to find_vs_compile_args(). 2010-09-29 12:22:36 +02:00
Henri Verbeet
9224751a13 wined3d: Pass a wined3d_state structure to use_vs(). 2010-09-28 17:33:17 +02:00
Henri Verbeet
dd4aea36c9 wined3d: Move the vertex shader to wined3d_state. 2010-09-20 13:48:12 +02:00
Henri Verbeet
d728d5f0ec wined3d: Move texture bindings to wined3d_state. 2010-09-18 13:05:49 +02:00
Henri Verbeet
5a3a4ac77a wined3d: Remove IWineD3DBaseTexture::GetTextureDimensions() from the public wined3d interface. 2010-09-18 13:05:44 +02:00
Henri Verbeet
1ef4f075c1 wined3d: Introduce a separate structure for stateblock states.
We'd like to not pass an entire stateblock to things like state handlers and
the shader backend, because those then use the stateblock to get to the
device and through there to all the rest of wined3d. This would also be
required for serialization of wined3d draw and state change commands into a
single GL context. Resource updates would be explicitly excluded from
serialization.
2010-09-15 10:33:14 -05:00
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