gamnit: check for more errors
authorAlexis Laferrière <alexis.laf@xymus.net>
Tue, 3 Oct 2017 20:14:35 +0000 (16:14 -0400)
committerAlexis Laferrière <alexis.laf@xymus.net>
Tue, 21 Nov 2017 19:02:54 +0000 (14:02 -0500)
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

lib/gamnit/depth/depth.nit
lib/gamnit/depth/more_materials.nit
lib/gamnit/egl.nit
lib/gamnit/flat/flat_core.nit

index fccb689..c180869 100644 (file)
@@ -65,6 +65,7 @@ redef class App
                for actor in actors do
                        for leaf in actor.model.leaves do
                                leaf.material.draw(actor, leaf, app.world_camera)
+                               assert glGetError == gl_NO_ERROR else print_error "Gamnit error on material {leaf.material.class_name}"
                        end
                end
                perfs["gamnit depth actors"].add frame_core_depth_clock.lapse
@@ -74,7 +75,10 @@ redef class App
 
                # Toggle writing to the depth buffer for particles effects
                glDepthMask false
-               for system in particle_systems do system.draw
+               for system in particle_systems do
+                       system.draw
+                       assert glGetError == gl_NO_ERROR else print_error "OpenGL error in {system}"
+               end
                glDepthMask true
                perfs["gamnit depth particles"].add frame_core_depth_clock.lapse
 
index 2546da3..8de6f9d 100644 (file)
@@ -93,6 +93,8 @@ class SmoothMaterial
                else
                        glDrawElements(mesh.draw_mode, mesh.indices.length, gl_UNSIGNED_SHORT, mesh.indices_c.native_array)
                end
+
+               assert glGetError == gl_NO_ERROR
        end
 
        private fun setup_lights(actor: Actor, model: LeafModel, camera: Camera, program: BlinnPhongProgram)
index 59a0aa3..b0f756f 100644 (file)
@@ -110,6 +110,10 @@ redef class GamnitDisplay
 
        redef fun flip
        do
+               assert glGetError == gl_NO_ERROR
+
+               assert egl_display.is_valid
+
                egl_display.swap_buffers(window_surface)
        end
 end
index 7572271..2ab18f6 100644 (file)
@@ -542,6 +542,8 @@ redef class App
 
                # draw
                sprite_set.draw
+
+               assert glGetError == gl_NO_ERROR
        end
 
        # Draw world sprites from `sprites`