Unable to capture GL window with Nvidia prime offload
On Wayland:
glxgears crashes immediately after start:
$ obs-gamecapture prime-run glxgears
Running synchronized to the vertical refresh. The framerate should be
approximately the same as the monitor refresh rate.
[obs-vkcapture] Init GLX 1.4.0
[obs-vkcapture] Texture GL_RGBA 951x1026
Xlib: extension "NV-GLX" missing on display ":1".
X Error of failed request: GLXBadPixmap
Major opcode of failed request: 150 (GLX)
Minor opcode of failed request: 16 (X_GLXVendorPrivate)
Serial number of failed request: 0
Current serial number in output stream: 139
On Xorg:
glxgears able to run, but the result looks really messed up. It's trying to capture other windows which are running under iGPU.
I'm using hybrid configuration via optimus-manager
iGPU: Intel UHD Graphics 620 dGPU: Nvidia GeForce MX150
What's the output when running on X? Is it on the screenshot, I assume.
Also please try OBS_VKCAPTURE_GLVULKAN=1 obs-gamecapture prime-run glxgears on wayland.
And also try to add OBS_VKCAPTURE_GLVULKAN=1 when running on X.
When running on Xorg it looks like a normal glxgears output
Running synchronized to the vertical refresh. The framerate should be
approximately the same as the monitor refresh rate.
[obs-vkcapture] Init GLX 1.4.0
305 frames in 5.0 seconds = 60.915 FPS
[obs-vkcapture] Texture GL_RGBA 958x1048
[obs-vkcapture] ------------------ opengl capture started ------------------
300 frames in 5.0 seconds = 59.989 FPS
[obs-vkcapture] ------------------- opengl capture freed -------------------
Adding OBS_VKCAPTURE_GLVULKAN=1 has the same result on both Wayland and Xorg: glxgears doesn't crash but obs doesn't capture it.
OBS_VKCAPTURE_GLVULKAN=1 obs-gamecapture prime-run glxgears
Running synchronized to the vertical refresh. The framerate should be
approximately the same as the monitor refresh rate.
[obs-vkcapture] Init GLX 1.4.0
131 frames in 5.1 seconds = 25.913 FPS
[obs-vkcapture] Texture GL_RGBA (Vulkan) 632x1026
[obs-vkcapture] ------------------ opengl capture started ------------------
[obs-vkcapture] ------------------- opengl capture freed -------------------
[obs-vkcapture] Texture GL_RGBA (Vulkan) 632x1026
[obs-vkcapture] Vulkan: OpenGL import failed
[obs-vkcapture] shtex init failed
[obs-vkcapture] gl_init failed
209 frames in 5.0 seconds = 41.682 FPS
Does it work correctly when you also run OBS on nvidia gpu?
Yeah, it works fine if OBS runs on nvidia gpu, thank you. But is it actually possible to make them run on the different gpu? It works fine with vulkan and my GPU doesn't support NVENC so I would like to use gstreamer encoder on my iGPU
Oh nvm, looks like OBS uses encoder on iGPU anyways. But I still would like to run them on the different GPUs
What nvidia driver and version are you using?
First of all, dri3 path (dri_buffers_from_pixmap) shouldn't be working with nvidia so that's why the Vulkan fallback was added. But for you the dri3 path works and the Vulkan path doesn't, which is strange.
Can you please post output of glxinfo running on nvidia gpu?
I'm using nvidia-dkms driver 535.54.03
$ prime-run glxinfo
$ prime-run glxinfo name of display: :1
display: :1 screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.4
server glx extensions:
GLX_ARB_context_flush_control, GLX_ARB_create_context,
GLX_ARB_create_context_no_error, GLX_ARB_create_context_profile,
GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float,
GLX_ARB_framebuffer_sRGB, GLX_ARB_multisample,
GLX_EXT_create_context_es2_profile, GLX_EXT_create_context_es_profile,
GLX_EXT_fbconfig_packed_float, GLX_EXT_framebuffer_sRGB,
GLX_EXT_get_drawable_type, GLX_EXT_libglvnd, GLX_EXT_no_config_context,
GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, GLX_EXT_visual_rating,
GLX_MESA_copy_sub_buffer, GLX_OML_swap_method, GLX_SGIS_multisample,
GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group,
GLX_SGI_make_current_read
client glx vendor string: NVIDIA Corporation
client glx version string: 1.4
client glx extensions:
GLX_ARB_context_flush_control, GLX_ARB_create_context,
GLX_ARB_create_context_no_error, GLX_ARB_create_context_profile,
GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float,
GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_buffer_age,
GLX_EXT_create_context_es2_profile, GLX_EXT_create_context_es_profile,
GLX_EXT_fbconfig_packed_float, GLX_EXT_framebuffer_sRGB,
GLX_EXT_import_context, GLX_EXT_stereo_tree, GLX_EXT_swap_control,
GLX_EXT_swap_control_tear, GLX_EXT_texture_from_pixmap,
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_NV_copy_buffer,
GLX_NV_copy_image, GLX_NV_delay_before_swap, GLX_NV_float_buffer,
GLX_NV_multigpu_context, GLX_NV_multisample_coverage,
GLX_NV_robustness_video_memory_purge, GLX_NV_swap_group,
GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGI_swap_control,
GLX_SGI_video_sync
GLX version: 1.4
GLX extensions:
GLX_ARB_context_flush_control, GLX_ARB_create_context,
GLX_ARB_create_context_no_error, GLX_ARB_create_context_profile,
GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float,
GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_buffer_age,
GLX_EXT_create_context_es2_profile, GLX_EXT_create_context_es_profile,
GLX_EXT_fbconfig_packed_float, GLX_EXT_framebuffer_sRGB,
GLX_EXT_swap_control, GLX_EXT_visual_info, GLX_EXT_visual_rating,
GLX_NV_copy_buffer, GLX_NV_copy_image, GLX_SGIX_fbconfig,
GLX_SGIX_pbuffer, GLX_SGI_swap_control
Memory info (GL_NVX_gpu_memory_info):
Dedicated video memory: 2048 MB
Total available memory: 2048 MB
Currently available dedicated video memory: 1993 MB
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: NVIDIA GeForce MX150/PCIe/SSE2
OpenGL core profile version string: 4.6.0 NVIDIA 535.54.03
OpenGL core profile shading language version string: 4.60 NVIDIA
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
GL_AMD_multi_draw_indirect, GL_AMD_seamless_cubemap_per_texture,
GL_AMD_vertex_shader_layer, GL_AMD_vertex_shader_viewport_index,
GL_ARB_ES2_compatibility, GL_ARB_ES3_1_compatibility,
GL_ARB_ES3_2_compatibility, GL_ARB_ES3_compatibility,
GL_ARB_arrays_of_arrays, GL_ARB_base_instance, GL_ARB_bindless_texture,
GL_ARB_blend_func_extended, GL_ARB_buffer_storage,
GL_ARB_clear_buffer_object, GL_ARB_clear_texture, GL_ARB_clip_control,
GL_ARB_color_buffer_float, GL_ARB_compressed_texture_pixel_storage,
GL_ARB_compute_shader, GL_ARB_compute_variable_group_size,
GL_ARB_conditional_render_inverted, GL_ARB_conservative_depth,
GL_ARB_copy_buffer, GL_ARB_copy_image, GL_ARB_cull_distance,
GL_ARB_debug_output, GL_ARB_depth_buffer_float, GL_ARB_depth_clamp,
GL_ARB_depth_texture, GL_ARB_derivative_control,
GL_ARB_direct_state_access, GL_ARB_draw_buffers,
GL_ARB_draw_buffers_blend, GL_ARB_draw_elements_base_vertex,
GL_ARB_draw_indirect, GL_ARB_draw_instanced, GL_ARB_enhanced_layouts,
GL_ARB_explicit_attrib_location, GL_ARB_explicit_uniform_location,
GL_ARB_fragment_coord_conventions, GL_ARB_fragment_layer_viewport,
GL_ARB_fragment_program, GL_ARB_fragment_program_shadow,
GL_ARB_fragment_shader, GL_ARB_fragment_shader_interlock,
GL_ARB_framebuffer_no_attachments, GL_ARB_framebuffer_object,
GL_ARB_framebuffer_sRGB, GL_ARB_geometry_shader4,
GL_ARB_get_program_binary, GL_ARB_get_texture_sub_image, GL_ARB_gl_spirv,
GL_ARB_gpu_shader5, GL_ARB_gpu_shader_fp64, GL_ARB_gpu_shader_int64,
GL_ARB_half_float_pixel, GL_ARB_half_float_vertex, GL_ARB_imaging,
GL_ARB_indirect_parameters, GL_ARB_instanced_arrays,
GL_ARB_internalformat_query, GL_ARB_internalformat_query2,
GL_ARB_invalidate_subdata, GL_ARB_map_buffer_alignment,
GL_ARB_map_buffer_range, GL_ARB_multi_bind, GL_ARB_multi_draw_indirect,
GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_occlusion_query,
GL_ARB_occlusion_query2, GL_ARB_parallel_shader_compile,
GL_ARB_pipeline_statistics_query, GL_ARB_pixel_buffer_object,
GL_ARB_point_parameters, GL_ARB_point_sprite, GL_ARB_polygon_offset_clamp,
GL_ARB_post_depth_coverage, GL_ARB_program_interface_query,
GL_ARB_provoking_vertex, GL_ARB_query_buffer_object,
GL_ARB_robust_buffer_access_behavior, GL_ARB_robustness,
GL_ARB_sample_locations, GL_ARB_sample_shading, GL_ARB_sampler_objects,
GL_ARB_seamless_cube_map, GL_ARB_seamless_cubemap_per_texture,
GL_ARB_separate_shader_objects, GL_ARB_shader_atomic_counter_ops,
GL_ARB_shader_atomic_counters, GL_ARB_shader_ballot,
GL_ARB_shader_bit_encoding, GL_ARB_shader_clock,
GL_ARB_shader_draw_parameters, GL_ARB_shader_group_vote,
GL_ARB_shader_image_load_store, GL_ARB_shader_image_size,
GL_ARB_shader_objects, GL_ARB_shader_precision,
GL_ARB_shader_storage_buffer_object, GL_ARB_shader_subroutine,
GL_ARB_shader_texture_image_samples, GL_ARB_shader_texture_lod,
GL_ARB_shader_viewport_layer_array, GL_ARB_shading_language_100,
GL_ARB_shading_language_420pack, GL_ARB_shading_language_include,
GL_ARB_shading_language_packing, GL_ARB_shadow, GL_ARB_sparse_buffer,
GL_ARB_sparse_texture, GL_ARB_sparse_texture2,
GL_ARB_sparse_texture_clamp, GL_ARB_spirv_extensions,
GL_ARB_stencil_texturing, GL_ARB_sync, GL_ARB_tessellation_shader,
GL_ARB_texture_barrier, GL_ARB_texture_border_clamp,
GL_ARB_texture_buffer_object, GL_ARB_texture_buffer_object_rgb32,
GL_ARB_texture_buffer_range, GL_ARB_texture_compression,
GL_ARB_texture_compression_bptc, GL_ARB_texture_compression_rgtc,
GL_ARB_texture_cube_map, GL_ARB_texture_cube_map_array,
GL_ARB_texture_env_add, GL_ARB_texture_env_combine,
GL_ARB_texture_env_crossbar, GL_ARB_texture_env_dot3,
GL_ARB_texture_filter_anisotropic, GL_ARB_texture_filter_minmax,
GL_ARB_texture_float, GL_ARB_texture_gather,
GL_ARB_texture_mirror_clamp_to_edge, GL_ARB_texture_mirrored_repeat,
GL_ARB_texture_multisample, GL_ARB_texture_non_power_of_two,
GL_ARB_texture_query_levels, GL_ARB_texture_query_lod,
GL_ARB_texture_rectangle, GL_ARB_texture_rg, GL_ARB_texture_rgb10_a2ui,
GL_ARB_texture_stencil8, GL_ARB_texture_storage,
GL_ARB_texture_storage_multisample, GL_ARB_texture_swizzle,
GL_ARB_texture_view, GL_ARB_timer_query, GL_ARB_transform_feedback2,
GL_ARB_transform_feedback3, GL_ARB_transform_feedback_instanced,
GL_ARB_transform_feedback_overflow_query, GL_ARB_transpose_matrix,
GL_ARB_uniform_buffer_object, GL_ARB_vertex_array_bgra,
GL_ARB_vertex_array_object, GL_ARB_vertex_attrib_64bit,
GL_ARB_vertex_attrib_binding, GL_ARB_vertex_buffer_object,
GL_ARB_vertex_program, GL_ARB_vertex_shader,
GL_ARB_vertex_type_10f_11f_11f_rev, GL_ARB_vertex_type_2_10_10_10_rev,
GL_ARB_viewport_array, GL_ARB_window_pos, GL_ATI_draw_buffers,
GL_ATI_texture_float, GL_ATI_texture_mirror_once,
GL_EXTX_framebuffer_mixed_formats, GL_EXT_Cg_shader, 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_compiled_vertex_array,
GL_EXT_depth_bounds_test, GL_EXT_direct_state_access,
GL_EXT_draw_buffers2, GL_EXT_draw_instanced, 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_import_sync_object, GL_EXT_memory_object, GL_EXT_memory_object_fd,
GL_EXT_multi_draw_arrays, GL_EXT_multiview_texture_multisample,
GL_EXT_multiview_timer_query, GL_EXT_packed_depth_stencil,
GL_EXT_packed_float, GL_EXT_packed_pixels, GL_EXT_pixel_buffer_object,
GL_EXT_point_parameters, GL_EXT_polygon_offset_clamp,
GL_EXT_post_depth_coverage, GL_EXT_provoking_vertex,
GL_EXT_raster_multisample, GL_EXT_rescale_normal, GL_EXT_secondary_color,
GL_EXT_semaphore, GL_EXT_semaphore_fd, GL_EXT_separate_shader_objects,
GL_EXT_separate_specular_color, GL_EXT_shader_image_load_formatted,
GL_EXT_shader_image_load_store, GL_EXT_shader_integer_mix,
GL_EXT_shadow_funcs, GL_EXT_sparse_texture2, GL_EXT_stencil_two_side,
GL_EXT_stencil_wrap, GL_EXT_texture3D, GL_EXT_texture_array,
GL_EXT_texture_buffer_object, GL_EXT_texture_compression_dxt1,
GL_EXT_texture_compression_latc, GL_EXT_texture_compression_rgtc,
GL_EXT_texture_compression_s3tc, GL_EXT_texture_cube_map,
GL_EXT_texture_edge_clamp, GL_EXT_texture_env_add,
GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3,
GL_EXT_texture_filter_anisotropic, GL_EXT_texture_filter_minmax,
GL_EXT_texture_integer, GL_EXT_texture_lod, GL_EXT_texture_lod_bias,
GL_EXT_texture_mirror_clamp, GL_EXT_texture_object, GL_EXT_texture_sRGB,
GL_EXT_texture_sRGB_R8, GL_EXT_texture_sRGB_decode,
GL_EXT_texture_shadow_lod, GL_EXT_texture_shared_exponent,
GL_EXT_texture_storage, GL_EXT_texture_swizzle, GL_EXT_timer_query,
GL_EXT_transform_feedback2, GL_EXT_vertex_array, GL_EXT_vertex_array_bgra,
GL_EXT_vertex_attrib_64bit, GL_EXT_window_rectangles,
GL_EXT_x11_sync_object, GL_IBM_rasterpos_clip,
GL_IBM_texture_mirrored_repeat, GL_KHR_blend_equation_advanced,
GL_KHR_blend_equation_advanced_coherent, GL_KHR_context_flush_control,
GL_KHR_debug, GL_KHR_no_error, GL_KHR_parallel_shader_compile,
GL_KHR_robust_buffer_access_behavior, GL_KHR_robustness,
GL_KHR_shader_subgroup, GL_KTX_buffer_region,
GL_NVX_blend_equation_advanced_multi_draw_buffers,
GL_NVX_conditional_render, GL_NVX_gpu_memory_info, GL_NVX_nvenc_interop,
GL_NVX_progress_fence, GL_NV_ES1_1_compatibility,
GL_NV_ES3_1_compatibility, GL_NV_alpha_to_coverage_dither_control,
GL_NV_bindless_multi_draw_indirect,
GL_NV_bindless_multi_draw_indirect_count, GL_NV_bindless_texture,
GL_NV_blend_equation_advanced, GL_NV_blend_equation_advanced_coherent,
GL_NV_blend_minmax_factor, GL_NV_blend_square, GL_NV_clip_space_w_scaling,
GL_NV_command_list, GL_NV_compute_program5, GL_NV_conditional_render,
GL_NV_conservative_raster, GL_NV_conservative_raster_dilate,
GL_NV_conservative_raster_pre_snap_triangles, GL_NV_copy_depth_to_color,
GL_NV_copy_image, GL_NV_depth_buffer_float, GL_NV_depth_clamp,
GL_NV_draw_texture, GL_NV_draw_vulkan_image, GL_NV_explicit_multisample,
GL_NV_feature_query, GL_NV_fence, GL_NV_fill_rectangle,
GL_NV_float_buffer, GL_NV_fog_distance, GL_NV_fragment_coverage_to_color,
GL_NV_fragment_program, GL_NV_fragment_program2,
GL_NV_fragment_program_option, GL_NV_fragment_shader_interlock,
GL_NV_framebuffer_mixed_samples, GL_NV_framebuffer_multisample_coverage,
GL_NV_geometry_shader4, GL_NV_geometry_shader_passthrough,
GL_NV_gpu_multicast, GL_NV_gpu_program4, GL_NV_gpu_program4_1,
GL_NV_gpu_program5, GL_NV_gpu_program5_mem_extended,
GL_NV_gpu_program_fp64, GL_NV_gpu_shader5, GL_NV_half_float,
GL_NV_internalformat_sample_query, GL_NV_light_max_exponent,
GL_NV_memory_attachment, GL_NV_memory_object_sparse,
GL_NV_multisample_coverage, GL_NV_multisample_filter_hint,
GL_NV_occlusion_query, GL_NV_packed_depth_stencil,
GL_NV_parameter_buffer_object, GL_NV_parameter_buffer_object2,
GL_NV_path_rendering, GL_NV_path_rendering_shared_edge,
GL_NV_pixel_data_range, GL_NV_point_sprite, GL_NV_primitive_restart,
GL_NV_query_resource, GL_NV_query_resource_tag, GL_NV_register_combiners,
GL_NV_register_combiners2, GL_NV_robustness_video_memory_purge,
GL_NV_sample_locations, GL_NV_sample_mask_override_coverage,
GL_NV_shader_atomic_counters, GL_NV_shader_atomic_float,
GL_NV_shader_atomic_float64, GL_NV_shader_atomic_fp16_vector,
GL_NV_shader_atomic_int64, GL_NV_shader_buffer_load,
GL_NV_shader_storage_buffer_object, GL_NV_shader_subgroup_partitioned,
GL_NV_shader_thread_group, GL_NV_shader_thread_shuffle,
GL_NV_stereo_view_rendering, GL_NV_texgen_reflection,
GL_NV_texture_barrier, GL_NV_texture_compression_vtc,
GL_NV_texture_env_combine4, GL_NV_texture_multisample,
GL_NV_texture_rectangle, GL_NV_texture_rectangle_compressed,
GL_NV_texture_shader, GL_NV_texture_shader2, GL_NV_texture_shader3,
GL_NV_timeline_semaphore, GL_NV_transform_feedback,
GL_NV_transform_feedback2, GL_NV_uniform_buffer_std430_layout,
GL_NV_uniform_buffer_unified_memory, GL_NV_vdpau_interop,
GL_NV_vdpau_interop2, GL_NV_vertex_array_range, GL_NV_vertex_array_range2,
GL_NV_vertex_attrib_integer_64bit, GL_NV_vertex_buffer_unified_memory,
GL_NV_vertex_program, GL_NV_vertex_program1_1, GL_NV_vertex_program2,
GL_NV_vertex_program2_option, GL_NV_vertex_program3,
GL_NV_viewport_array2, GL_NV_viewport_swizzle, GL_OVR_multiview,
GL_OVR_multiview2, GL_S3_s3tc, GL_SGIS_generate_mipmap,
GL_SGIS_texture_lod, GL_SGIX_depth_texture, GL_SGIX_shadow,
GL_SUN_slice_accum
OpenGL version string: 4.6.0 NVIDIA 535.54.03
OpenGL shading language version string: 4.60 NVIDIA
OpenGL context flags: (none)
OpenGL profile mask: (none)
OpenGL extensions:
GL_AMD_multi_draw_indirect, GL_AMD_seamless_cubemap_per_texture,
GL_AMD_vertex_shader_layer, GL_AMD_vertex_shader_viewport_index,
GL_ARB_ES2_compatibility, GL_ARB_ES3_1_compatibility,
GL_ARB_ES3_2_compatibility, GL_ARB_ES3_compatibility,
GL_ARB_arrays_of_arrays, GL_ARB_base_instance, GL_ARB_bindless_texture,
GL_ARB_blend_func_extended, GL_ARB_buffer_storage,
GL_ARB_clear_buffer_object, GL_ARB_clear_texture, GL_ARB_clip_control,
GL_ARB_color_buffer_float, GL_ARB_compatibility,
GL_ARB_compressed_texture_pixel_storage, GL_ARB_compute_shader,
GL_ARB_compute_variable_group_size, GL_ARB_conditional_render_inverted,
GL_ARB_conservative_depth, GL_ARB_copy_buffer, GL_ARB_copy_image,
GL_ARB_cull_distance, GL_ARB_debug_output, GL_ARB_depth_buffer_float,
GL_ARB_depth_clamp, GL_ARB_depth_texture, GL_ARB_derivative_control,
GL_ARB_direct_state_access, GL_ARB_draw_buffers,
GL_ARB_draw_buffers_blend, GL_ARB_draw_elements_base_vertex,
GL_ARB_draw_indirect, GL_ARB_draw_instanced, GL_ARB_enhanced_layouts,
GL_ARB_explicit_attrib_location, GL_ARB_explicit_uniform_location,
GL_ARB_fragment_coord_conventions, GL_ARB_fragment_layer_viewport,
GL_ARB_fragment_program, GL_ARB_fragment_program_shadow,
GL_ARB_fragment_shader, GL_ARB_fragment_shader_interlock,
GL_ARB_framebuffer_no_attachments, GL_ARB_framebuffer_object,
GL_ARB_framebuffer_sRGB, GL_ARB_geometry_shader4,
GL_ARB_get_program_binary, GL_ARB_get_texture_sub_image, GL_ARB_gl_spirv,
GL_ARB_gpu_shader5, GL_ARB_gpu_shader_fp64, GL_ARB_gpu_shader_int64,
GL_ARB_half_float_pixel, GL_ARB_half_float_vertex, GL_ARB_imaging,
GL_ARB_indirect_parameters, GL_ARB_instanced_arrays,
GL_ARB_internalformat_query, GL_ARB_internalformat_query2,
GL_ARB_invalidate_subdata, GL_ARB_map_buffer_alignment,
GL_ARB_map_buffer_range, GL_ARB_multi_bind, GL_ARB_multi_draw_indirect,
GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_occlusion_query,
GL_ARB_occlusion_query2, GL_ARB_parallel_shader_compile,
GL_ARB_pipeline_statistics_query, GL_ARB_pixel_buffer_object,
GL_ARB_point_parameters, GL_ARB_point_sprite, GL_ARB_polygon_offset_clamp,
GL_ARB_post_depth_coverage, GL_ARB_program_interface_query,
GL_ARB_provoking_vertex, GL_ARB_query_buffer_object,
GL_ARB_robust_buffer_access_behavior, GL_ARB_robustness,
GL_ARB_sample_locations, GL_ARB_sample_shading, GL_ARB_sampler_objects,
GL_ARB_seamless_cube_map, GL_ARB_seamless_cubemap_per_texture,
GL_ARB_separate_shader_objects, GL_ARB_shader_atomic_counter_ops,
GL_ARB_shader_atomic_counters, GL_ARB_shader_ballot,
GL_ARB_shader_bit_encoding, GL_ARB_shader_clock,
GL_ARB_shader_draw_parameters, GL_ARB_shader_group_vote,
GL_ARB_shader_image_load_store, GL_ARB_shader_image_size,
GL_ARB_shader_objects, GL_ARB_shader_precision,
GL_ARB_shader_storage_buffer_object, GL_ARB_shader_subroutine,
GL_ARB_shader_texture_image_samples, GL_ARB_shader_texture_lod,
GL_ARB_shader_viewport_layer_array, GL_ARB_shading_language_100,
GL_ARB_shading_language_420pack, GL_ARB_shading_language_include,
GL_ARB_shading_language_packing, GL_ARB_shadow, GL_ARB_sparse_buffer,
GL_ARB_sparse_texture, GL_ARB_sparse_texture2,
GL_ARB_sparse_texture_clamp, GL_ARB_spirv_extensions,
GL_ARB_stencil_texturing, GL_ARB_sync, GL_ARB_tessellation_shader,
GL_ARB_texture_barrier, GL_ARB_texture_border_clamp,
GL_ARB_texture_buffer_object, GL_ARB_texture_buffer_object_rgb32,
GL_ARB_texture_buffer_range, GL_ARB_texture_compression,
GL_ARB_texture_compression_bptc, GL_ARB_texture_compression_rgtc,
GL_ARB_texture_cube_map, GL_ARB_texture_cube_map_array,
GL_ARB_texture_env_add, GL_ARB_texture_env_combine,
GL_ARB_texture_env_crossbar, GL_ARB_texture_env_dot3,
GL_ARB_texture_filter_anisotropic, GL_ARB_texture_filter_minmax,
GL_ARB_texture_float, GL_ARB_texture_gather,
GL_ARB_texture_mirror_clamp_to_edge, GL_ARB_texture_mirrored_repeat,
GL_ARB_texture_multisample, GL_ARB_texture_non_power_of_two,
GL_ARB_texture_query_levels, GL_ARB_texture_query_lod,
GL_ARB_texture_rectangle, GL_ARB_texture_rg, GL_ARB_texture_rgb10_a2ui,
GL_ARB_texture_stencil8, GL_ARB_texture_storage,
GL_ARB_texture_storage_multisample, GL_ARB_texture_swizzle,
GL_ARB_texture_view, GL_ARB_timer_query, GL_ARB_transform_feedback2,
GL_ARB_transform_feedback3, GL_ARB_transform_feedback_instanced,
GL_ARB_transform_feedback_overflow_query, GL_ARB_transpose_matrix,
GL_ARB_uniform_buffer_object, GL_ARB_vertex_array_bgra,
GL_ARB_vertex_array_object, GL_ARB_vertex_attrib_64bit,
GL_ARB_vertex_attrib_binding, GL_ARB_vertex_buffer_object,
GL_ARB_vertex_program, GL_ARB_vertex_shader,
GL_ARB_vertex_type_10f_11f_11f_rev, GL_ARB_vertex_type_2_10_10_10_rev,
GL_ARB_viewport_array, GL_ARB_window_pos, GL_ATI_draw_buffers,
GL_ATI_texture_float, GL_ATI_texture_mirror_once,
GL_EXTX_framebuffer_mixed_formats, GL_EXT_Cg_shader, 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_compiled_vertex_array,
GL_EXT_depth_bounds_test, GL_EXT_direct_state_access,
GL_EXT_draw_buffers2, GL_EXT_draw_instanced, 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_import_sync_object, GL_EXT_memory_object, GL_EXT_memory_object_fd,
GL_EXT_multi_draw_arrays, GL_EXT_multiview_texture_multisample,
GL_EXT_multiview_timer_query, GL_EXT_packed_depth_stencil,
GL_EXT_packed_float, GL_EXT_packed_pixels, GL_EXT_pixel_buffer_object,
GL_EXT_point_parameters, GL_EXT_polygon_offset_clamp,
GL_EXT_post_depth_coverage, GL_EXT_provoking_vertex,
GL_EXT_raster_multisample, GL_EXT_rescale_normal, GL_EXT_secondary_color,
GL_EXT_semaphore, GL_EXT_semaphore_fd, GL_EXT_separate_shader_objects,
GL_EXT_separate_specular_color, GL_EXT_shader_image_load_formatted,
GL_EXT_shader_image_load_store, GL_EXT_shader_integer_mix,
GL_EXT_shadow_funcs, GL_EXT_sparse_texture2, GL_EXT_stencil_two_side,
GL_EXT_stencil_wrap, GL_EXT_texture3D, GL_EXT_texture_array,
GL_EXT_texture_buffer_object, GL_EXT_texture_compression_dxt1,
GL_EXT_texture_compression_latc, GL_EXT_texture_compression_rgtc,
GL_EXT_texture_compression_s3tc, GL_EXT_texture_cube_map,
GL_EXT_texture_edge_clamp, GL_EXT_texture_env_add,
GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3,
GL_EXT_texture_filter_anisotropic, GL_EXT_texture_filter_minmax,
GL_EXT_texture_integer, GL_EXT_texture_lod, GL_EXT_texture_lod_bias,
GL_EXT_texture_mirror_clamp, GL_EXT_texture_object, GL_EXT_texture_sRGB,
GL_EXT_texture_sRGB_R8, GL_EXT_texture_sRGB_decode,
GL_EXT_texture_shadow_lod, GL_EXT_texture_shared_exponent,
GL_EXT_texture_storage, GL_EXT_texture_swizzle, GL_EXT_timer_query,
GL_EXT_transform_feedback2, GL_EXT_vertex_array, GL_EXT_vertex_array_bgra,
GL_EXT_vertex_attrib_64bit, GL_EXT_window_rectangles,
GL_EXT_x11_sync_object, GL_IBM_rasterpos_clip,
GL_IBM_texture_mirrored_repeat, GL_KHR_blend_equation_advanced,
GL_KHR_blend_equation_advanced_coherent, GL_KHR_context_flush_control,
GL_KHR_debug, GL_KHR_no_error, GL_KHR_parallel_shader_compile,
GL_KHR_robust_buffer_access_behavior, GL_KHR_robustness,
GL_KHR_shader_subgroup, GL_KTX_buffer_region,
GL_NVX_blend_equation_advanced_multi_draw_buffers,
GL_NVX_conditional_render, GL_NVX_gpu_memory_info, GL_NVX_nvenc_interop,
GL_NVX_progress_fence, GL_NV_ES1_1_compatibility,
GL_NV_ES3_1_compatibility, GL_NV_alpha_to_coverage_dither_control,
GL_NV_bindless_multi_draw_indirect,
GL_NV_bindless_multi_draw_indirect_count, GL_NV_bindless_texture,
GL_NV_blend_equation_advanced, GL_NV_blend_equation_advanced_coherent,
GL_NV_blend_minmax_factor, GL_NV_blend_square, GL_NV_clip_space_w_scaling,
GL_NV_command_list, GL_NV_compute_program5, GL_NV_conditional_render,
GL_NV_conservative_raster, GL_NV_conservative_raster_dilate,
GL_NV_conservative_raster_pre_snap_triangles, GL_NV_copy_depth_to_color,
GL_NV_copy_image, GL_NV_depth_buffer_float, GL_NV_depth_clamp,
GL_NV_draw_texture, GL_NV_draw_vulkan_image, GL_NV_explicit_multisample,
GL_NV_feature_query, GL_NV_fence, GL_NV_fill_rectangle,
GL_NV_float_buffer, GL_NV_fog_distance, GL_NV_fragment_coverage_to_color,
GL_NV_fragment_program, GL_NV_fragment_program2,
GL_NV_fragment_program_option, GL_NV_fragment_shader_interlock,
GL_NV_framebuffer_mixed_samples, GL_NV_framebuffer_multisample_coverage,
GL_NV_geometry_shader4, GL_NV_geometry_shader_passthrough,
GL_NV_gpu_multicast, GL_NV_gpu_program4, GL_NV_gpu_program4_1,
GL_NV_gpu_program5, GL_NV_gpu_program5_mem_extended,
GL_NV_gpu_program_fp64, GL_NV_gpu_shader5, GL_NV_half_float,
GL_NV_internalformat_sample_query, GL_NV_light_max_exponent,
GL_NV_memory_attachment, GL_NV_memory_object_sparse,
GL_NV_multisample_coverage, GL_NV_multisample_filter_hint,
GL_NV_occlusion_query, GL_NV_packed_depth_stencil,
GL_NV_parameter_buffer_object, GL_NV_parameter_buffer_object2,
GL_NV_path_rendering, GL_NV_path_rendering_shared_edge,
GL_NV_pixel_data_range, GL_NV_point_sprite, GL_NV_primitive_restart,
GL_NV_query_resource, GL_NV_query_resource_tag, GL_NV_register_combiners,
GL_NV_register_combiners2, GL_NV_robustness_video_memory_purge,
GL_NV_sample_locations, GL_NV_sample_mask_override_coverage,
GL_NV_shader_atomic_counters, GL_NV_shader_atomic_float,
GL_NV_shader_atomic_float64, GL_NV_shader_atomic_fp16_vector,
GL_NV_shader_atomic_int64, GL_NV_shader_buffer_load,
GL_NV_shader_storage_buffer_object, GL_NV_shader_subgroup_partitioned,
GL_NV_shader_thread_group, GL_NV_shader_thread_shuffle,
GL_NV_stereo_view_rendering, GL_NV_texgen_reflection,
GL_NV_texture_barrier, GL_NV_texture_compression_vtc,
GL_NV_texture_env_combine4, GL_NV_texture_multisample,
GL_NV_texture_rectangle, GL_NV_texture_rectangle_compressed,
GL_NV_texture_shader, GL_NV_texture_shader2, GL_NV_texture_shader3,
GL_NV_timeline_semaphore, GL_NV_transform_feedback,
GL_NV_transform_feedback2, GL_NV_uniform_buffer_std430_layout,
GL_NV_uniform_buffer_unified_memory, GL_NV_vdpau_interop,
GL_NV_vdpau_interop2, GL_NV_vertex_array_range, GL_NV_vertex_array_range2,
GL_NV_vertex_attrib_integer_64bit, GL_NV_vertex_buffer_unified_memory,
GL_NV_vertex_program, GL_NV_vertex_program1_1, GL_NV_vertex_program2,
GL_NV_vertex_program2_option, GL_NV_vertex_program3,
GL_NV_viewport_array2, GL_NV_viewport_swizzle, GL_OVR_multiview,
GL_OVR_multiview2, GL_S3_s3tc, GL_SGIS_generate_mipmap,
GL_SGIS_texture_lod, GL_SGIX_depth_texture, GL_SGIX_shadow,
GL_SUN_slice_accum
OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 535.54.03
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
OpenGL ES profile extensions:
GL_ANDROID_extension_pack_es31a, GL_EXT_EGL_image_external_wrap_modes,
GL_EXT_base_instance, GL_EXT_blend_func_extended, GL_EXT_blend_minmax,
GL_EXT_buffer_storage, GL_EXT_clear_texture, GL_EXT_clip_control,
GL_EXT_clip_cull_distance, GL_EXT_color_buffer_float,
GL_EXT_color_buffer_half_float, GL_EXT_compressed_ETC1_RGB8_sub_texture,
GL_EXT_conservative_depth, GL_EXT_copy_image, GL_EXT_debug_label,
GL_EXT_depth_clamp, GL_EXT_discard_framebuffer,
GL_EXT_disjoint_timer_query, GL_EXT_draw_buffers_indexed,
GL_EXT_draw_elements_base_vertex, GL_EXT_draw_transform_feedback,
GL_EXT_float_blend, GL_EXT_frag_depth, GL_EXT_geometry_point_size,
GL_EXT_geometry_shader, GL_EXT_gpu_shader5, GL_EXT_map_buffer_range,
GL_EXT_memory_object, GL_EXT_memory_object_fd, GL_EXT_multi_draw_indirect,
GL_EXT_multisample_compatibility, GL_EXT_multisampled_render_to_texture,
GL_EXT_multisampled_render_to_texture2,
GL_EXT_multiview_texture_multisample, GL_EXT_multiview_timer_query,
GL_EXT_occlusion_query_boolean, GL_EXT_polygon_offset_clamp,
GL_EXT_post_depth_coverage, GL_EXT_primitive_bounding_box,
GL_EXT_raster_multisample, GL_EXT_read_format_bgra, GL_EXT_render_snorm,
GL_EXT_robustness, GL_EXT_sRGB, GL_EXT_sRGB_write_control,
GL_EXT_semaphore, GL_EXT_semaphore_fd, GL_EXT_separate_shader_objects,
GL_EXT_shader_group_vote, GL_EXT_shader_implicit_conversions,
GL_EXT_shader_integer_mix, GL_EXT_shader_io_blocks,
GL_EXT_shader_non_constant_global_initializers, GL_EXT_shader_texture_lod,
GL_EXT_shadow_samplers, GL_EXT_sparse_texture, GL_EXT_sparse_texture2,
GL_EXT_tessellation_point_size, GL_EXT_tessellation_shader,
GL_EXT_texture_border_clamp, GL_EXT_texture_buffer,
GL_EXT_texture_compression_bptc, GL_EXT_texture_compression_dxt1,
GL_EXT_texture_compression_rgtc, GL_EXT_texture_compression_s3tc,
GL_EXT_texture_cube_map_array, GL_EXT_texture_filter_anisotropic,
GL_EXT_texture_filter_minmax, GL_EXT_texture_format_BGRA8888,
GL_EXT_texture_mirror_clamp_to_edge, GL_EXT_texture_norm16,
GL_EXT_texture_query_lod, GL_EXT_texture_rg, GL_EXT_texture_sRGB_R8,
GL_EXT_texture_sRGB_decode, GL_EXT_texture_shadow_lod,
GL_EXT_texture_storage, GL_EXT_texture_view, GL_EXT_unpack_subimage,
GL_EXT_window_rectangles, GL_KHR_blend_equation_advanced,
GL_KHR_blend_equation_advanced_coherent, GL_KHR_context_flush_control,
GL_KHR_debug, GL_KHR_no_error, GL_KHR_parallel_shader_compile,
GL_KHR_robust_buffer_access_behavior, GL_KHR_robustness,
GL_KHR_shader_subgroup, GL_KHR_texture_compression_astc_hdr,
GL_KHR_texture_compression_astc_ldr,
GL_KHR_texture_compression_astc_sliced_3d,
GL_NVX_blend_equation_advanced_multi_draw_buffers, GL_NV_bgr,
GL_NV_bindless_texture, GL_NV_blend_equation_advanced,
GL_NV_blend_equation_advanced_coherent, GL_NV_blend_minmax_factor,
GL_NV_clip_space_w_scaling, GL_NV_conditional_render,
GL_NV_conservative_raster, GL_NV_conservative_raster_pre_snap_triangles,
GL_NV_copy_buffer, GL_NV_copy_image, GL_NV_draw_buffers,
GL_NV_draw_instanced, GL_NV_draw_texture, GL_NV_draw_vulkan_image,
GL_NV_explicit_attrib_location, GL_NV_fbo_color_attachments,
GL_NV_fill_rectangle, GL_NV_fragment_coverage_to_color,
GL_NV_fragment_shader_interlock, GL_NV_framebuffer_blit,
GL_NV_framebuffer_mixed_samples, GL_NV_framebuffer_multisample,
GL_NV_generate_mipmap_sRGB, GL_NV_geometry_shader_passthrough,
GL_NV_gpu_shader5, GL_NV_image_formats, GL_NV_instanced_arrays,
GL_NV_internalformat_sample_query, GL_NV_memory_attachment,
GL_NV_memory_object_sparse, GL_NV_non_square_matrices,
GL_NV_occlusion_query_samples, GL_NV_pack_subimage, GL_NV_packed_float,
GL_NV_packed_float_linear, GL_NV_path_rendering,
GL_NV_path_rendering_shared_edge, GL_NV_pixel_buffer_object,
GL_NV_polygon_mode, GL_NV_read_buffer, GL_NV_read_depth,
GL_NV_read_depth_stencil, GL_NV_read_stencil, GL_NV_sRGB_formats,
GL_NV_sample_locations, GL_NV_sample_mask_override_coverage,
GL_NV_shader_atomic_fp16_vector, GL_NV_shader_noperspective_interpolation,
GL_NV_shader_subgroup_partitioned, GL_NV_shadow_samplers_array,
GL_NV_shadow_samplers_cube, GL_NV_stereo_view_rendering,
GL_NV_texture_array, GL_NV_texture_barrier, GL_NV_texture_border_clamp,
GL_NV_texture_compression_latc, GL_NV_texture_compression_s3tc,
GL_NV_texture_compression_s3tc_update, GL_NV_timeline_semaphore,
GL_NV_timer_query, GL_NV_viewport_array, GL_NV_viewport_array2,
GL_NV_viewport_swizzle, GL_OES_compressed_ETC1_RGB8_texture,
GL_OES_copy_image, GL_OES_depth24, GL_OES_depth32, GL_OES_depth_texture,
GL_OES_depth_texture_cube_map, GL_OES_draw_buffers_indexed,
GL_OES_draw_elements_base_vertex, GL_OES_element_index_uint,
GL_OES_fbo_render_mipmap, GL_OES_geometry_point_size,
GL_OES_geometry_shader, GL_OES_get_program_binary, GL_OES_gpu_shader5,
GL_OES_mapbuffer, GL_OES_packed_depth_stencil,
GL_OES_primitive_bounding_box, GL_OES_rgb8_rgba8, GL_OES_sample_shading,
GL_OES_sample_variables, GL_OES_shader_image_atomic,
GL_OES_shader_io_blocks, GL_OES_shader_multisample_interpolation,
GL_OES_standard_derivatives, GL_OES_tessellation_point_size,
GL_OES_tessellation_shader, GL_OES_texture_border_clamp,
GL_OES_texture_buffer, GL_OES_texture_cube_map_array,
GL_OES_texture_float, GL_OES_texture_float_linear,
GL_OES_texture_half_float, GL_OES_texture_half_float_linear,
GL_OES_texture_npot, GL_OES_texture_stencil8,
GL_OES_texture_storage_multisample_2d_array, GL_OES_texture_view,
GL_OES_vertex_array_object, GL_OES_vertex_half_float,
GL_OES_viewport_array, GL_OVR_multiview, GL_OVR_multiview2,
GL_OVR_multiview_multisampled_render_to_texture