[Bf-blender-cvs] [2383667a2e6] blender2.8: Remove reference to WITH_LEGACY_OPENGL

Dalai Felinto noreply at git.blender.org
Fri May 19 14:18:20 CEST 2017


Commit: 2383667a2e67aeb645792b52ad508c2fd2178202
Author: Dalai Felinto
Date:   Fri May 19 14:15:49 2017 +0200
Branches: blender2.8
https://developer.blender.org/rB2383667a2e67aeb645792b52ad508c2fd2178202

Remove reference to WITH_LEGACY_OPENGL

We only keep this as a way to get GPU_stubs to run, in case we want to do a
throughout cleanup in the codebase and want code using legacy calls to
fail to build.

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

M	intern/ghost/intern/GHOST_ContextWGL.cpp
M	intern/ghost/intern/GHOST_WindowX11.cpp
M	intern/opensubdiv/opensubdiv_gpu_capi.cc
M	source/blender/editors/space_view3d/drawmesh.c
M	source/blender/editors/space_view3d/drawobject.c
M	source/blender/gpu/intern/gpu_draw.c
M	source/blender/gpu/intern/gpu_extensions.c
M	source/blender/gpu/intern/gpu_texture.c

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

diff --git a/intern/ghost/intern/GHOST_ContextWGL.cpp b/intern/ghost/intern/GHOST_ContextWGL.cpp
index 3538632ce40..8cf311b9e84 100644
--- a/intern/ghost/intern/GHOST_ContextWGL.cpp
+++ b/intern/ghost/intern/GHOST_ContextWGL.cpp
@@ -878,23 +878,6 @@ GHOST_TSuccess GHOST_ContextWGL::initializeDrawingContext()
 		else
 			m_hGLRC = s_sharedHGLRC;
 	}
-#ifdef WITH_LEGACY_OPENGL
-	else {
-		if (m_contextProfileMask  != 0)
-			fprintf(stderr, "Warning! Legacy WGL is unable to select between OpenGL profiles.");
-
-		if (m_contextMajorVersion != 0 || m_contextMinorVersion != 0)
-			fprintf(stderr, "Warning! Legacy WGL is unable to select between OpenGL versions.");
-
-		if (m_contextFlags != 0)
-			fprintf(stderr, "Warning! Legacy WGL is unable to set context flags.");
-
-		if (!s_singleContextMode || s_sharedHGLRC == NULL)
-			m_hGLRC = ::wglCreateContext(m_hDC);
-		else
-			m_hGLRC = s_sharedHGLRC;
-	}
-#endif // WITH_LEGACY_OPENGL
 
 	if (!WIN32_CHK(m_hGLRC != NULL)) {
 		::wglMakeCurrent(prevHDC, prevHGLRC);
@@ -946,13 +929,7 @@ GHOST_TSuccess GHOST_ContextWGL::initializeDrawingContext()
 		           MB_OK | MB_ICONERROR);
 		exit(0);
 	}
-#if defined(WITH_LEGACY_OPENGL)
-	else if (version[0] < '3') {
-		// relax requirements for Mesa, which uses GL 3.0
-		// while other drivers use GL 3.3+ compatibility profile
-#else
 	else if (version[0] < '3' || (version[0] == '3' && version[2] < '3')) {
-#endif
 		MessageBox(m_hWnd, "Blender requires a graphics driver with OpenGL 3.3 support.\n\n"
 		                   "The program will now close.",
 		           "Blender - Unsupported Graphics Driver!",
diff --git a/intern/ghost/intern/GHOST_WindowX11.cpp b/intern/ghost/intern/GHOST_WindowX11.cpp
index 11f3a6ea406..450fe568814 100644
--- a/intern/ghost/intern/GHOST_WindowX11.cpp
+++ b/intern/ghost/intern/GHOST_WindowX11.cpp
@@ -1386,25 +1386,6 @@ GHOST_Context *GHOST_WindowX11::newDrawingContext(GHOST_TDrawingContextType type
 		else
 			delete context;
 
-#ifdef WITH_LEGACY_OPENGL
-		// since that failed try 3.0 (mostly for Mesa, which doesn't implement compatibility profile)
-		context = new GHOST_ContextGLX(
-		        m_wantStereoVisual,
-		        m_wantNumOfAASamples,
-		        m_window,
-		        m_display,
-		        m_visualInfo,
-		        (GLXFBConfig)m_fbconfig,
-		        0, // no profile bit
-		        3, 0,
-		        GHOST_OPENGL_GLX_CONTEXT_FLAGS | (m_is_debug_context ? GLX_CONTEXT_DEBUG_BIT_ARB : 0),
-		        GHOST_OPENGL_GLX_RESET_NOTIFICATION_STRATEGY);
-
-		if (context->initializeDrawingContext())
-			return context;
-		else
-			delete context;
-#endif // WITH_LEGACY_OPENGL
 	}
 
 	return NULL;
diff --git a/intern/opensubdiv/opensubdiv_gpu_capi.cc b/intern/opensubdiv/opensubdiv_gpu_capi.cc
index 32474d7cb60..811cd18745e 100644
--- a/intern/opensubdiv/opensubdiv_gpu_capi.cc
+++ b/intern/opensubdiv/opensubdiv_gpu_capi.cc
@@ -344,27 +344,6 @@ void bindProgram(OpenSubdiv_GLMesh *gl_mesh, int program)
 	glBindBufferBase(GL_UNIFORM_BUFFER, 0, g_lighting_ub);
 
 	/* Color */
-#ifdef WITH_LEGACY_OPENGL
-	GLboolean use_lighting;
-	glGetBooleanv(GL_LIGHTING, &use_lighting);
-
-	if (use_lighting) {
-		float color[4];
-		glGetMaterialfv(GL_FRONT, GL_DIFFUSE, color);
-		glUniform4fv(glGetUniformLocation(program, "diffuse"), 1, color);
-
-		glGetMaterialfv(GL_FRONT, GL_SPECULAR, color);
-		glUniform4fv(glGetUniformLocation(program, "specular"), 1, color);
-
-		glGetMaterialfv(GL_FRONT, GL_SHININESS, color);
-		glUniform1f(glGetUniformLocation(program, "shininess"), color[0]);
-	}
-	else {
-		float color[4];
-		glGetFloatv(GL_CURRENT_COLOR, color);
-		glUniform4fv(glGetUniformLocation(program, "diffuse"), 1, color);
-	}
-#else
 	{
 		/* TODO: stop using glGetMaterial */
 		float color[4];
@@ -377,7 +356,6 @@ void bindProgram(OpenSubdiv_GLMesh *gl_mesh, int program)
 		glGetMaterialfv(GL_FRONT, GL_SHININESS, color);
 		glUniform1f(glGetUniformLocation(program, "shininess"), color[0]);
 	}
-#endif
 
 	/* Face-vertex data */
 	if (gl_mesh->fvar_data != NULL) {
@@ -642,33 +620,6 @@ static GLuint prepare_patchDraw(OpenSubdiv_GLMesh *gl_mesh,
 		glGetIntegerv(GL_SHADE_MODEL, &model);
 		glGetBooleanv(GL_TEXTURE_2D, &use_texture_2d);
 
-#ifdef WITH_LEGACY_OPENGL
-		glGetBooleanv(GL_LIGHTING, &use_lighting);
-		if (model == GL_FLAT) {
-			if (use_texture_2d) {
-				program = use_lighting
-				                  ? g_flat_fill_texture2d_program
-				                  : g_flat_fill_texture2d_shadeless_program;
-			}
-			else {
-				program = use_lighting
-				                  ? g_flat_fill_solid_program
-				                  : g_flat_fill_solid_shadeless_program;
-			}
-		}
-		else {
-			if (use_texture_2d) {
-				program = use_lighting
-				                  ? g_smooth_fill_texture2d_program
-				                  : g_smooth_fill_texture2d_shadeless_program;
-			}
-			else {
-				program = use_lighting
-				                  ? g_smooth_fill_solid_program
-				                  : g_smooth_fill_solid_shadeless_program;
-			}
-		}
-#else
 		if (model == GL_FLAT) {
 			if (use_texture_2d) {
 				program = g_flat_fill_texture2d_program;
@@ -685,7 +636,6 @@ static GLuint prepare_patchDraw(OpenSubdiv_GLMesh *gl_mesh,
 				program = g_smooth_fill_solid_program;
 			}
 		}
-#endif
 
 	}
 	else {
diff --git a/source/blender/editors/space_view3d/drawmesh.c b/source/blender/editors/space_view3d/drawmesh.c
index 8db377c3061..896c20fbd96 100644
--- a/source/blender/editors/space_view3d/drawmesh.c
+++ b/source/blender/editors/space_view3d/drawmesh.c
@@ -1161,85 +1161,8 @@ static bool tex_mat_set_face_editmesh_cb(void *userData, int index)
 void draw_mesh_textured(Scene *scene, SceneLayer *sl, View3D *v3d, RegionView3D *rv3d,
                         Object *ob, DerivedMesh *dm, const int draw_flags)
 {
-#ifndef WITH_LEGACY_OPENGL
-	/* some legacy GL calls here will *crash* blender */
+	UNUSED_VARS(scene, sl, v3d, rv3d, ob, dm, draw_flags);
 	return;
-#endif
-
-	/* if not cycles, or preview-modifiers, or drawing matcaps */
-	if ((draw_flags & DRAW_MODIFIERS_PREVIEW) ||
-	    (v3d->flag2 & V3D_SHOW_SOLID_MATCAP) ||
-	    (BKE_scene_use_new_shading_nodes(scene) == false) ||
-	    ((ob->mode & OB_MODE_TEXTURE_PAINT) && ELEM(v3d->drawtype, OB_TEXTURE, OB_SOLID)))
-	{
-		draw_mesh_textured_old(scene, sl, v3d, rv3d, ob, dm, draw_flags);
-		return;
-	}
-	else if (ob->mode & (OB_MODE_VERTEX_PAINT | OB_MODE_WEIGHT_PAINT)) {
-		draw_mesh_paint(v3d, rv3d, ob, dm, draw_flags);
-		return;
-	}
-
-	/* set opengl state for negative scale & color */
-	if (ob->transflag & OB_NEG_SCALE) glFrontFace(GL_CW);
-	else glFrontFace(GL_CCW);
-
-	Mesh *me = ob->data;
-
-	bool shadeless = ((v3d->flag2 & V3D_SHADELESS_TEX) &&
-	    ((v3d->drawtype == OB_TEXTURE) || (ob->mode & OB_MODE_TEXTURE_PAINT)));
-	bool two_sided_lighting = (me->flag & ME_TWOSIDED) != 0;
-
-	TexMatCallback data = {scene, ob, me, dm, shadeless, two_sided_lighting};
-	bool (*set_face_cb)(void *, int);
-	bool picking = (G.f & G_PICKSEL) != 0;
-	
-	/* face hiding callback depending on mode */
-	if (ob == scene->obedit)
-		set_face_cb = tex_mat_set_face_editmesh_cb;
-	else if (draw_flags & DRAW_FACE_SELECT)
-		set_face_cb = tex_mat_set_face_mesh_cb;
-	else
-		set_face_cb = NULL;
-
-	/* test if we can use glsl */
-	const int drawtype = view3d_effective_drawtype(v3d);
-	bool glsl = (drawtype == OB_MATERIAL) && !picking;
-
-	GPU_begin_object_materials(v3d, rv3d, scene, sl, ob, glsl, NULL);
-
-	if (glsl || picking) {
-		/* draw glsl or solid */
-		dm->drawMappedFacesMat(dm,
-		                       tex_mat_set_material_cb,
-		                       set_face_cb, &data);
-	}
-	else {
-		/* draw textured */
-		dm->drawMappedFacesMat(dm,
-		                       tex_mat_set_texture_cb,
-		                       set_face_cb, &data);
-	}
-
-	GPU_end_object_materials();
-
-	/* reset opengl state */
-	GPU_end_object_materials();
-	GPU_basic_shader_bind(GPU_SHADER_USE_COLOR);
-
-	glBindTexture(GL_TEXTURE_2D, 0);
-
-	glFrontFace(GL_CCW);
-
-	glMatrixMode(GL_TEXTURE);
-	glLoadIdentity(); /* TEXTURE */
-	glMatrixMode(GL_MODELVIEW);
-
-	/* faceselect mode drawing over textured mesh */
-	if (!(ob == scene->obedit) && (draw_flags & DRAW_FACE_SELECT)) {
-		bool draw_select_edges = (ob->mode & OB_MODE_TEXTURE_PAINT) == 0;
-		draw_mesh_face_select(rv3d, ob->data, dm, draw_select_edges);
-	}
 }
 
 /* Vertex Paint and Weight Paint */
diff --git a/source/blender/editors/space_view3d/drawobject.c b/source/blender/editors/space_view3d/drawobject.c
index 5acc41643ef..2bae620a4ed 100644
--- a/source/blender/editors/space_view3d/drawobject.c
+++ b/source/blender/editors/space_view3d/drawobject.c
@@ -9422,21 +9422,6 @@ static void bbs_mesh_verts(BMEditMesh *em, DerivedMesh *dm, int offset)
 	immUnbindProgram();
 }
 
-#if defined(WITH_LEGACY_OPENGL)
-static DMDrawOption bbs_mesh_wire__setDrawOptions(void *userData, int index)
-{
-	drawBMOffset_userData *data = userData;
-	BMEdge *eed = BM_edge_at_index(data->bm, index);
-
-	if (!BM_elem_flag_test(eed, BM_ELEM_HIDDEN)) {
-		GPU_select_index_set(data->offset + index);
-		return DM_DRAW_OPTION_NORMAL;
-	}
-	else {
-		return DM_DRAW_OPTION_SKIP;
-	}
-}
-#else
 static void bbs_mesh_wire__mapFunc(void *userData, int index, const float v0co[3], const float v1co[3])
 {
 	drawBMOffset_userData *data = userData;
@@ -9450,16 +9435,13 @@ static void bbs_mesh_wire__mapFunc(void *userData, int index, const float v0co[3
 		immVertex3fv(data->pos, v1co);
 	}
 }
-#endif
+
 static void bbs_mesh_wire(BMEditMesh *em, DerivedMesh *dm, int offset)
 {
 	drawBMOffset_userData data;
 	data.bm = em->bm;
 	data.offset = offset;
 
-#if defined(WITH_LEGACY_OPENGL)
-	dm->drawMappedEdges(dm, bbs_mesh_wire__setDrawOptions, &data);
-#else
 	VertexFormat *format = immVertexFormat();
 
 	const int imm_len = dm->getNumEdges(dm) * 2;
@@ -9478,53 +9460,10 @@ static void bbs_mesh_wire(BMEditMesh *em, DerivedMesh *dm, int offset)
 	immEnd();
 
 	immUnbindProgram();
-#endif
 }
 
-#if defined(WITH_LEGACY_OPENGL)
-/**
- * dont set #GPU_framebuffer_index_set. just use to mask other
- */
-static DMDrawOption bbs_mesh_mask__setSolidDrawOptions(void *userData, int index)
-{
-	BMFace *efa = BM_face_at_index(userData, index);
-	
-	if (!BM_elem_flag_test(efa, BM

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list