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