Commit Graph

747 Commits

Author SHA1 Message Date
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