Stefan Dösinger
79666d2b6d
wined3d: Don't return a value from a void function.
2010-08-23 13:37:03 +02:00
Henri Verbeet
37c8632811
wined3d: Make some lookup tables const.
2010-08-04 13:24:24 +02:00
Henri Verbeet
4936e71828
wined3d: Clamp vertex shader outputs.
...
To avoid having to interpolate infinities over fragments.
2010-07-29 17:33:35 +02:00
Henri Verbeet
2114a36936
wined3d: Unify vertex shader output handling between shader models.
2010-07-29 17:33:35 +02:00
Henri Verbeet
ea2bb2a904
wined3d: Invalid NP2 fixup info is an internal error.
2010-07-28 12:22:52 +02:00
Henri Verbeet
0d25da0c0d
wined3d: Properly take both input and output masks into account in handle_ps3_input().
2010-07-28 12:22:50 +02:00
Henri Verbeet
ce39714228
wined3d: Check for unread registers in a more logical way in handle_ps3_input().
...
~0U always >= (in_count + 2).
2010-07-28 12:22:40 +02:00
Francois Gouget
620087c545
wined3d: Remove spaces after '\n's.
2010-06-24 10:33:46 +02:00
Rico Schüller
c223e73bbb
wined3d: Improve fglrx glsl spam filter.
2010-06-15 19:58:30 +02:00
Henri Verbeet
6f57aabc0a
wined3d: Handle a zero source value for WINED3DSIH_POW.
2010-05-27 14:46:43 +02:00
Henri Verbeet
e8ac9bbd7f
wined3d: Get rid of GLINFO_LOCATION.
2010-05-25 13:29:00 +02:00
Henri Verbeet
79145e215b
wined3d: Add support for shadow samplers.
2010-05-17 13:19:53 +02:00
Henri Verbeet
49e076eabd
wined3d: Separate context acquisition and state application.
2010-05-04 13:14:59 +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
Alexandre Julliard
fdfabd53f1
wined3d: Avoid a compiler warning on old gcc.
2010-04-26 07:18:18 -05:00
Henri Verbeet
1c403e44b5
wined3d: Store the current render target as an IWineD3DSurfaceImpl pointer in the context.
2010-04-22 11:28:12 +02:00
Henri Verbeet
c7a1848656
wined3d: Store render targets as IWineD3DSurfaceImpl pointers in the device.
2010-04-20 11:14:30 +02:00
Henri Verbeet
4cd69b8a09
wined3d: Simplify the generated GLSL for NRM.
2010-03-19 14:31:40 +01:00
Henri Verbeet
18ec2525a4
wined3d: Store the swapchain instead of the surface in the context.
2010-03-16 11:44:44 +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
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
c43c2a2845
wined3d: Use the absolute source value in shader_glsl_rsq().
2010-02-01 14:16:26 +01:00
Henri Verbeet
adf4ca2e23
wined3d: Handle a zero source value for WINED3DSIH_RSQ.
2010-02-01 14:16:22 +01:00
Henri Verbeet
ef82681d59
wined3d: Handle a zero source value for WINED3DSIH_RCP.
2010-02-01 14:16:18 +01:00
Henri Verbeet
4a8f93bade
wined3d: Handle a zero source value for WINED3DSIH_LOG.
2010-02-01 14:16:15 +01:00
Henri Verbeet
bef792f5ff
wined3d: Handle zero-length vectors for WINED3DSIH_NRM.
...
Unfortunately there's no reliable way to generate infinity in GLSL, but a
sufficiently large value will probably do. The important part of the patch is
that we don't generate NaN, because that will keep propagating through the
entire shader.
2010-02-01 14:16:11 +01:00
Henri Verbeet
9f21f2c2f2
wined3d: Dump the GLSL shader source on link failure.
...
Mostly to help Mesa developers diagnose bug reports involving GLSL compile
failures, but it's convenient in general to have the source all in one place.
2010-01-29 13:30:06 +01:00
Henri Verbeet
705f96fa39
wined3d: Get rid of some unnecessary casts to specific shader types.
2010-01-26 12:08:13 +01:00
Henri Verbeet
3d112b6525
wined3d: Add support for EXT_gpu_shader4 provided sampling functions with explicit derivatives.
2010-01-25 12:58:59 +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
c78cce8845
wined3d: Use the correct GLSL functions for sampling Rect textures with explicit derivatives.
...
Also kill the obsolete comment.
2010-01-25 12:58:48 +01:00
Henri Verbeet
5f4ff65fb4
wined3d: Use the GLSL round() function when available.
2010-01-25 12:58:43 +01:00
Henri Verbeet
46cefd312c
wined3d: Recognize the SM4 cut opcode.
2010-01-07 09:26:54 +01:00
Henri Verbeet
3687677427
wined3d: Recognize the SM4 lt opcode.
2010-01-07 09:26:30 +01:00
Henri Verbeet
6d5aca61f3
wined3d: Recognize the SM4 iadd opcode.
2010-01-07 09:26:25 +01:00
Henri Verbeet
22939f9d29
wined3d: Recognize the SM4 emit opcode.
2010-01-07 09:26:20 +01:00
Henri Verbeet
c57c76b78e
wined3d: Recognize the SM4 ige opcode.
2010-01-07 09:26:08 +01:00
Henri Verbeet
b548e387ae
wined3d: Move shader input/output signatures to IWineD3DBaseShaderClass.
2009-12-31 12:12:16 +01:00
Henri Verbeet
b3defd4c80
wined3d: Rename "wineD3DDevice" to "device".
2009-12-10 11:54:47 +01:00
Stefan Dösinger
0e77a381ea
wined3d: Create clip coords only if they are used.
...
If GL vertex shader clipping is supported (GLSL or NVvp), we currently
always calculate clipping results in the shader. They're gracefully
discarded by opengl, but we need 6 constants / uniforms to calculate
unused values.
2009-11-12 15:18:00 +01:00
Henri Verbeet
111307dfba
wined3d: Get rid of the GL_SUPPORT macro.
2009-10-29 13:09:33 +01:00
Henri Verbeet
48e03bc189
wined3d: Introduce a separate structure for various OpenGL implementation limits.
2009-10-29 13:09:27 +01:00
Henri Verbeet
eeb54b9922
wined3d: Keep better track of where we're using wined3d contexts.
...
The idea here is that we can restore the thread's current GL context on
context_release() if it doesn't correspond to the current wined3d context on
context_acquire().
2009-10-28 11:15:19 +01:00
Henri Verbeet
6be41fd59a
wined3d: Get rid of GL_LIMITS.
2009-10-22 10:46:05 +02:00
Henri Verbeet
55047f811a
wined3d: Fix some GLINFO_LOCATION abuse.
2009-10-22 10:45:57 +02:00
Henri Verbeet
fa548414f9
wined3d: Free the shader buffer in shader_glsl_free() (Valgrind).
2009-10-21 16:05:57 +02:00
Stefan Dösinger
435646550b
wined3d: Use GLSL constant limits in GLSL.
2009-10-20 14:46:13 +02:00
Stefan Dösinger
2d802af4d9
wined3d: Make shader specific constants accessible via GL_LIMITS.
2009-10-20 14:46:08 +02:00
Stefan Dösinger
dc45657f2c
wined3d: Fix vs_2_0 sgn.
...
vs_2_0's sgn has two extra parameters - temporary registers for the
instruction. This patch fixes the crash of the d3d9:visual test on windows and
properly handles the vs_2_0 version of sgn.
2009-10-02 12:36:59 +02:00
Henri Verbeet
f88c6e5ce5
wined3d: Move common shader fields to IWineD3DBaseShaderClass.
2009-09-25 15:14:35 +02:00