Module: wine Branch: master Commit: d95c91caa8e59b17fa7adb803afa76f17998de5d URL: http://source.winehq.org/git/wine.git/?a=commit;h=d95c91caa8e59b17fa7adb803a...
Author: Józef Kucia jkucia@codeweavers.com Date: Wed Jul 27 23:33:40 2016 +0200
wined3d: Handle SM5 derivative instructions in shader_get_registers_used().
Signed-off-by: Józef Kucia jkucia@codeweavers.com Signed-off-by: Henri Verbeet hverbeet@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/wined3d/shader.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/dlls/wined3d/shader.c b/dlls/wined3d/shader.c index 5192b18..f1940c6 100644 --- a/dlls/wined3d/shader.c +++ b/dlls/wined3d/shader.c @@ -1217,8 +1217,18 @@ static HRESULT shader_get_registers_used(struct wined3d_shader *shader, const st }
if (ins.handler_idx == WINED3DSIH_NRM) reg_maps->usesnrm = 1; - else if (ins.handler_idx == WINED3DSIH_DSY) reg_maps->usesdsy = 1; - else if (ins.handler_idx == WINED3DSIH_DSX) reg_maps->usesdsx = 1; + else if (ins.handler_idx == WINED3DSIH_DSY + || ins.handler_idx == WINED3DSIH_DSY_COARSE + || ins.handler_idx == WINED3DSIH_DSY_FINE) + { + reg_maps->usesdsy = 1; + } + else if (ins.handler_idx == WINED3DSIH_DSX + || ins.handler_idx == WINED3DSIH_DSX_COARSE + || ins.handler_idx == WINED3DSIH_DSX_FINE) + { + reg_maps->usesdsx = 1; + } else if (ins.handler_idx == WINED3DSIH_TEXLDD) reg_maps->usestexldd = 1; else if (ins.handler_idx == WINED3DSIH_TEXLDL) reg_maps->usestexldl = 1; else if (ins.handler_idx == WINED3DSIH_MOVA) reg_maps->usesmova = 1;