Module: wine Branch: master Commit: 11efbbf1403ef65c7a6b03f9c03491ca06932c3c URL: http://source.winehq.org/git/wine.git/?a=commit;h=11efbbf1403ef65c7a6b03f9c0...
Author: Henri Verbeet hverbeet@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));