Stefan Dösinger
547be26d90
wined3d: Use the np2_fixup to find out if a RECT texture is used.
2013-04-15 17:45:54 +02:00
Stefan Dösinger
667f4225b5
wined3d: Put local constants into the shader code again.
...
This is essentially a revert of cd7825c893
,
with proper precision.
2013-04-09 16:33:25 +02:00
Michael Stefaniuc
50a9fb579c
wined3d: Remove ERR() on HeapAlloc failure for small sizes known at compile time.
2013-02-06 09:04:41 +01:00
Henri Verbeet
dc21460397
wined3d: Replace "VertexShaderMode" and "PixelShaderMode" with shader model limits.
2013-01-25 11:18:13 +01:00
Henri Verbeet
5ce220eb2f
wined3d: Add sRGB writes to the shader backend and fragment pipe caps.
2013-01-22 12:13:42 +01:00
Henri Verbeet
c525cf381d
wined3d: Move "vs_clipping" to the shader caps.
2013-01-21 12:51:22 +01:00
Henri Verbeet
0e0e3b76f5
wined3d: Move "ffp_proj_control" to the fragment caps.
2013-01-21 12:51:21 +01:00
Henri Verbeet
78984cf46c
wined3d: Get rid of ENTER_GL / LEAVE_GL.
2012-12-11 12:03:39 +01:00
Frédéric Delanoy
a6db668895
wined3d: Add some 'fall through' comments (coverity).
2012-11-30 11:42:24 +01:00
Henri Verbeet
7f62678c16
d3d10core: Implement d3d10_device_DrawIndexedInstanced().
2012-11-27 16:54:57 +01:00
Henri Verbeet
eefe6346a9
wined3d: Properly handle scalar destinations in shader_glsl_conditional_move().
...
In particular, we modify dst.write_mask in the code further down in order to
mask out unused channels, but the writemask is ignored for scalar registers.
Since all that code is redundant anyway for scalar destinations, we can just
reuse the special case for scalar src0.
2012-11-27 16:54:50 +01:00
Henri Verbeet
9a27b0ad71
wined3d: Add support for geometry shaders to the GLSL shader backend.
2012-11-15 12:19:36 +01:00
Henri Verbeet
0a7b32e3f0
wined3d: Handle relative addresses in the common code in shader_glsl_get_register_name().
2012-11-12 12:15:30 +01:00
Henri Verbeet
10d46bc042
wined3d: Add support for GLSL based fixed function fragment shaders.
2012-11-12 12:15:25 +01:00
Henri Verbeet
986f4cb9b1
wined3d: Introduce a separate function for generating the sRGB write GLSL code.
2012-11-09 11:30:25 +01:00
Henri Verbeet
f6d05fbae6
wined3d: Introduce a separate function for generating the fixed function fog GLSL code.
2012-11-09 11:30:22 +01:00
Henri Verbeet
02250bb1bd
wined3d: Introduce a separate function for initializing ps uniform locations.
2012-11-08 15:37:48 +01:00
Henri Verbeet
c9f4cfc96a
wined3d: Introduce a separate function for initializing vs uniform locations.
2012-11-08 15:37:48 +01:00
Henri Verbeet
e8b0de1e14
wined3d: Use more consistent names for the various bumpenv uniforms.
2012-11-07 11:57:29 +01:00
Henri Verbeet
9b118257c4
wined3d: Introduce a separate structure for the ps specific fields in struct glsl_shader_prog_link.
2012-11-07 11:57:27 +01:00
Henri Verbeet
ffd5e3eb81
wined3d: Introduce a separate structure for the vs specific fields in struct glsl_shader_prog_link.
2012-11-06 16:02:34 +01:00
Henri Verbeet
b8bb2a4f85
wined3d: Use the shader object ids as program key.
2012-11-06 16:02:34 +01:00
Henri Verbeet
0e856abf6d
wined3d: Enable or disable the fragment pipe in shader_select().
2012-11-05 11:30:33 +01:00
Henri Verbeet
5059da9e32
wined3d: Don't depend on device internals in fragment_pipeline.alloc_private().
...
In particular, device->shader_backend and device->shader_priv aren't
initialized yet when the fragment pipe is initialized.
2012-10-29 10:47:03 +01:00
Henri Verbeet
17e33e9b27
wined3d: Make the shader backend responsible for controlling the fixed function fragment pipe.
2012-10-25 11:48:31 +02:00
Henri Verbeet
81ae7f606b
wined3d: Explicitly check the shader type in shader_generate_glsl_declarations().
2012-10-23 12:11:13 +02:00
Henri Verbeet
c490fb37cf
wined3d: Implement WINED3DSIH_MOVC in the GLSL shader backend.
2012-10-22 11:44:22 +02:00
Henri Verbeet
7a437c29f3
wined3d: Merge a couple of shader type specific blocks in shader_generate_glsl_declarations().
2012-10-22 11:44:20 +02:00
Henri Verbeet
b96b4c63ee
wined3d: Use shader_glsl_get_prefix() in shader_glsl_gen_sample_code().
2012-10-22 11:44:02 +02:00
Henri Verbeet
6beb7dc1a8
wined3d: Merge most of the code for shader_glsl_cmp() and shader_glsl_cnd().
2012-10-18 22:32:19 +02:00
Henri Verbeet
b72ab48ed8
wined3d: Implement WINED3DSIH_ROUND_NI in the GLSL shader backend.
2012-10-18 22:32:14 +02:00
Henri Verbeet
0c1dd7f7d1
wined3d: Explicitly check the shader type in shader_glsl_load_constantsF().
2012-10-18 22:32:09 +02:00
Henri Verbeet
7365f9e6af
wined3d: Explicitly check the shader type in shader_glsl_get_register_name().
2012-10-18 22:32:03 +02:00
Henri Verbeet
e31945b8aa
wined3d: Implement WINED3DSIH_USHR in the GLSL shader backend.
2012-10-18 19:20:12 +02:00
Henri Verbeet
5ca5409b81
wined3d: Implement WINED3DSIH_UDIV in the GLSL shader backend.
2012-10-18 19:20:06 +02:00
Henri Verbeet
cc0b1bb03f
wined3d: Explcitly check the shader type in shader_glsl_get_sample_function().
2012-10-18 19:20:01 +02:00
Henri Verbeet
e832978adb
wined3d: Explicitly check the shader type in shader_glsl_gen_sample_code().
2012-10-18 19:19:54 +02:00
Henri Verbeet
6c3595fba8
wined3d: Handle WINED3DSPR_PRIMID in the GLSL shader backend.
2012-10-17 11:45:01 +02:00
Henri Verbeet
347dda068f
wined3d: Explicitly check the shader type in shader_glsl_mov().
2012-10-16 11:36:40 +02:00
Henri Verbeet
82a44af259
wined3d: Explicitly check the shader type in shader_glsl_texldl().
2012-10-16 11:36:34 +02:00
Henri Verbeet
5626e165ff
wined3d: Introduce a structure for shader register indices.
2012-10-15 13:31:07 +02:00
Henri Verbeet
21361d5237
wined3d: Use the correct relative address for constant buffers in the GLSL shader backend.
2012-10-15 13:31:06 +02:00
Henri Verbeet
2324ce6efb
wined3d: Implement WINED3DSIH_IMUL in the GLSL shader backend.
2012-10-12 13:21:33 +02:00
Henri Verbeet
ad1a1ee4fe
wined3d: Implement WINED3DSIH_UTOF in the GLSL shader backend.
2012-10-12 13:21:28 +02:00
Henri Verbeet
b7cd93240d
wined3d: Implement WINED3DSIH_ITOF in the GLSL shader backend.
2012-10-12 13:21:22 +02:00
Henri Verbeet
d48a0bc427
wined3d: Implement WINED3DSIH_FTOI in the GLSL shader backend.
2012-10-12 13:21:17 +02:00
Henri Verbeet
f8e1550ebb
wined3d: Implement WINED3DSIH_LT in the GLSL shader backend.
2012-10-11 18:51:04 +02:00
Henri Verbeet
842f75ee75
wined3d: Implement WINED3DSIH_IGE in the GLSL shader backend.
2012-10-11 18:51:00 +02:00
Henri Verbeet
819e5fa623
wined3d: Implement WINED3DSIH_GE in the GLSL shader backend.
2012-10-11 18:50:56 +02:00
Henri Verbeet
09f5f59229
wined3d: Implement WINED3DSIH_EQ in the GLSL shader backend.
2012-10-11 18:50:53 +02:00
Henri Verbeet
4c4b224330
wined3d: Implement WINED3DSIH_XOR in the GLSL shader backend.
2012-10-11 18:50:46 +02:00
Henri Verbeet
8f915156b9
wined3d: Implement SM4 WINED3DSIH_SINCOS in the GLSL shader backend.
2012-10-10 10:33:18 +02:00
Henri Verbeet
e34acc2251
wined3d: Implement SM4 loops in the GLSL shader backend.
2012-10-10 10:33:14 +02:00
Henri Verbeet
6e4ecdf854
wined3d: Implement WINED3DSIH_IADD in the GLSL shader backend.
2012-10-10 10:33:09 +02:00
Henri Verbeet
f9c181bf74
wined3d: Implement WINED3DSIH_DIV in the GLSL shader backend.
2012-10-10 10:33:05 +02:00
Henri Verbeet
2b46c4046a
wined3d: Implement WINED3DSIH_BREAKP in the GLSL shader backend.
2012-10-10 10:32:58 +02:00
Henri Verbeet
0931522795
wined3d: Implement WINED3DSIH_AND in the GLSL shader backend.
2012-10-08 11:28:41 +02:00
Henri Verbeet
4d39cb56fc
wined3d: Handle WINED3DSPR_CONSTBUFFER registers in the GLSL shader backend.
2012-10-03 11:19:42 +02:00
Henri Verbeet
6d948e1a8c
wined3d: Recognize the SM4 dcl_constantBuffer opcode.
2012-10-01 23:08:00 +02:00
Henri Verbeet
e13a589bfc
wined3d: Set more accurate limits for SM4 shaders.
2012-09-28 11:26:44 +02:00
Henri Verbeet
aa9daa285e
wined3d: Unify GLSL input / output variable naming.
2012-09-28 11:26:40 +02:00
Henri Verbeet
49f9d39493
wined3d: Introduce a separate function to retrieve the GLSL variable prefix.
2012-09-27 13:10:54 +02:00
Henri Verbeet
1ff07a7d68
wined3d: Take the data type of registers into account in the GLSL shader backend.
2012-09-25 11:19:15 +02:00
Henri Verbeet
eb4d20ef31
wined3d: Take the data type of immediates into account in shader_glsl_get_register_name().
2012-09-24 09:58:09 +02:00
Henri Verbeet
f298b96972
wined3d: Simplify shader_glsl_destroy() control flow a bit.
2012-09-21 10:53:13 +02:00
Henri Verbeet
00cdf1aaf1
wined3d: Merge the glsl_vshader_private and glsl_pshader_private structures.
2012-09-19 23:55:01 +02:00
Henri Verbeet
fb989f1d1e
wined3d: Implement version checks for geometry shaders.
2012-09-19 13:04:56 +02:00
Henri Verbeet
0932129993
wined3d: Implement WINED3DSIH_EMIT in the GLSL shader backend.
2012-09-18 10:18:57 +02:00
Henri Verbeet
c982e5f64b
wined3d: Implement WINED3DSIH_CUT in the GLSL shader backend.
2012-09-17 12:28:50 +02:00
Henri Verbeet
a67ee02a48
wined3d: Recognize the SM4 dcl_outputTopology opcode.
2012-09-17 12:28:40 +02:00
Henri Verbeet
0fbb98424c
wined3d: Recognize the SM4 dcl_inputPrimitive opcode.
2012-09-17 12:28:36 +02:00
Henri Verbeet
d574d639a4
wined3d: Recognize the SM4 dcl_maxOutputVertexCount opcode.
2012-09-17 12:28:28 +02:00
Henri Verbeet
a7bad0bde5
wined3d: Just handle all instructions in the shader backend.
2012-09-14 15:43:28 +02:00
Matteo Bruni
d37f8ea866
wined3d: Use BOOL instead of char in shader_load_constants().
2012-08-21 11:45:55 +02:00
Henri Verbeet
c11c2e2dbb
wined3d: Get rid of the d3d_caps debug channel.
2012-06-22 16:14:26 +02:00
Francois Gouget
19ba80e7c2
wined3d: We must include Wine's port.h before using NAN.
2012-06-01 17:41:52 +02:00
Matteo Bruni
2d810bdc89
wined3d: Clamp fog coordinate in the vertex shader.
2012-03-09 17:25:57 +01:00
Henri Verbeet
56a4680b69
wined3d: Complain when the hardware may not be able to run a shader.
2012-02-06 10:19:30 -06:00
Henri Verbeet
bee9adbd05
wined3d: Get rid of the WINED3DDECLUSAGE typedef.
2012-01-19 11:56:47 +01:00
Henri Verbeet
7f7bc520b6
wined3d: Get rid of the WINED3DTEXTURETRANSFORMFLAGS typedef.
2012-01-10 10:47:30 +01:00
Henri Verbeet
43fcbcb36e
wined3d: Get rid of the WINED3DTEXTURESTAGESTATETYPE typedef.
2012-01-10 10:47:27 +01:00
Henri Verbeet
66d453ce5c
wined3d: Don't declare more varyings than required by the shader model.
2011-12-06 15:50:58 +01:00
Henri Verbeet
ab73f20e38
wined3d: Use proper texcoord masks for GLSL texm3x3spec / texm3x3vspec.
2011-11-29 13:23:04 +01:00
Henri Verbeet
14cf780fde
wined3d: Recognize the SM4 xor opcode.
2011-11-22 10:52:33 +01:00
Henri Verbeet
d695dd3af4
wined3d: Recognize the SM4 ushr opcode.
2011-11-22 10:52:29 +01:00
Henri Verbeet
9afff037e5
wined3d: Recognize the SM4 udiv opcode.
2011-11-22 10:52:25 +01:00
Henri Verbeet
e2d099a14d
wined3d: Recognize the SM4 round_ni opcode.
2011-11-21 11:00:50 +01:00
Henri Verbeet
829e28cb4d
wined3d: Recognize the SM4 ge opcode.
2011-11-21 11:00:46 +01:00
Henri Verbeet
af11214562
wined3d: Recognize the SM4 eq opcode.
2011-11-21 11:00:42 +01:00
Henri Verbeet
563edce2fa
wined3d: Get rid of the WINED3DSHADER_PARAM_SRCMOD_TYPE typedef.
2011-11-15 16:09:09 +01:00
Henri Verbeet
13efdc6a37
wined3d: Introduce a "state" variable in shader_glsl_load_constants().
2011-11-14 15:25:22 +01:00
Henri Verbeet
adf7c33023
wined3d: Get rid of the COMPARISON_TYPE typedef.
2011-11-09 11:34:32 +01:00
Henri Verbeet
323a95418e
wined3d: Get rid of the WINED3DSAMPLER_TEXTURE_TYPE typedef.
2011-11-09 11:34:24 +01:00
Andrew Talbot
e0cd19d88d
wined3d: Remove extraneous braces from switch statements.
2011-11-07 11:54:25 +01:00
Henri Verbeet
b49e08aa8d
wined3d: Get rid of the local_constant typedef.
2011-10-31 23:52:59 +01:00
Matteo Bruni
5f2c6b3c82
wined3d: Enable SM4 support in the GLSL shader backend when possible.
2011-10-26 12:41:34 +02:00
Matteo Bruni
7254f5e661
wined3d: Return only the shader major version.
2011-10-26 12:41:34 +02:00
Henri Verbeet
7aac0159a9
wined3d: Move the ARB shader program constant handling to the backend where it belongs.
2011-10-26 12:41:33 +02:00
Stefan Dösinger
ec0ac720bf
wined3d: Make sure that lit doesn't return NaN.
2011-09-12 10:09:34 +02:00
Henri Verbeet
74b418c9e0
wined3d: Don't print the GLSL info log by default on fglrx.
2011-09-05 10:56:46 +02:00