Using glPrimitiveRestartIndex to declare multiple geometries in the same VBO

Thanks this is very instructive. I did not imagine primitive restart would require an extension. Do you know any page or documentation explaining what extensions can be made available when using a core profile? Do you recommend a page clarifying what feature of OpenGL are supported everywhere vs those that require an extension for working?

The NV_primitive_restart is indeed not listed in the GL extensions of my mac, as shown on the export below :

Capabilities  : GLCaps[rgba 8/8/8/8, opaque, accum-rgba 0/0/0/0, dp/st/ms 16/0/0, dbl, mono  , hw, GLProfile[GL2/GL2.hw], offscr[fbo]]
GL_VENDOR     : NVIDIA Corporation
GL_RENDERER   : NVIDIA GeForce GT 650M OpenGL Engine
GL_VERSION    : 2.1 NVIDIA-10.17.5 355.10.05.45f01
GL_EXTENSIONS : 
	GL_ARB_color_buffer_float
	GL_ARB_depth_buffer_float
	GL_ARB_depth_clamp
	GL_ARB_depth_texture
	GL_ARB_draw_buffers
	GL_ARB_draw_elements_base_vertex
	GL_ARB_draw_instanced
	GL_ARB_fragment_program
	GL_ARB_fragment_program_shadow
	GL_ARB_fragment_shader
	GL_ARB_framebuffer_object
	GL_ARB_framebuffer_sRGB
	GL_ARB_half_float_pixel
	GL_ARB_half_float_vertex
	GL_ARB_imaging
	GL_ARB_instanced_arrays
	GL_ARB_multisample
	GL_ARB_multitexture
	GL_ARB_occlusion_query
	GL_ARB_pixel_buffer_object
	GL_ARB_point_parameters
	GL_ARB_point_sprite
	GL_ARB_provoking_vertex
	GL_ARB_seamless_cube_map
	GL_ARB_shader_objects
	GL_ARB_shader_texture_lod
	GL_ARB_shading_language_100
	GL_ARB_shadow
	GL_ARB_sync
	GL_ARB_texture_border_clamp
	GL_ARB_texture_compression
	GL_ARB_texture_compression_rgtc
	GL_ARB_texture_cube_map
	GL_ARB_texture_env_add
	GL_ARB_texture_env_combine
	GL_ARB_texture_env_crossbar
	GL_ARB_texture_env_dot3
	GL_ARB_texture_float
	GL_ARB_texture_mirrored_repeat
	GL_ARB_texture_non_power_of_two
	GL_ARB_texture_rectangle
	GL_ARB_texture_rg
	GL_ARB_transpose_matrix
	GL_ARB_vertex_array_bgra
	GL_ARB_vertex_blend
	GL_ARB_vertex_buffer_object
	GL_ARB_vertex_program
	GL_ARB_vertex_shader
	GL_ARB_window_pos
	GL_EXT_abgr
	GL_EXT_bgra
	GL_EXT_bindable_uniform
	GL_EXT_blend_color
	GL_EXT_blend_equation_separate
	GL_EXT_blend_func_separate
	GL_EXT_blend_minmax
	GL_EXT_blend_subtract
	GL_EXT_clip_volume_hint
	GL_EXT_debug_label
	GL_EXT_debug_marker
	GL_EXT_depth_bounds_test
	GL_EXT_draw_buffers2
	GL_EXT_draw_range_elements
	GL_EXT_fog_coord
	GL_EXT_framebuffer_blit
	GL_EXT_framebuffer_multisample
	GL_EXT_framebuffer_multisample_blit_scaled
	GL_EXT_framebuffer_object
	GL_EXT_framebuffer_sRGB
	GL_EXT_geometry_shader4
	GL_EXT_gpu_program_parameters
	GL_EXT_gpu_shader4
	GL_EXT_multi_draw_arrays
	GL_EXT_packed_depth_stencil
	GL_EXT_packed_float
	GL_EXT_provoking_vertex
	GL_EXT_rescale_normal
	GL_EXT_secondary_color
	GL_EXT_separate_specular_color
	GL_EXT_shadow_funcs
	GL_EXT_stencil_two_side
	GL_EXT_stencil_wrap
	GL_EXT_texture_array
	GL_EXT_texture_compression_dxt1
	GL_EXT_texture_compression_s3tc
	GL_EXT_texture_env_add
	GL_EXT_texture_filter_anisotropic
	GL_EXT_texture_integer
	GL_EXT_texture_lod_bias
	GL_EXT_texture_mirror_clamp
	GL_EXT_texture_rectangle
	GL_EXT_texture_shared_exponent
	GL_EXT_texture_sRGB
	GL_EXT_texture_sRGB_decode
	GL_EXT_timer_query
	GL_EXT_transform_feedback
	GL_EXT_vertex_array_bgra
	GL_APPLE_aux_depth_stencil
	GL_APPLE_client_storage
	GL_APPLE_element_array
	GL_APPLE_fence
	GL_APPLE_float_pixels
	GL_APPLE_flush_buffer_range
	GL_APPLE_flush_render
	GL_APPLE_object_purgeable
	GL_APPLE_packed_pixels
	GL_APPLE_pixel_buffer
	GL_APPLE_rgb_422
	GL_APPLE_row_bytes
	GL_APPLE_specular_vector
	GL_APPLE_texture_range
	GL_APPLE_transform_hint
	GL_APPLE_vertex_array_object
	GL_APPLE_vertex_array_range
	GL_APPLE_vertex_point_size
	GL_APPLE_vertex_program_evaluators
	GL_APPLE_ycbcr_422
	GL_ATI_separate_stencil
	GL_ATI_texture_env_combine3
	GL_ATI_texture_float
	GL_ATI_texture_mirror_once
	GL_IBM_rasterpos_clip
	GL_NV_blend_square
	GL_NV_conditional_render
	GL_NV_depth_clamp
	GL_NV_fog_distance
	GL_NV_fragment_program_option
	GL_NV_fragment_program2
	GL_NV_light_max_exponent
	GL_NV_multisample_filter_hint
	GL_NV_point_sprite
	GL_NV_texgen_reflection
	GL_NV_texture_barrier
	GL_NV_vertex_program2_option
	GL_NV_vertex_program3
	GL_SGIS_generate_mipmap
	GL_SGIS_texture_edge_clamp
	GL_SGIS_texture_lod