Module: wine Branch: master Commit: e1c6b73e2d4ab7b656b024d43ab22d99ed6066b8 URL: http://source.winehq.org/git/wine.git/?a=commit;h=e1c6b73e2d4ab7b656b024d43a...
Author: Stefan Dösinger stefan@codeweavers.com Date: Fri Jun 19 05:25:48 2009 +0200
wined3d: Make the ARB index offset work with emulated MOVA.
---
dlls/wined3d/arb_program_shader.c | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader.c index a43ad77..cab4bf7 100644 --- a/dlls/wined3d/arb_program_shader.c +++ b/dlls/wined3d/arb_program_shader.c @@ -1520,6 +1520,10 @@ static void shader_hw_mov(const struct wined3d_shader_instruction *ins) shader_addline(buffer, "ABS TA%s, %s;\n", write_mask, src0_param); shader_addline(buffer, "ADD TA%s, TA, mova_const.x;\n", write_mask); shader_addline(buffer, "FLR TA%s, TA;\n", write_mask); + if (((IWineD3DVertexShaderImpl *)shader)->rel_offset) + { + shader_addline(buffer, "ADD TA%s, TA, helper_const.z;\n", write_mask); + } shader_addline(buffer, "MUL A0_SHADOW%s, TA, A0_SHADOW;\n", write_mask);
((struct shader_arb_ctx_priv *)ins->ctx->backend_data)->addr_reg[0] = '\0';