Commit Graph

488 Commits

Author SHA1 Message Date
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
Rico Schüller 8a890d399a wined3d: Fix shader spam. 2009-09-18 10:47:17 -05:00
Henri Verbeet ab8523931a wined3d: Only warn about using Lod sample functions in fragment shaders is ARB_shader_texture_lod isn't supported. 2009-09-01 14:05:51 +02:00
Henri Verbeet 560d63548d wined3d: Remove trailing spaces. 2009-08-27 11:45:37 +02:00
Henri Verbeet dc8b1bdc0f wined3d: Rename some GLSL instruction handlers.
The pshader_glsl_* names are a leftover from when we had separate code for
vertex and fragment shaders.
2009-08-19 14:45:23 +02:00
Henri Verbeet e205973915 wined3d: Remove the redundant vs_nv_version and ps_nv_version fields from struct wined3d_gl_info. 2009-08-13 11:45:36 +02:00
Henri Verbeet f7918b978f wined3d: Make the "luminanceparams" shader_reg_maps member a bitmap. 2009-08-12 13:22:50 +02:00
Henri Verbeet 95bb4c0486 wined3d: Make the "bumpmat" shader_reg_maps member a bitmap. 2009-08-12 13:22:44 +02:00
Henri Verbeet 3d718d6414 wined3d: Make the "labels" shader_reg_maps member a bitmap. 2009-08-12 13:22:37 +02:00
Henri Verbeet 270f57e755 wined3d: Make the "address" shader_reg_maps member a bitmap. 2009-08-12 13:22:30 +02:00
Henri Verbeet 6fa9fa15da wined3d: Make the "temporary" shader_reg_maps member a bitmap. 2009-08-11 12:36:20 +02:00
Henri Verbeet 50853e295b wined3d: Make the "texcoord" shader_reg_maps member a bitmap. 2009-08-11 12:36:16 +02:00
Henri Verbeet b2ace3b1ab wined3d: Correctly check for luminance bumpmap parameters in shader_generate_glsl_declarations(). 2009-08-11 12:35:49 +02:00
Francois Gouget e74efb5487 Assorted spelling fixes. 2009-08-11 12:35:38 +02:00
Henri Verbeet 8d746c31ba wined3d: Properly handle negative loop step in shader_glsl_loop(). 2009-08-10 13:52:37 +02:00
Henri Verbeet 3bf0ad4528 wined3d: Explicitly pass the context to the shader_select() handler. 2009-08-07 12:11:06 +02:00
Henri Verbeet 4c1b3de936 wined3d: Call the shader_load_np2fixup_constants() handler directly from inside the shader backend. 2009-08-06 17:26:30 +02:00
Henri Verbeet 03686cb6bd wined3d: Explicitly pass the context to the shader_load_constants() handlers. 2009-08-06 17:26:30 +02:00
Henri Verbeet a7251f0f4e wined3d: Track render_offscreen in the context.
This makes sure the relevant states in FindContext() are actually marked dirty
when needed.
2009-08-06 17:26:30 +02:00
Henri Verbeet ee4d18cc83 wined3d: Pass NULL to ActivateContext() when we don't need a specific target.
Once we keep track of the wined3d context for each thread,
lastActiveRenderTarget won't do what we want here.
2009-07-21 14:22:44 +02:00
Stefan Dösinger cd7f43b00d wined3d: Don't activate a context unless we need one. 2009-07-20 12:23:07 +02:00