Commit: 394b81526109b1fcfcb191e130b61611d71a9b51
Author: Antony Riakiotakis
Date:   Tue Apr 14 15:23:13 2015 +0200
Branches: temp_viewport_fx_merge
https://developer.blender.org/rB394b81526109b1fcfcb191e130b61611d71a9b51

Substitute draw calls with a wrapper to make sure current matrix stack
works.

===================================================================

M       source/blender/blenfont/intern/blf_glyph.c
M       source/blender/blenkernel/intern/DerivedMesh.c
M       source/blender/blenkernel/intern/cdderivedmesh.c
M       source/blender/blenkernel/intern/editderivedmesh.c
M       source/blender/blenkernel/intern/subsurf_ccg.c
M       source/blender/editors/animation/anim_draw.c
M       source/blender/editors/animation/anim_markers.c
M       source/blender/editors/animation/keyframes_draw.c
M       source/blender/editors/armature/reeb.c
M       source/blender/editors/gpencil/drawgpencil.c
M       source/blender/editors/interface/interface_draw.c
M       source/blender/editors/interface/interface_icons.c
M       source/blender/editors/interface/interface_panel.c
M       source/blender/editors/interface/interface_widgets.c
M       source/blender/editors/interface/view2d.c
M       source/blender/editors/mask/mask_draw.c
M       source/blender/editors/mesh/editmesh_knife.c
M       source/blender/editors/mesh/editmesh_loopcut.c
M       source/blender/editors/screen/area.c
M       source/blender/editors/screen/glutil.c
M       source/blender/editors/screen/screen_edit.c
M       source/blender/editors/sculpt_paint/paint_cursor.c
M       source/blender/editors/space_action/action_draw.c
M       source/blender/editors/space_clip/clip_dopesheet_draw.c
M       source/blender/editors/space_clip/clip_draw.c
M       source/blender/editors/space_clip/clip_graph_draw.c
M       source/blender/editors/space_clip/clip_utils.c
M       source/blender/editors/space_file/file_draw.c
M       source/blender/editors/space_graph/graph_draw.c
M       source/blender/editors/space_graph/space_graph.c
M       source/blender/editors/space_image/image_draw.c
M       source/blender/editors/space_nla/nla_draw.c
M       source/blender/editors/space_node/drawnode.c
M       source/blender/editors/space_node/node_draw.c
M       source/blender/editors/space_sequencer/sequencer_draw.c
M       source/blender/editors/space_text/text_draw.c
M       source/blender/editors/space_time/space_time.c
M       source/blender/editors/space_view3d/drawanimviz.c
M       source/blender/editors/space_view3d/drawarmature.c
M       source/blender/editors/space_view3d/drawobject.c
M       source/blender/editors/space_view3d/drawsimdebug.c
M       source/blender/editors/space_view3d/drawvolume.c
M       source/blender/editors/space_view3d/view3d_draw.c
M       source/blender/editors/space_view3d/view3d_fly.c
M       source/blender/editors/space_view3d/view3d_ruler.c
M       source/blender/editors/space_view3d/view3d_walk.c
M       source/blender/editors/transform/transform.c
M       source/blender/editors/transform/transform_constraints.c
M       source/blender/editors/transform/transform_generics.c
M       source/blender/editors/transform/transform_manipulator.c
M       source/blender/editors/transform/transform_snap.c
M       source/blender/editors/util/ed_util.c
M       source/blender/editors/uvedit/uvedit_draw.c
M       source/blender/editors/uvedit/uvedit_smart_stitch.c
M       source/blender/gpu/GPU_immediate.h
M       source/blender/gpu/intern/gpu_buffers.c
M       source/blender/gpu/intern/gpu_compositing.c
M       source/blender/gpu/intern/gpu_draw.c
M       source/blender/gpu/intern/gpu_extensions.c
M       source/blender/gpu/intern/gpu_immediate.c
M       source/blender/gpu/intern/gpu_lighting.c
M       source/blender/gpu/intern/gpu_matrix.c
M       source/blender/gpu/intern/gpu_primitives_inline.h
M       source/blender/windowmanager/intern/wm_draw.c
M       source/blender/windowmanager/intern/wm_gesture.c
M       source/blender/windowmanager/intern/wm_operators.c
M       source/blender/windowmanager/intern/wm_stereo.c
M       source/gameengine/Ketsji/KX_Dome.cpp
M       source/gameengine/Rasterizer/RAS_2DFilterManager.cpp
M       
source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp
M       source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_StorageIM.cpp
M       source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_StorageVA.cpp
M       source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_StorageVBO.cpp

===================================================================

diff --git a/source/blender/blenfont/intern/blf_glyph.c 
b/source/blender/blenfont/intern/blf_glyph.c
index c65a082..5e3dbe6 100644
--- a/source/blender/blenfont/intern/blf_glyph.c
+++ b/source/blender/blenfont/intern/blf_glyph.c
@@ -55,6 +55,8 @@
 #include "BIF_gl.h"
 #include "BLF_api.h"
 
+#include "GPU_immediate.h"
+
 #include "blf_internal_types.h"
 #include "blf_internal.h"
 
@@ -310,7 +312,7 @@ void blf_glyph_free(GlyphBLF *g)
 
 static void blf_texture_draw(float uv[2][2], float dx, float y1, float dx1, 
float y2)
 {
-       glBegin(GL_QUADS);
+       GPUBegin(GL_QUADS);
        glTexCoord2f(uv[0][0], uv[0][1]);
        glVertex2f(dx, y1);
        
diff --git a/source/blender/blenkernel/intern/DerivedMesh.c 
b/source/blender/blenkernel/intern/DerivedMesh.c
index 1ece9d8..f14fb00 100644
--- a/source/blender/blenkernel/intern/DerivedMesh.c
+++ b/source/blender/blenkernel/intern/DerivedMesh.c
@@ -74,7 +74,7 @@ static DerivedMesh 
*navmesh_dm_createNavMeshForVisualization(DerivedMesh *dm);
 
 #include "GPU_buffers.h"
 #include "GPU_extensions.h"
-#include "GPU_glew.h"
+#include "GPU_immediate.h"
 
 /* very slow! enable for testing only! */
 //#define USE_MODIFIER_VALIDATE
@@ -3240,7 +3240,7 @@ static void navmesh_drawColored(DerivedMesh *dm)
        {
                DEBUG_VBO("Using legacy code. drawNavMeshColored\n");
                //glShadeModel(GL_SMOOTH);
-               glBegin(glmode = GL_QUADS);
+               GPUBegin(glmode = GL_QUADS);
                for (a = 0; a < dm->numTessFaceData; a++, mface++) {
                        int new_glmode = mface->v4 ? GL_QUADS : GL_TRIANGLES;
                        int pi = polygonIdx[a];
@@ -3253,7 +3253,7 @@ static void navmesh_drawColored(DerivedMesh *dm)
 
                        if (new_glmode != glmode) {
                                glEnd();
-                               glBegin(glmode = new_glmode);
+                               GPUBegin(glmode = new_glmode);
                        }
                        glColor3fv(col);
                        glVertex3fv(mvert[mface->v1].co);
diff --git a/source/blender/blenkernel/intern/cdderivedmesh.c 
b/source/blender/blenkernel/intern/cdderivedmesh.c
index bd5ee4b..7646974 100644
--- a/source/blender/blenkernel/intern/cdderivedmesh.c
+++ b/source/blender/blenkernel/intern/cdderivedmesh.c
@@ -58,7 +58,7 @@
 #include "GPU_buffers.h"
 #include "GPU_draw.h"
 #include "GPU_extensions.h"
-#include "GPU_glew.h"
+#include "GPU_immediate.h"
 
 #include <string.h>
 #include <limits.h>
@@ -342,9 +342,9 @@ static void cdDM_drawVerts(DerivedMesh *dm)
 {
        GPU_vertex_setup(dm);
        if (dm->drawObject->tot_triangle_point)
-               glDrawArrays(GL_POINTS, 0, dm->drawObject->tot_triangle_point);
+               GPUDrawArrays(GL_POINTS, 0, dm->drawObject->tot_triangle_point);
        else
-               glDrawArrays(GL_POINTS, 0, dm->drawObject->tot_loose_point);
+               GPUDrawArrays(GL_POINTS, 0, dm->drawObject->tot_loose_point);
        GPU_buffer_unbind();
 }
 
@@ -370,7 +370,7 @@ static void cdDM_drawUVEdges(DerivedMesh *dm)
                        }
                        if (prevdraw != draw) {
                                if (prevdraw > 0 && (curpos - prevstart) > 0) {
-                                       glDrawArrays(GL_LINES, prevstart, 
curpos - prevstart);
+                                       GPUDrawArrays(GL_LINES, prevstart, 
curpos - prevstart);
                                }
                                prevstart = curpos;
                        }
@@ -383,7 +383,7 @@ static void cdDM_drawUVEdges(DerivedMesh *dm)
                        prevdraw = draw;
                }
                if (prevdraw > 0 && (curpos - prevstart) > 0) {
-                       glDrawArrays(GL_LINES, prevstart, curpos - prevstart);
+                       GPUDrawArrays(GL_LINES, prevstart, curpos - prevstart);
                }
                GPU_buffer_unbind();
        }
@@ -486,7 +486,7 @@ static void cdDM_drawFacesSolid(DerivedMesh *dm,
        glShadeModel(GL_SMOOTH);
        for (a = 0; a < dm->drawObject->totmaterial; a++) {
                if (!setMaterial || 
setMaterial(dm->drawObject->materials[a].mat_nr + 1, NULL)) {
-                       glDrawArrays(GL_TRIANGLES, 
dm->drawObject->materials[a].start,
+                       GPUDrawArrays(GL_TRIANGLES, 
dm->drawObject->materials[a].start,
                                     dm->drawObject->materials[a].totpoint);
                }
        }
@@ -612,7 +612,7 @@ static void cdDM_drawFacesTex_common(DerivedMesh *dm,
                                else
                                        GPU_color_switch(0);
                                
-                               glDrawArrays(GL_TRIANGLES, first, count);
+                               GPUDrawArrays(GL_TRIANGLES, first, count);
                        }
                        
                        startFace = i + 1;
@@ -698,7 +698,7 @@ static void cdDM_drawMappedFaces(DerivedMesh *dm,
                                /* no need to set shading mode to flat because
                                 *  normals are already used to change shading 
*/
                                glShadeModel(GL_SMOOTH);
-                               glBegin(mf->v4 ? GL_QUADS : GL_TRIANGLES);
+                               GPUBegin(mf->v4 ? GL_QUADS : GL_TRIANGLES);
 
                                if (lnors) {
                                        if (cp) glColor3ub(cp[3], cp[2], cp[1]);
@@ -788,7 +788,7 @@ static void cdDM_drawMappedFaces(DerivedMesh *dm,
                }
                else if (setDrawOptions == NULL) {
                        /* just draw the entire face array */
-                       glDrawArrays(GL_TRIANGLES, 0, (tottri) * 3);
+                       GPUDrawArrays(GL_TRIANGLES, 0, (tottri) * 3);
                }
                else {
                        /* we need to check if the next material changes */
@@ -843,7 +843,7 @@ static void cdDM_drawMappedFaces(DerivedMesh *dm,
                                        int count = (i - prevstart + 
(draw_option != DM_DRAW_OPTION_SKIP ? 1 : 0)) * 3;
                                        
                                        if (count)
-                                               glDrawArrays(GL_TRIANGLES, 
first, count);
+                                               GPUDrawArrays(GL_TRIANGLES, 
first, count);
                                        
                                        prevstart = i + 1;
                                        
@@ -934,7 +934,7 @@ static void cdDM_drawMappedFacesGLSL(DerivedMesh *dm,
                DEBUG_VBO("Using legacy code. cdDM_drawMappedFacesGLSL\n");
                memset(&attribs, 0, sizeof(attribs));
 
-               glBegin(GL_QUADS);
+               GPUBegin(GL_QUADS);
 
                for (a = 0; a < dm->numTessFaceData; a++, mface++) {
                        const bool smoothnormal = lnors || (mface->flag & 
ME_SMOOTH);
@@ -948,7 +948,7 @@ static void cdDM_drawMappedFacesGLSL(DerivedMesh *dm,
                                if (do_draw)
                                        DM_vertex_attributes_from_gpu(dm, 
&gattribs, &attribs);
 
-                               glBegin(GL_QUADS);
+                               GPUBegin(GL_QUADS);
                        }
 
                        if (!do_draw) {
@@ -1035,7 +1035,7 @@ static void cdDM_drawMappedFacesGLSL(DerivedMesh *dm,
                                                        
GPU_interleaved_attrib_setup(buffer, datatypes, numdata);
                                                }
                                                
-                                               glDrawArrays(GL_TRIANGLES, 
start * 3, numfaces * 3);
+                                               GPUDrawArrays(GL_TRIANGLES, 
start * 3, numfaces * 3);
                                                
                                                if (numdata != 0) {
                                                        
@@ -1204,7 +1204,7 @@ static void cdDM_drawMappedFacesGLSL(DerivedMesh *dm,
                                        GPU_buffer_unlock(buffer);
                                        GPU_interleaved_attrib_setup(buffer, 
datatypes, numdata);
                                }
-                               glDrawArrays(GL_TRIANGLES, start * 3, (curface 
- start) * 3);
+                               GPUDrawArrays(GL_TRIANGLES, start * 3, (curface 
- start) * 3);
                        }
                }
                GPU_buffer_unbind();
@@ -1262,7 +1262,7 @@ static void cdDM_drawMappedFacesMat(DerivedMesh *dm,
 
        memset(&attribs, 0, sizeof(attribs));
 
-       glBegin(GL_QUADS);
+       GPUBegin(GL_QUADS);
 
        for (a = 0; a < dm->numTessFaceData; a++, mf++) {
                const bool smoothnormal = lnors || (mf->flag & ME_SMOOTH);
@@ -1277,7 +1277,7 @@ static void cdDM_drawMappedFacesMat(DerivedMesh *dm,
                        setMaterial(userData, matnr = new_matnr, &gattribs);
                        DM_vertex_attributes_from_gpu(dm, &gattribs, &attribs);
 
-                       glBegin(GL_QUADS);
+                       GPUBegin(GL_QUADS);
                }
 
                /* skipping faces */
@@ -1334,7 +1334,7 @@ static void cdDM_drawMappedEdges(DerivedMesh *dm, 
DMSetDrawOptions setDrawOption
        MEdge *edge = cddm->medge;
        int i, orig, *index = DM_get_edge_data_layer(dm, CD_ORIGINDEX);
 
-       glBegin(GL_LINES);
+       GPUBegin(GL_LINES);
        for (i = 0; i < dm->numEdgeData; i++, edge++) {
                if (index) {
                        orig = *index++;
diff --git a/source/blender/blenkernel/intern/editderivedmesh.c 
b/source/blender/blenkernel/intern/editderivedmesh.c
index 40f3022..e2f9011 100644
--- a/source/blender/blenkernel/intern/editderivedmesh.c
+++ b/source/blender/blenkernel/intern/editderivedmesh.c
@@ -56,7 +56,7 @@
 #include "MEM_guardedalloc.h"
 
 #include "GPU_extensions.h"
-#include "GPU_glew.h"
+#include "GPU_immediate.h"
 
 extern GLubyte stipple_quarttone[128]; /* glutil.c, bad level data */
 
@@ -319,7 +319,7 @@ static void emDM_drawMappedEdges(DerivedMesh *dm,
 
                BM_mesh_elem_index_ensure(bm, BM_VERT);
 
-               glBegin(GL_LINES);
+               GPUBegin(GL_LINES);
                BM_ITER_MESH_INDEX (eed, &iter, bm, BM_EDGES_OF_MESH, i) {
                        if (!setDrawOptions || (setDrawOptions(userData, i) != 
DM_DRAW_OPTION_SKIP)) {
                                
glVertex3fv(bmdm->vertexCos[BM_elem_index_get(eed->v1)]);
@@ -329,7 +329,7 @@ static void emDM_drawMappedEdges(DerivedMesh *dm,
                glEnd();
        }
        else {
-               glBegin(GL_LINES);
+               GPUBegin(GL_LINES);
                BM_ITER_MESH_INDEX (eed, &iter, bm, BM_EDGES_OF_MESH, i) {
                        if (!setDrawOptions || (setDrawOptions(userData, i) != 
DM_DRAW_OPTION_SKIP)) {
                                glVertex3fv(eed->v1->co);
@@ -361,7 +361,7 @@ static void emDM_drawMappedEdgesInterp(DerivedMesh *dm,
 
                BM_mesh_elem_index_ensure(bm, BM_VERT);
 
-               glBegin(GL_LINES);
+               GPUBegin(GL_LINES);
                BM_ITER_MESH_INDEX (eed, &iter, bm, BM_EDGES_OF_MESH, i) {
                        if (!setDrawOptions || (setDrawOptions(userData, i) != 
DM_DRAW_OPTION_SKIP)) {
                                setDrawInterpOptions(userData, i, 0.0);
@@ -373,7 +373,7 @@ static void emDM_drawMappedEdgesInterp(DerivedMesh *dm,
                glEnd();
        }
        else {
-               glBegin(GL_LINES);
+               GPUBegin(GL_LINES);
                BM_ITER_MESH_INDEX (eed, &iter, bm, BM_EDGES_OF_MESH, i) {
                        if (!setDrawOptions || (setDrawOptions(userData, i) != 
DM_DRAW_OPTION_SKIP)) {
                                setDrawInterpOptions(userData, i, 0.0);
@@ -399,7 +399,7 @@ static void emDM_drawUVEdges(DerivedMesh *dm)
                return;
        }
 
-       glBegin(GL_LINES);
+       GPUBegin(GL_LINES);
        BM_ITER_MESH (efa, &iter, bm, BM_FACES_OF_MESH) {
                BMLoop *l_iter, *l_first;
                const float *uv, *uv_prev;
@@ -574,7 +574,7 @@ static void emDM_drawMappedFaces(DerivedMesh *dm,
                                if (draw_option == DM_DRAW_OPTION_STIPPLE) { /* 
enabled with stipple */
 
                                        if (poly_prev != GL_ZERO) glEnd();
-                                       poly_prev = GL_ZERO; /* force glBegin */
+                                       poly_prev = GL_ZERO; /* force GPUBegin 
*/
 
                                        glEnable(GL_POLYGON_STIPPLE);
                                        glPolygonStipple(stipple_quarttone);
@@ -585,7 +585,7 @@ static void emDM_drawMappedFaces(DerivedMesh *dm,
                                if (skip_normals) {
                                        if (poly_type != poly_prev) {
                                                if (poly_prev != GL_ZERO) 
glEnd();
-                                               glBegin((poly_prev = 
poly_type)); /* BMesh: will always be GL_TRIANGLES */
+                                               GPUBegin((poly_prev = 
poly_type)); /* BMesh: will always be GL_TRIANGLES */
                                        }
                                        if (has_vcol_any) glColor3ubv((const 
GLubyte *)&(lcol[0]->r));
                                        
glVertex3fv(vertexCos[BM_elem_index_get(ltri[0]->v)]);
@@ -599,11 +599,11 @@ static void emDM_drawMappedFaces(DerivedMesh *dm,
                                        if (shade_type != shade_prev) {
                                                if (poly_prev != GL_ZERO) 
glEnd();
                                                glShadeModel((shade_prev = 
shade_type)); /* same as bel

@@ Diff output truncated at 10240 characters. @@

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to