wined3d: Implement dsx & dsy shader instructions
H. Verbeet
hverbeet at gmail.com
Mon Jul 2 17:22:18 CDT 2007
This is a pretty straightforward mapping to dFdx / dFdy.
Changelog:
- Implement dsx & dsy shader instructions
-------------- next part --------------
---
dlls/wined3d/glsl_shader.c | 2 ++
dlls/wined3d/pixelshader.c | 4 ++--
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
index 00536b5..1d0f326 100644
--- a/dlls/wined3d/glsl_shader.c
+++ b/dlls/wined3d/glsl_shader.c
@@ -1062,6 +1062,8 @@ void shader_glsl_map2gl(SHADER_OPCODE_ARG* arg) {
case WINED3DSIO_LOG: instruction = "log2"; break;
case WINED3DSIO_EXP: instruction = "exp2"; break;
case WINED3DSIO_SGN: instruction = "sign"; break;
+ case WINED3DSIO_DSX: instruction = "dFdx"; break;
+ case WINED3DSIO_DSY: instruction = "dFdy"; break;
default: instruction = "";
FIXME("Opcode %s not yet handled in GLSL\n", curOpcode->name);
break;
diff --git a/dlls/wined3d/pixelshader.c b/dlls/wined3d/pixelshader.c
index eb41d1f..397a254 100644
--- a/dlls/wined3d/pixelshader.c
+++ b/dlls/wined3d/pixelshader.c
@@ -252,8 +252,8 @@ CONST SHADER_OPCODE IWineD3DPixelShaderImpl_shader_ins[] = {
{WINED3DSIO_TEXM3x3, "texm3x3", GLNAME_REQUIRE_GLSL, 1, 2, NULL, pshader_glsl_texm3x3, WINED3DPS_VERSION(1,2), WINED3DPS_VERSION(1,3)},
{WINED3DSIO_TEXDEPTH, "texdepth", GLNAME_REQUIRE_GLSL, 1, 1, NULL, pshader_glsl_texdepth, WINED3DPS_VERSION(1,4), WINED3DPS_VERSION(1,4)},
{WINED3DSIO_BEM, "bem", "undefined", 1, 3, pshader_hw_bem, pshader_glsl_bem, WINED3DPS_VERSION(1,4), WINED3DPS_VERSION(1,4)},
- {WINED3DSIO_DSX, "dsx", GLNAME_REQUIRE_GLSL, 1, 2, NULL, NULL, 0, 0},
- {WINED3DSIO_DSY, "dsy", GLNAME_REQUIRE_GLSL, 1, 2, NULL, NULL, 0, 0},
+ {WINED3DSIO_DSX, "dsx", NULL, 1, 2, NULL, shader_glsl_map2gl, WINED3DPS_VERSION(2,1), -1},
+ {WINED3DSIO_DSY, "dsy", NULL, 1, 2, NULL, shader_glsl_map2gl, WINED3DPS_VERSION(2,1), -1},
{WINED3DSIO_TEXLDD, "texldd", GLNAME_REQUIRE_GLSL, 1, 5, NULL, NULL, WINED3DPS_VERSION(2,1), -1},
{WINED3DSIO_SETP, "setp", GLNAME_REQUIRE_GLSL, 1, 3, NULL, NULL, 0, 0},
{WINED3DSIO_TEXLDL, "texldl", NULL, 1, 3, NULL, shader_glsl_texldl, WINED3DPS_VERSION(3,0), -1},
More information about the wine-patches
mailing list