Stefan Dösinger
7248354067
wined3d: Pixel shader 1.x constants are clamped to [-1;1].
2007-09-14 14:23:45 +02:00
Stefan Dösinger
bc69315f78
wined3d: texm3x3(v)spec normalizes the normal vector.
2007-09-13 11:38:46 +02:00
Stefan Dösinger
5ab9d85c39
wined3d: Implement texbeml.
2007-09-12 12:10:03 +02:00
Stefan Dösinger
422e0ba1cc
wined3d: texkill ignores the .w only in ps 1.x.
2007-09-11 13:48:08 +02:00
Stefan Dösinger
8656713366
wined3d: Implement texldb.
2007-09-11 13:47:58 +02:00
Stefan Dösinger
a006d2568b
wined3d: Fix texdepth instruction.
2007-09-11 13:47:49 +02:00
Stefan Dösinger
33ecb1db1a
wined3d: The temp vars are tmp0 and tmp1.
2007-08-31 12:08:57 +02:00
Stefan Dösinger
e7cbb340dc
wined3d: Remove stateblock::set.*.
2007-08-13 11:36:43 +02:00
H. Verbeet
1c14c180b7
wined3d: Implement dsx & dsy shader instructions.
2007-07-03 12:32:52 +02:00
Stefan Dösinger
a1f83aae8e
wined3d: rsq and rcp use the .w component if no swizzle is given.
2007-07-03 12:29:34 +02:00
H. Verbeet
973496d5e4
wined3d: Cleanup shader_glsl_load_psamplers().
2007-07-02 13:36:26 +02:00
H. Verbeet
1d4042cee1
wined3d: Implement texldl.
2007-06-28 11:01:15 +02:00
Michael Stefaniuc
0326da9dd5
wined3d: Remove superfluous casts of void pointers to other pointer types.
2007-06-27 12:53:37 +02:00
H. Verbeet
3ad03206ab
wined3d: Rename max_samplers to max_fragment_samplers.
2007-06-26 11:56:57 +02:00
H. Verbeet
2e786e09bb
wined3d: Use texture2D to sample in pshader_glsl_texdp3tex().
2007-06-21 13:10:32 +02:00
H. Verbeet
8311ff32a3
wined3d: Take the texUnitMap into account when loading shader_glsl_load_psamplers().
2007-06-13 11:23:06 +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
H. Verbeet
c3c5724789
wined3d: WINED3DSIO_POW should use the absolute value of the first source register.
2007-05-11 13:24:15 +02:00
H. Verbeet
89245248c7
wined3d: Handle the ps_3_0 vPos field.
2007-05-04 13:41:54 +02:00
H. Verbeet
a79654d339
wined3d: Fix some swizzles on scalars.
2007-04-13 12:56:06 +02:00
Fabian Bieler
0ce39d5869
wined3d: Fix GLSL cnd instruction.
...
According to MSDN the cnd instruction should translate:
dst = src0 > 0.5 ? src1 : src2;
2007-04-05 10:55:00 +02:00
Fabian Bieler
91df230624
wined3d: Fix GLSL cnd instruction for INF and NAN arguments.
2007-04-04 21:26:30 +02:00
Fabian Bieler
2843b0f929
wined3d: Fix GLSL cmp instruction for INF and NAN arguments.
2007-04-04 21:26:23 +02:00
Fabian Bieler
333de16fb6
wined3d: Implement support for projective textures in ps 2.0 and later.
2007-03-29 21:15:29 +02:00
Stefan Dösinger
bee084503b
wined3d: Implement bem shader instruction.
2007-03-27 12:30:38 +02:00
Fabian Bieler
97967d3671
wined3d: Fix glsl texbem instruction for projective textures.
2007-03-23 12:31:35 +01:00
Fabian Bieler
4b3ac837aa
wined3d: Implemented bump map transform for texbem in GLSL with native signed textures.
2007-03-23 12:31:27 +01:00
Stefan Huehner
4d1d01f266
Mark several functions as static.
2007-03-13 13:35:12 +01:00
H. Verbeet
30ee071eb9
wined3d: Disable vertex shaders when transformed vertices are used.
2007-03-13 11:55:55 +01:00
H. Verbeet
25cd1c4d28
wined3d: gl_FogFragCoord is a scalar.
2007-03-05 12:06:45 +01:00
H. Verbeet
19d223cade
wined3d: Store multiple constant indices per list entry.
2007-02-28 13:35:34 +01:00
H. Verbeet
2c85e5e8a3
wined3d: Store GLSL programs in a hash table rather than a linked list.
2007-02-28 13:35:23 +01:00
Stefan Dösinger
99576ea24e
wined3d: Implement texbem in arb, improve it in glsl.
2007-02-15 11:36:14 +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
Francois Gouget
536e738552
Assorted spelling fixes.
2007-02-14 21:03:57 +01:00
H. Verbeet
efed9aea1f
d3d8: Move loading local d3d8 vertex shader constants from wined3d to d3d8.
2007-02-14 13:54:55 +01:00
H. Verbeet
32e5cac2be
wined3d: Get rid of the vertexDeclaration field in IWineD3DVertexShaderImpl.
2007-02-14 13:54:29 +01:00
H. Verbeet
8f0884066f
wined3d: Add WINED3DDECLUSAGE, use it.
2007-02-14 13:50:22 +01:00
H. Verbeet
2d9540cab7
wined3d: Don't use WINED3DSHADERDECLUSAGE_PSIZE / WINED3DSHADERDECLUSAGE_FOG.
2007-02-14 13:50:01 +01:00
Chris Robinson
5f1a1bbc84
wined3d: Properly round negative values in shader_glsl_mov.
2007-02-12 14:12:29 +01:00
Stefan Dösinger
fa97fbdcad
wined3d: Make shader_cleanup more useful.
2007-02-12 12:37:48 +01:00
H. Verbeet
efed4c33c2
wined3d: gl_FragDepth is a float, so fixup the write mask.
2007-01-19 12:29:11 +01:00
H. Verbeet
955fb95eb6
wined3d: Give shader constants their own debug channel.
2007-01-18 12:09:09 +01:00
H. Verbeet
79c7aeab00
wined3d: Fix a typo.
2007-01-18 12:09:03 +01:00
H. Verbeet
e3cc00cf47
wined3d: Add a glsl_src_param_t type, pass it to shader_glsl_add_src_param() instead of three separate character arrays.
2007-01-16 16:14:21 +01:00
H. Verbeet
04e6250c87
wined3d: Add a glsl_dst_param_t type, pass it to shader_glsl_add_dst_param() instead of three separate character arrays.
2007-01-16 16:13:58 +01:00
H. Verbeet
6f3fae4e04
wined3d: Simplify shader_glsl_get_write_mask().
2007-01-16 16:13:29 +01:00
H. Verbeet
c6bccc9278
wined3d: Simplify shader_glsl_get_swizzle().
2007-01-16 16:13:19 +01:00
H. Verbeet
48f82d3f5e
wined3d: Fix pshader_glsl_tex() and pshader_glsl_texcoord().
2007-01-16 16:13:10 +01:00
H. Verbeet
c3bfef8d7e
wined3d: Pass the correct mask to shader_glsl_add_src_param() in shader_glsl_callnz().
2007-01-16 16:12:46 +01:00
H. Verbeet
50e0deafca
wined3d: Pass the correct mask to shader_glsl_add_src_param() in shader_glsl_breakc().
2007-01-16 16:12:37 +01:00
H. Verbeet
f593cd0de8
wined3d: Pass the correct mask to shader_glsl_add_src_param() in shader_glsl_ifc().
2007-01-16 16:12:26 +01:00
H. Verbeet
a89edf1be9
wined3d: Pass the correct mask to shader_glsl_add_src_param() in shader_glsl_if().
2007-01-16 16:12:18 +01:00
H. Verbeet
9f22df26ef
wined3d: Pass the correct mask to shader_glsl_add_src_param() in shader_glsl_rep().
2007-01-16 16:12:11 +01:00
H. Verbeet
2cb49c67db
wined3d: Pass the correct mask to shader_glsl_add_src_param() in shader_glsl_loop().
...
Fix the comment.
2007-01-16 16:12:02 +01:00
H. Verbeet
cf1a3cc81a
wined3d: Pass the correct mask to shader_glsl_add_src_param() in pshader_glsl_texm3x3vspec().
...
Use shader_glsl_get_sample_function().
Use the GLSL builtin reflect() function.
2007-01-16 16:11:45 +01:00
H. Verbeet
f0fb61daed
wined3d: Pass the correct mask to shader_glsl_add_src_param() in pshader_glsl_texm3x3spec().
...
Use shader_glsl_get_sample_function().
2007-01-16 16:11:26 +01:00
H. Verbeet
ba1740909e
wined3d: Pass the correct mask to shader_glsl_add_src_param() in pshader_glsl_texm3x3().
2007-01-16 16:11:13 +01:00
H. Verbeet
b26fae9a25
wined3d: Pass the correct mask to shader_glsl_add_src_param() in pshader_glsl_texm3x3tex().
...
Use shader_glsl_get_sample_function().
2007-01-16 16:11:02 +01:00
H. Verbeet
950783d4fd
wined3d: Pass the correct mask to shader_glsl_add_src_param() in pshader_glsl_texm3x2tex().
2007-01-16 16:10:43 +01:00
H. Verbeet
92ab90eee8
wined3d: Pass the correct mask to shader_glsl_add_src_param() in pshader_glsl_texm3x3pad().
2007-01-16 16:10:34 +01:00
H. Verbeet
459e0bf633
wined3d: Pass the correct mask to shader_glsl_add_src_param() in pshader_glsl_texm3x2pad().
2007-01-16 16:10:23 +01:00
H. Verbeet
04144983eb
wined3d: Pass the correct mask to shader_glsl_add_src_param() in pshader_glsl_texm3x2depth().
2007-01-16 16:10:17 +01:00
H. Verbeet
1947b27380
wined3d: Pass the correct mask to shader_glsl_add_src_param() in pshader_glsl_texdp3().
2007-01-16 16:10:07 +01:00
H. Verbeet
3cd84d9ab6
wined3d: Pass the correct mask to shader_glsl_add_src_param() in pshader_glsl_texdp3tex().
2007-01-16 16:10:01 +01:00
H. Verbeet
0fcb682af6
wined3d: Rewrite pshader_glsl_texreg2rgb to properly take the write mask into account.
...
Use shader_glsl_get_sample_function() rather than having the instruction handler figure it out itself.
Get rid of shader_glsl_add_dst_old().
2007-01-16 16:09:50 +01:00
H. Verbeet
67e203215f
wined3d: Split out getting the sample function and coordinate mask from shader_glsl_sample().
2007-01-16 16:09:23 +01:00
H. Verbeet
54137bacfa
wined3d: Pass the correct mask to shader_glsl_add_src_param() in pshader_glsl_texreg2gb().
2007-01-16 16:09:09 +01:00
H. Verbeet
8325937ded
wined3d: Pass the correct mask to shader_glsl_add_src_param() in pshader_glsl_texreg2ar.
...
Use the correct source swizzle.
2007-01-16 16:08:58 +01:00
H. Verbeet
7d07f31045
wined3d: Pass the correct mask to shader_glsl_add_src_param() in shader_glsl_dst().
2007-01-16 16:08:35 +01:00
H. Verbeet
146093af33
wined3d: Rewrite shader_glsl_rcp() to properly take the write mask into account.
2007-01-16 16:08:19 +01:00
H. Verbeet
9857158a99
wined3d: Rewrite shader_glsl_expp() to properly take the write mask into account.
2007-01-16 16:08:08 +01:00
H. Verbeet
2c60906ec4
wined3d: Rewrite shader_glsl_cnd() to properly take the write mask into account.
...
Take the difference between ps 1.4 and earlier versions into account.
2007-01-16 16:07:56 +01:00
H. Verbeet
693b6ef876
wined3d: Rewrite shader_glsl_cmp() to properly take the write mask into account.
2007-01-16 16:07:44 +01:00
H. Verbeet
1414d75a3f
wined3d: Rewrite shader_glsl_lrp() to properly take the write mask into account, use the GLSL mix instruction.
2007-01-16 16:07:35 +01:00
H. Verbeet
e0588e7475
wined3d: Pass the correct mask to shader_glsl_add_src_param() in shader_glsl_lit().
2007-01-16 16:07:15 +01:00
H. Verbeet
cb5c47f8fe
wined3d: Rewrite shader_glsl_mov() to properly take the write mask into account.
...
In case of writing to an address register round the source.
2007-01-16 16:07:05 +01:00
H. Verbeet
9425aef623
wined3d: Rewrite pshader_glsl_dp2add() to properly take the write mask into account.
2007-01-16 16:06:37 +01:00
H. Verbeet
f3a4d35dee
wined3d: Rewrite shader_glsl_dot() to properly take the write mask into account.
2007-01-16 16:06:25 +01:00
H. Verbeet
b3ff0c3703
wined3d: Rewrite shader_glsl_map2gl() to properly take the write mask into account.
2007-01-16 16:06:11 +01:00
H. Verbeet
7252b4d340
wined3d: Give WINED3DSIO_CRS its own function, properly take the write mask into account.
2007-01-16 16:05:49 +01:00
H. Verbeet
b557a8021a
wined3d: Move WINED3DSIO_SGE & WINED3DSIO_SLT from shader_glsl_map2gl() to shader_glsl_compare() where they belong.
...
Properly take the write mask into account
2007-01-16 16:04:18 +01:00
H. Verbeet
e0f0bf1d08
wined3d: Rewrite shader_glsl_mad() to properly take the write mask into account.
2007-01-16 16:03:59 +01:00
H. Verbeet
b0fd23e844
wined3d: Rewrite shader_glsl_arith() to properly take the write mask into account.
2007-01-16 16:03:50 +01:00
H. Verbeet
4452120007
wined3d: Rewrite shader_glsl_sincos() to properly take the write mask into account.
...
The write mask can only be one of .x, .y, .xy
2007-01-16 16:03:38 +01:00
H. Verbeet
dc0d2a27f1
wined3d: Pass the correct mask to shader_glsl_add_src_param() in shader_glsl_get_register_name().
2007-01-16 16:03:25 +01:00
H. Verbeet
b8bc92dc7b
wined3d: Pass a mask to shader_glsl_add_src_param().
2007-01-16 16:03:15 +01:00
H. Verbeet
1bfc08e081
wined3d: Rename shader_glsl_add_dst() to shader_glsl_add_dst_old(), add shader_glsl_append_dst().
2007-01-16 16:02:41 +01:00
H. Verbeet
b28bd67fd9
wined3d: Fixup the write mask for gl_FogFragCoord and gl_PointSize.
...
gl_FogFragCoord and gl_PointSize are floats rather than vec4s in GLSL,
so they shouldn't have a destination swizzle, and the write mask we
return should consist of only the first component.
2007-01-16 16:02:21 +01:00
H. Verbeet
16cf41413b
wined3d: Return the (binary) write mask from shader_glsl_add_dst_param().
2007-01-16 16:02:13 +01:00
H. Verbeet
9f4f02b5fb
wined3d: Split shader_glsl_add_param() in shader_glsl_add_src_param() and shader_glsl_add_dst_param().
2007-01-16 16:02:06 +01:00
H. Verbeet
aa4d88d6f8
wined3d: Add a comment about D3D write masks and GLSL destination swizzles.
2007-01-16 16:01:55 +01:00
Christoph Bumiller
d905795503
wined3d: Sampler variables wrongly named 'shader'.
2007-01-03 11:01:26 +01:00
Alexandre Julliard
d46d7d13ab
Revert "wined3d: Simplify the get_write_mask and get_swizzle functions."
...
This reverts commit a9f658f6a6
.
2007-01-02 13:21:47 +01:00
H. Verbeet
a9f658f6a6
wined3d: Simplify the get_write_mask and get_swizzle functions.
2006-12-29 20:56:16 +01:00
H. Verbeet
0fae42da50
wined3d: Cleanup shader_glsl_get_input_register_swizzle().
2006-12-29 20:55:51 +01:00
H. Verbeet
2b9a63b5d1
wined3d: Cleanup shader_glsl_get_output_register_swizzle().
2006-12-29 20:55:25 +01:00
H. Verbeet
a22933e08e
wined3d: The default debug channel for arb_program_shader.c & glsl_shader.c already is d3d_shader.
2006-12-28 12:18:09 +01:00
H. Verbeet
c972351051
wined3d: Move set_glsl_shader_program() to glsl_shader.c.
2006-12-28 12:17:49 +01:00
H. Verbeet
e4fc45e0fe
wined3d: Allow wined3d to handle multiple render targets.
2006-12-20 12:32:30 +01:00