[PATCH 3/5] wined3d: Initialize the last two components of R16G16_SINT attributes.
Matteo Bruni
mbruni at codeweavers.com
Wed Jan 21 11:32:34 CST 2015
---
dlls/wined3d/drawprim.c | 5 ++++-
dlls/wined3d/state.c | 5 ++++-
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/dlls/wined3d/drawprim.c b/dlls/wined3d/drawprim.c
index 12b03f6..247378c 100644
--- a/dlls/wined3d/drawprim.c
+++ b/dlls/wined3d/drawprim.c
@@ -377,8 +377,11 @@ static inline void send_attribute(const struct wined3d_gl_info *gl_info,
break;
case WINED3DFMT_R16G16_SINT:
- GL_EXTCALL(glVertexAttrib4svARB(index, ptr));
+ {
+ GLshort s[4] = {((const GLshort *)ptr)[0], ((const GLshort *)ptr)[1], 0, 1};
+ GL_EXTCALL(glVertexAttrib4svARB(index, s));
break;
+ }
case WINED3DFMT_R16G16B16A16_SINT:
GL_EXTCALL(glVertexAttrib4svARB(index, ptr));
break;
diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c
index 3c204ca..0570627 100644
--- a/dlls/wined3d/state.c
+++ b/dlls/wined3d/state.c
@@ -4297,8 +4297,11 @@ static void load_numbered_arrays(struct wined3d_context *context,
break;
case WINED3DFMT_R16G16_SINT:
- GL_EXTCALL(glVertexAttrib4svARB(i, (const GLshort *)ptr));
+ {
+ const GLshort s[4] = {((const GLshort *)ptr)[0], ((const GLshort *)ptr)[1], 0, 1};
+ GL_EXTCALL(glVertexAttrib4svARB(i, s));
break;
+ }
case WINED3DFMT_R16G16B16A16_SINT:
GL_EXTCALL(glVertexAttrib4svARB(i, (const GLshort *)ptr));
break;
--
2.0.5
More information about the wine-patches
mailing list