OpenGL 4.6 z nowymi rozszerzeniami oraz obsługą shaderów SPIR-V

0

Konsorcjum Khronos Group udostępniło specyfikację standardu OpenGL 4.6. Nowa wersja została ogłoszona podczas trwających targów SIGGRAPH 2017, na których wiele firm ogłasza swoje nowości. W nowej odsłonie wprowadzono kilkanaście nowych rozszerzeń ARB i EXT, zaprojektowanych we współpracy AMD, Intel i NVIDIA. Sporo z nich ma związek ze specyfikacją shaderów SPIR-V.

Oto wspomniane rozszerzenia:

  • GL_ARB_gl_spirv and GL_ARB_spirv_extensions to standardize SPIR-V support for OpenGL
  • GL_ARB_indirect_parameters and GL_ARB_shader_draw_parameters for reducing the CPU overhead associated with rendering batches of geometry
  • GL_ARB_pipeline_statistics_query and GL_ARB_transform_feedback_overflow_query standardize OpenGL support for features available in Direct3D
  • GL_ARB_texture_filter_anisotropic (based on GL_EXT_texture_filter_anisotropic) brings previously IP encumbered functionality into OpenGL to improve the visual quality of textured scenes
  • GL_ARB_polygon_offset_clamp (based on GL_EXT_polygon_offset_clamp) suppresses a common visual artifact known as a “light leak” associated with rendering shadows
  • GL_ARB_shader_atomic_counter_ops and GL_ARB_shader_group_vote add shader intrinsics supported by all desktop vendors to improve functionality and performance
  • GL_KHR_no_error reduces driver overhead by allowing the application to indicate that it expects error-free operation so errors need not be generated
  • GL_KHR_parallel_shader_compile allows applications to launch multiple shader compile threads to improve shader compile throughput
  • WGL_ARB_create_context_no_error and GXL_ARB_create_context_no_error allow no error contexts to be created with WGL or GLX that support the GL_KHR_no_error extension
  • GL_EXT_memory_object
  • GL_EXT_memory_object_fd
  • GL_EXT_memory_object_win32
  • GL_EXT_semaphore
  • GL_EXT_semaphore_fd
  • GL_EXT_semaphore_win32
  • GL_EXT_win32_keyed_mute