Commit Graph

725 Commits

Author SHA1 Message Date
Stefan Dösinger ba61730daa wined3d: Avoid calculating 1 / (fog_end - fog_start) in the shader. 2013-08-01 20:43:42 +02:00
Matteo Bruni e2cf98eb76 wined3d: Implement special fog behavior for orthogonal projection matrices. 2013-07-24 11:09:31 -05:00
Matteo Bruni c9458882a0 wined3d: Fix handling of cnd instruction with coissue flag. 2013-06-26 18:45:37 +02:00
Stefan Dösinger b648b74191 wined3d: Pass fogstart==fogend to GL in fog table mode. 2013-06-19 20:09:53 +02:00
Henri Verbeet ffc9f535eb wined3d: Handle pre-transformed vertices in the GLSL vertex pipe.
This also avoids a fallback to drawStridedSlow().
2013-06-14 11:46:31 +02:00
Henri Verbeet 8a7ddfbb53 wined3d: Don't use state_colormat() with the GLSL vertex pipe.
None of the code in there should be needed for the GLSL vertex pipe, and the
"untracked materials" counter in particular will trigger an unnecessary
fallback to drawStridedSlow().
2013-06-14 11:46:27 +02:00
Henri Verbeet e0494afa00 wined3d: Introduce a helper function for printing floats in GLSL shaders. 2013-06-11 11:33:15 +02:00
Henri Verbeet e8905e360f wined3d: Don't modify the texcoord mask for "projected" cube textures in shader_glsl_tex(). 2013-06-07 11:58:22 +02:00
Henri Verbeet f52d4044eb wined3d: Fix a typo in shader_glsl_generate_ffp_fragment_shader(). 2013-06-07 11:58:20 +02:00
Henri Verbeet e4f50de336 wined3d: Get rid of the unused "half" GLSL variable in shader_glsl_ffp_vertex_lighting(). 2013-05-31 11:57:40 +02:00
Francois Gouget 49dbf2464f wined3d: Add a trailing '\n' to a shader_addline() call. 2013-05-30 20:19:33 +02:00
Henri Verbeet 8352d45da5 wined3d: Rename "fogmode" to "wined3d_ffp_ps_fog_mode".
This is mostly for consistency with wined3d_ffp_vs_fog_mode.
2013-05-30 10:57:15 +02:00
Henri Verbeet 74c5a22daa wined3d: Only invalidate the current ffp vertex shader if the light type changed.
As opposed to any time a light parameter changed.
2013-05-29 12:12:33 +02:00
Henri Verbeet bdd97858bf wined3d: Only write gl_ClipVertex if clipping is enabled in shader_glsl_generate_ffp_vertex_shader(). 2013-05-29 12:12:32 +02:00
Henri Verbeet 1c2392ddb0 wined3d: Only write gl_PointSize for point primitives in shader_glsl_generate_ffp_vertex_shader(). 2013-05-29 12:12:32 +02:00
Henri Verbeet 2014141a25 wined3d: Add support for GLSL based fixed function vertex shaders. 2013-05-29 12:12:32 +02:00
Stefan Dösinger 6fce4d4547 wined3d: Pass the state and private data to shader_select. 2013-05-14 18:37:08 +02:00
Stefan Dösinger 47f385adf0 wined3d: Add a separate function for disabling shaders. 2013-05-14 18:37:04 +02:00
Stefan Dösinger 036a62a245 wined3d: Explicitly pass the state to shader_load_constants. 2013-05-14 18:36:59 +02:00
Stefan Dösinger f7580726b0 wined3d: Don't pass the device to gen_ffp_frag_op. 2013-04-25 20:25:08 +02:00
Henri Verbeet 471991eb9a wined3d: Introduce a wined3d_vertex_pipe_ops structure. 2013-04-25 13:39:56 +02:00
Stefan Dösinger f663683980 wined3d: Remove leftover texture accesses in GLSL shader generation. 2013-04-22 17:56:05 +02:00
Henri Verbeet c756496326 wined3d: Rename the device "strided_streams" field to "stream_info".
The "strided" in there is mostly historic, it hasn't really been accurate for
a while now.
2013-04-22 15:26:11 +02:00
Henri Verbeet 84219f1964 wined3d: Immediate constants should always have a valid location in shader_glsl_load_constantsF(). 2013-04-17 11:36:17 +02:00
Stefan Dösinger ea69fa943f wined3d: Enable GL_ARB_texture_rectangle in GLSL ffp fragment shaders. 2013-04-16 17:49:11 +02:00
Henri Verbeet 1a551fe5f9 wined3d: Immediate constants should always have a valid location in shader_glsl_load_constantsB(). 2013-04-16 12:14:03 +02:00
Henri Verbeet 302ad29742 wined3d: Constants in constants_set should always have a valid location in shader_glsl_load_constantsB(). 2013-04-16 12:14:01 +02:00
Stefan Dösinger 0680b1758d wined3d: Store ps 1.4 texture types in ps_compile_args. 2013-04-15 17:45:58 +02:00
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