Stefan Dösinger : wined3d: Tidy up pshader_hw_tex.
Alexandre Julliard
julliard at winehq.org
Wed May 13 10:19:44 CDT 2009
Module: wine
Branch: master
Commit: 45799fdc4ec8529fed07a695be4078b1a820fbbb
URL: http://source.winehq.org/git/wine.git/?a=commit;h=45799fdc4ec8529fed07a695be4078b1a820fbbb
Author: Stefan Dösinger <stefan at 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)
More information about the wine-cvs
mailing list