Module: wine Branch: master Commit: 45799fdc4ec8529fed07a695be4078b1a820fbbb URL: http://source.winehq.org/git/wine.git/?a=commit;h=45799fdc4ec8529fed07a695be...
Author: Stefan Dösinger stefan@codeweavers.com Date: Thu May 7 18:24:45 2009 +0200
wined3d: Tidy up pshader_hw_tex.
Fix the indentation and replace the get_register_name with shader_arb_get_dst_param.
---
dlls/wined3d/arb_program_shader.c | 83 ++++++++++++++++++------------------- 1 files changed, 41 insertions(+), 42 deletions(-)
diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader.c index beb37cf..0eccaa0 100644 --- a/dlls/wined3d/arb_program_shader.c +++ b/dlls/wined3d/arb_program_shader.c @@ -1034,7 +1034,6 @@ static void pshader_hw_tex(const struct wined3d_shader_instruction *ins) IWineD3DPixelShaderImpl *This = (IWineD3DPixelShaderImpl *)ins->ctx->shader; IWineD3DDeviceImpl* deviceImpl = (IWineD3DDeviceImpl*) This->baseShader.device; const struct wined3d_shader_dst_param *dst = &ins->dst[0]; - BOOL is_color; DWORD shader_version = WINED3D_SHADER_VERSION(ins->ctx->reg_maps->shader_version.major, ins->ctx->reg_maps->shader_version.minor); BOOL projected = FALSE, bias = FALSE; @@ -1044,50 +1043,50 @@ static void pshader_hw_tex(const struct wined3d_shader_instruction *ins) DWORD reg_sampler_code;
/* All versions have a destination register */ - shader_arb_get_register_name(ins->ctx->shader, &dst->reg, reg_dest, &is_color); + shader_arb_get_dst_param(ins, dst, reg_dest);
/* 1.0-1.3: Use destination register as coordinate source. 1.4+: Use provided coordinate source register. */ - if (shader_version < WINED3D_SHADER_VERSION(1,4)) - strcpy(reg_coord, reg_dest); - else - shader_arb_get_src_param(ins, &ins->src[0], 0, reg_coord); - - /* 1.0-1.4: Use destination register number as texture code. - 2.0+: Use provided sampler number as texure code. */ - if (shader_version < WINED3D_SHADER_VERSION(2,0)) - reg_sampler_code = dst->reg.idx; - else - reg_sampler_code = ins->src[1].reg.idx; - - /* projection flag: - * 1.1, 1.2, 1.3: Use WINED3DTSS_TEXTURETRANSFORMFLAGS - * 1.4: Use WINED3DSPSM_DZ or WINED3DSPSM_DW on src[0] - * 2.0+: Use WINED3DSI_TEXLD_PROJECT on the opcode - */ - if (shader_version < WINED3D_SHADER_VERSION(1,4)) - { - DWORD flags = 0; - if(reg_sampler_code < MAX_TEXTURES) { - flags = deviceImpl->stateBlock->textureState[reg_sampler_code][WINED3DTSS_TEXTURETRANSFORMFLAGS]; - } - if (flags & WINED3DTTFF_PROJECTED) { - projected = TRUE; - } - } - else if (shader_version < WINED3D_SHADER_VERSION(2,0)) - { - DWORD src_mod = ins->src[0].modifiers; - if (src_mod == WINED3DSPSM_DZ) { - projected = TRUE; - } else if(src_mod == WINED3DSPSM_DW) { - projected = TRUE; - } - } else { - if (ins->flags & WINED3DSI_TEXLD_PROJECT) projected = TRUE; - if (ins->flags & WINED3DSI_TEXLD_BIAS) bias = TRUE; - } - shader_hw_sample(ins, reg_sampler_code, reg_dest, reg_coord, projected, bias); + if (shader_version < WINED3D_SHADER_VERSION(1,4)) + strcpy(reg_coord, reg_dest); + else + shader_arb_get_src_param(ins, &ins->src[0], 0, reg_coord); + + /* 1.0-1.4: Use destination register number as texture code. + 2.0+: Use provided sampler number as texure code. */ + if (shader_version < WINED3D_SHADER_VERSION(2,0)) + reg_sampler_code = dst->reg.idx; + else + reg_sampler_code = ins->src[1].reg.idx; + + /* projection flag: + * 1.1, 1.2, 1.3: Use WINED3DTSS_TEXTURETRANSFORMFLAGS + * 1.4: Use WINED3DSPSM_DZ or WINED3DSPSM_DW on src[0] + * 2.0+: Use WINED3DSI_TEXLD_PROJECT on the opcode + */ + if (shader_version < WINED3D_SHADER_VERSION(1,4)) + { + DWORD flags = 0; + if(reg_sampler_code < MAX_TEXTURES) { + flags = deviceImpl->stateBlock->textureState[reg_sampler_code][WINED3DTSS_TEXTURETRANSFORMFLAGS]; + } + if (flags & WINED3DTTFF_PROJECTED) { + projected = TRUE; + } + } + else if (shader_version < WINED3D_SHADER_VERSION(2,0)) + { + DWORD src_mod = ins->src[0].modifiers; + if (src_mod == WINED3DSPSM_DZ) { + projected = TRUE; + } else if(src_mod == WINED3DSPSM_DW) { + projected = TRUE; + } + } else { + if (ins->flags & WINED3DSI_TEXLD_PROJECT) projected = TRUE; + if (ins->flags & WINED3DSI_TEXLD_BIAS) bias = TRUE; + } + shader_hw_sample(ins, reg_sampler_code, reg_dest, reg_coord, projected, bias); }
static void pshader_hw_texcoord(const struct wined3d_shader_instruction *ins)