Henri Verbeet : wined3d: The VertexAttrib*h[v] calls in NV_half_float depend on NV_vertex_program.

Alexandre Julliard julliard at winehq.org
Fri Dec 9 14:41:36 CST 2011


Module: wine
Branch: master
Commit: 11efbbf1403ef65c7a6b03f9c03491ca06932c3c
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=11efbbf1403ef65c7a6b03f9c03491ca06932c3c

Author: Henri Verbeet <hverbeet at codeweavers.com>
Date:   Thu Dec  8 21:04:02 2011 +0100

wined3d: The VertexAttrib*h[v] calls in NV_half_float depend on NV_vertex_program.

Based on a patch by Aurélien Couderc.

---

 dlls/wined3d/drawprim.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/dlls/wined3d/drawprim.c b/dlls/wined3d/drawprim.c
index bfc5ba4..3b18c63 100644
--- a/dlls/wined3d/drawprim.c
+++ b/dlls/wined3d/drawprim.c
@@ -384,7 +384,7 @@ static inline void send_attribute(const struct wined3d_gl_info *gl_info,
             /* Are those 16 bit floats. C doesn't have a 16 bit float type. I could read the single bits and calculate a 4
              * byte float according to the IEEE standard
              */
-            if (gl_info->supported[NV_HALF_FLOAT])
+            if (gl_info->supported[NV_HALF_FLOAT] && gl_info->supported[NV_VERTEX_PROGRAM])
             {
                 /* Not supported by GL_ARB_half_float_vertex */
                 GL_EXTCALL(glVertexAttrib2hvNV(index, ptr));
@@ -397,7 +397,7 @@ static inline void send_attribute(const struct wined3d_gl_info *gl_info,
             }
             break;
         case WINED3DFMT_R16G16B16A16_FLOAT:
-            if (gl_info->supported[NV_HALF_FLOAT])
+            if (gl_info->supported[NV_HALF_FLOAT] && gl_info->supported[NV_VERTEX_PROGRAM])
             {
                 /* Not supported by GL_ARB_half_float_vertex */
                 GL_EXTCALL(glVertexAttrib4hvNV(index, ptr));




More information about the wine-cvs mailing list