From 11efbbf1403ef65c7a6b03f9c03491ca06932c3c Mon Sep 17 00:00:00 2001 From: Henri Verbeet Date: Thu, 8 Dec 2011 21:04:02 +0100 Subject: [PATCH] wined3d: The VertexAttrib*h[v] calls in NV_half_float depend on NV_vertex_program. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Based on a patch by Aurélien Couderc. --- dlls/wined3d/drawprim.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dlls/wined3d/drawprim.c b/dlls/wined3d/drawprim.c index bfc5ba4e441..3b18c63a39f 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)); -- 2.11.4.GIT