Stefan Dösinger : wined3d: Add a comment about texbem and X2D.
Alexandre Julliard
julliard at winehq.org
Mon Jun 1 10:00:59 CDT 2009
Module: wine
Branch: master
Commit: 38076e08ca0273f5f94634ef27ccacb6c26c09d8
URL: http://source.winehq.org/git/wine.git/?a=commit;h=38076e08ca0273f5f94634ef27ccacb6c26c09d8
Author: Stefan Dösinger <stefan at codeweavers.com>
Date: Fri May 29 17:15:40 2009 +0200
wined3d: Add a comment about texbem and X2D.
---
dlls/wined3d/arb_program_shader.c | 7 +++++++
1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader.c
index 0d32bbc..f59ef54 100644
--- a/dlls/wined3d/arb_program_shader.c
+++ b/dlls/wined3d/arb_program_shader.c
@@ -1399,6 +1399,13 @@ static void pshader_hw_texbem(const struct wined3d_shader_instruction *ins)
/* Sampling the perturbation map in Tsrc was done already, including the signedness correction if needed
* The Tx in which the perturbation map is stored is the tempreg incarnation of the texture register
+ *
+ * GL_NV_fragment_program_option could handle this in one instruction via X2D:
+ * X2D TA.xy, fragment.texcoord, T%u, bumpenvmat%u.xzyw
+ *
+ * However, the NV extensions are never enabled for <= 2.0 shaders because of the performance penalty that
+ * comes with it, and texbem is an 1.x only instruction. No 1.x instruction forces us to enable the NV
+ * extension.
*/
shader_addline(buffer, "SWZ TB, bumpenvmat%d, x, z, 0, 0;\n", reg_dest_code);
shader_addline(buffer, "DP3 TA.x, TB, %s;\n", src_reg);
More information about the wine-cvs
mailing list