diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2016-09-02 17:17:20 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2016-09-05 11:14:07 +0300 |
commit | 3b52c4056aafe8267feb45b934e02d5047bb8179 (patch) | |
tree | 713418cfb48d6609a7557a40bee8951f02d50bcf /source/blender/blenkernel/intern/subsurf_ccg.c | |
parent | 062732905ae52855d26884378de029e49bc68fec (diff) |
Fix glUniform called from glBegin/glEnd blocks
Was causing some invalid operations in OpenGL.
After more testing should be fine for 2.78.
Diffstat (limited to 'source/blender/blenkernel/intern/subsurf_ccg.c')
-rw-r--r-- | source/blender/blenkernel/intern/subsurf_ccg.c | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/source/blender/blenkernel/intern/subsurf_ccg.c b/source/blender/blenkernel/intern/subsurf_ccg.c index 60f1eb6b98c..ce9fdecfb9f 100644 --- a/source/blender/blenkernel/intern/subsurf_ccg.c +++ b/source/blender/blenkernel/intern/subsurf_ccg.c @@ -2820,12 +2820,13 @@ static void ccgDM_drawMappedFacesGLSL(DerivedMesh *dm, int matnr = -1; int do_draw = 0; -#define PASSATTRIB(dx, dy, vert) { \ - if (attribs.totorco) \ - index = getFaceIndex(ss, f, S, x + dx, y + dy, edgeSize, gridSize); \ - else \ - index = 0; \ - DM_draw_attrib_vertex(&attribs, a, index, vert, ((a) * 4) + vert); \ +#define PASSATTRIB(dx, dy, vert) { \ + if (attribs.totorco) \ + index = getFaceIndex(ss, f, S, x + dx, y + dy, edgeSize, gridSize); \ + else \ + index = 0; \ + DM_draw_attrib_vertex(&attribs, a, index, vert, ((a) * 4) + vert); \ + DM_draw_attrib_vertex_uniforms(&attribs); \ } (void)0 totpoly = ccgSubSurf_getNumFaces(ss); @@ -3222,12 +3223,13 @@ static void ccgDM_drawMappedFacesMat(DerivedMesh *dm, matnr = -1; -#define PASSATTRIB(dx, dy, vert) { \ - if (attribs.totorco) \ - index = getFaceIndex(ss, f, S, x + dx, y + dy, edgeSize, gridSize); \ - else \ - index = 0; \ - DM_draw_attrib_vertex(&attribs, a, index, vert, ((a) * 4) + vert); \ +#define PASSATTRIB(dx, dy, vert) { \ + if (attribs.totorco) \ + index = getFaceIndex(ss, f, S, x + dx, y + dy, edgeSize, gridSize); \ + else \ + index = 0; \ + DM_draw_attrib_vertex(&attribs, a, index, vert, ((a) * 4) + vert); \ + DM_draw_attrib_vertex_uniforms(&attribs); \ } (void)0 totface = ccgSubSurf_getNumFaces(ss); |