Henri Verbeet : wined3d: Read transform flags from the compile args in pshader_hw_texm3x3spec().

Alexandre Julliard julliard at winehq.org
Wed Oct 27 12:51:00 CDT 2010


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

Author: Henri Verbeet <hverbeet at codeweavers.com>
Date:   Wed Oct 27 11:36:15 2010 +0200

wined3d: Read transform flags from the compile args in pshader_hw_texm3x3spec().

---

 dlls/wined3d/arb_program_shader.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader.c
index 8d3eefa..49263c0 100644
--- a/dlls/wined3d/arb_program_shader.c
+++ b/dlls/wined3d/arb_program_shader.c
@@ -2200,8 +2200,8 @@ static void pshader_hw_texm3x3vspec(const struct wined3d_shader_instruction *ins
 static void pshader_hw_texm3x3spec(const struct wined3d_shader_instruction *ins)
 {
     IWineD3DBaseShaderImpl *shader = (IWineD3DBaseShaderImpl *)ins->ctx->shader;
-    IWineD3DDeviceImpl *deviceImpl = (IWineD3DDeviceImpl *)shader->baseShader.device;
     SHADER_PARSE_STATE *current_state = &shader->baseShader.parse_state;
+    struct shader_arb_ctx_priv *priv = ins->ctx->backend_data;
     DWORD flags;
     DWORD reg = ins->dst[0].reg.idx;
     struct wined3d_shader_buffer *buffer = ins->ctx->buffer;
@@ -2234,7 +2234,7 @@ static void pshader_hw_texm3x3spec(const struct wined3d_shader_instruction *ins)
 
     /* Sample the texture using the calculated coordinates */
     shader_arb_get_dst_param(ins, &ins->dst[0], dst_str);
-    flags = reg < MAX_TEXTURES ? deviceImpl->stateBlock->state.texture_states[reg][WINED3DTSS_TEXTURETRANSFORMFLAGS] : 0;
+    flags = reg < MAX_TEXTURES ? priv->cur_ps_args->super.tex_transform >> reg * WINED3D_PSARGS_TEXTRANSFORM_SHIFT : 0;
     shader_hw_sample(ins, reg, dst_str, dst_reg, flags & WINED3DTTFF_PROJECTED ? TEX_PROJ : 0, NULL, NULL);
     current_state->current_row = 0;
 }




More information about the wine-cvs mailing list