Stefan Dösinger : wined3d: Implement texldb.

Alexandre Julliard julliard at wine.codeweavers.com
Tue Sep 11 07:28:48 CDT 2007


Module: wine
Branch: master
Commit: 8656713366ecc5ca5c64262b44bd95d4c9d6756b
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=8656713366ecc5ca5c64262b44bd95d4c9d6756b

Author: Stefan Dösinger <stefandoesinger at gmx.at>
Date:   Thu Aug 30 22:59:14 2007 +0200

wined3d: Implement texldb.

---

 dlls/wined3d/glsl_shader.c           |   13 +++++++++++--
 dlls/wined3d/wined3d_private_types.h |    1 +
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
index 6dfa706..6f2f10a 100644
--- a/dlls/wined3d/glsl_shader.c
+++ b/dlls/wined3d/glsl_shader.c
@@ -1605,8 +1605,17 @@ void pshader_glsl_tex(SHADER_OPCODE_ARG* arg) {
     } else {
         glsl_src_param_t coord_param;
         shader_glsl_add_src_param(arg, arg->src[0], arg->src_addr[0], mask, &coord_param);
-        shader_addline(arg->buffer, "%s(Psampler%u, %s)%s);\n",
-                sample_function.name, sampler_idx, coord_param.param_str, dst_swizzle);
+        if(arg->opcode_token & WINED3DSI_TEXLD_BIAS) {
+            glsl_src_param_t bias;
+            shader_glsl_add_src_param(arg, arg->src[0], arg->src_addr[0], WINED3DSP_WRITEMASK_3, &bias);
+
+            shader_addline(arg->buffer, "%s(Psampler%u, %s, %s)%s);\n",
+                    sample_function.name, sampler_idx, coord_param.param_str,
+                    bias.param_str, dst_swizzle);
+        } else {
+            shader_addline(arg->buffer, "%s(Psampler%u, %s)%s);\n",
+                    sample_function.name, sampler_idx, coord_param.param_str, dst_swizzle);
+        }
     }
 }
 
diff --git a/dlls/wined3d/wined3d_private_types.h b/dlls/wined3d/wined3d_private_types.h
index 3550910..8a7750f 100644
--- a/dlls/wined3d/wined3d_private_types.h
+++ b/dlls/wined3d/wined3d_private_types.h
@@ -293,6 +293,7 @@ typedef enum _WINED3DSHADER_INSTRUCTION_OPCODE_TYPE {
 
 /* Undocumented opcode control to identify projective texture lookups in ps 2.0 and later */
 #define WINED3DSI_TEXLD_PROJECT 0x00010000
+#define WINED3DSI_TEXLD_BIAS    0x00020000
 
 /** Shader version tokens, and shader end tokens **/
 




More information about the wine-cvs mailing list