Module: wine Branch: master Commit: 8656713366ecc5ca5c64262b44bd95d4c9d6756b URL: http://source.winehq.org/git/wine.git/?a=commit;h=8656713366ecc5ca5c64262b44...
Author: Stefan Dösinger stefandoesinger@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 **/