X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=docs%2Ffeatures.txt;h=5eae34bf0dfaf9f16751a628effc70375912163f;hb=5924379a587aa654a0a8bfd68a815b5bc906c1e9;hp=01cd133ef014ec566736a106a91901141b2fbd55;hpb=f39a91c1527ce11871ceacb2ac74a911f4cd6698;p=mesa.git diff --git a/docs/features.txt b/docs/features.txt index 01cd133ef01..5eae34bf0df 100644 --- a/docs/features.txt +++ b/docs/features.txt @@ -24,10 +24,10 @@ not started # OpenGL Core and Compatibility context support -OpenGL 3.1 and later versions are only supported with the Core profile. -There are no plans to support GL_ARB_compatibility. The last supported OpenGL -version with all deprecated features is 3.0. Some of the later GL features -are exposed in the 3.0 context as extensions. +Some drivers do not support the Compatibility profile or ARB_compatibility. +Such drivers are limited to OpenGL 3.0 if the Core profile is not requested +by applications. Some of the later GL features are exposed in the 3.0 context +as extensions. Feature Status @@ -139,7 +139,7 @@ GL 4.0, GLSL 4.00 --- all DONE: i965/gen7+, nvc0, r600, radeonsi GL 4.1, GLSL 4.10 --- all DONE: i965/gen7+, nvc0, r600, radeonsi GL_ARB_ES2_compatibility DONE (freedreno, i965, nv50, llvmpipe, softpipe, swr) - GL_ARB_get_program_binary DONE (0 binary formats) + GL_ARB_get_program_binary DONE (0 or 1 binary formats) GL_ARB_separate_shader_objects DONE (all drivers) GL_ARB_shader_precision DONE (i965/gen7+, all drivers that support GLSL 4.10) GL_ARB_vertex_attrib_64bit DONE (i965/gen7+, llvmpipe, softpipe) @@ -162,53 +162,53 @@ GL 4.2, GLSL 4.20 -- all DONE: i965/gen7+, nvc0, r600, radeonsi GL_ARB_map_buffer_alignment DONE (all drivers) -GL 4.3, GLSL 4.30 -- all DONE: i965/gen8+, nvc0, radeonsi +GL 4.3, GLSL 4.30 -- all DONE: i965/gen8+, nvc0, r600, radeonsi GL_ARB_arrays_of_arrays DONE (all drivers that support GLSL 1.30) GL_ARB_ES3_compatibility DONE (all drivers that support GLSL 3.30) GL_ARB_clear_buffer_object DONE (all drivers) GL_ARB_compute_shader DONE (freedreno/a5xx, i965, softpipe) - GL_ARB_copy_image DONE (i965, nv50, r600, softpipe, llvmpipe) + GL_ARB_copy_image DONE (i965, nv50, softpipe, llvmpipe) GL_KHR_debug DONE (all drivers) GL_ARB_explicit_uniform_location DONE (all drivers that support GLSL) - GL_ARB_fragment_layer_viewport DONE (i965, nv50, r600, llvmpipe, softpipe) - GL_ARB_framebuffer_no_attachments DONE (freedreno, i965, r600, softpipe) + GL_ARB_fragment_layer_viewport DONE (i965, nv50, llvmpipe, softpipe) + GL_ARB_framebuffer_no_attachments DONE (freedreno, i965, softpipe) GL_ARB_internalformat_query2 DONE (all drivers) GL_ARB_invalidate_subdata DONE (all drivers) - GL_ARB_multi_draw_indirect DONE (freedreno, i965, r600, llvmpipe, softpipe, swr) + GL_ARB_multi_draw_indirect DONE (freedreno, i965, llvmpipe, softpipe, swr) GL_ARB_program_interface_query DONE (all drivers) GL_ARB_robust_buffer_access_behavior DONE (i965) - GL_ARB_shader_image_size DONE (freedreno/a5xx, i965, r600, softpipe) + GL_ARB_shader_image_size DONE (freedreno/a5xx, i965, softpipe) GL_ARB_shader_storage_buffer_object DONE (freedreno/a5xx, i965, softpipe) - GL_ARB_stencil_texturing DONE (freedreno, i965/hsw+, nv50, r600, llvmpipe, softpipe, swr) - GL_ARB_texture_buffer_range DONE (freedreno, nv50, i965, r600, llvmpipe) + GL_ARB_stencil_texturing DONE (freedreno, i965/hsw+, nv50, llvmpipe, softpipe, swr) + GL_ARB_texture_buffer_range DONE (freedreno, nv50, i965, llvmpipe) GL_ARB_texture_query_levels DONE (all drivers that support GLSL 1.30) GL_ARB_texture_storage_multisample DONE (all drivers that support GL_ARB_texture_multisample) - GL_ARB_texture_view DONE (freedreno, i965, nv50, r600, llvmpipe, softpipe, swr) + GL_ARB_texture_view DONE (freedreno, i965, nv50, llvmpipe, softpipe, swr) GL_ARB_vertex_attrib_binding DONE (all drivers) -GL 4.4, GLSL 4.40 -- all DONE: i965/gen8+, nvc0, radeonsi +GL 4.4, GLSL 4.40 -- all DONE: i965/gen8+, nvc0, r600, radeonsi GL_MAX_VERTEX_ATTRIB_STRIDE DONE (all drivers) - GL_ARB_buffer_storage DONE (freedreno, i965, nv50, r600, llvmpipe, swr) - GL_ARB_clear_texture DONE (i965, nv50, r600, llvmpipe, softpipe, swr) + GL_ARB_buffer_storage DONE (freedreno, i965, nv50, llvmpipe, swr) + GL_ARB_clear_texture DONE (i965, nv50, llvmpipe, softpipe, swr) GL_ARB_enhanced_layouts DONE (i965, nv50, llvmpipe, softpipe) - compile-time constant expressions DONE - explicit byte offsets for blocks DONE - forced alignment within blocks DONE - - specified vec4-slot component numbers DONE (i965, nv50, llvmpipe, softpipe) + - specified vec4-slot component numbers DONE - specified transform/feedback layout DONE - input/output block locations DONE GL_ARB_multi_bind DONE (all drivers) GL_ARB_query_buffer_object DONE (i965/hsw+) - GL_ARB_texture_mirror_clamp_to_edge DONE (i965, nv50, r600, llvmpipe, softpipe, swr) - GL_ARB_texture_stencil8 DONE (freedreno, i965/hsw+, nv50, r600, llvmpipe, softpipe, swr) - GL_ARB_vertex_type_10f_11f_11f_rev DONE (i965, nv50, r600, llvmpipe, softpipe, swr) + GL_ARB_texture_mirror_clamp_to_edge DONE (i965, nv50, llvmpipe, softpipe, swr) + GL_ARB_texture_stencil8 DONE (freedreno, i965/hsw+, nv50, llvmpipe, softpipe, swr) + GL_ARB_vertex_type_10f_11f_11f_rev DONE (i965, nv50, llvmpipe, softpipe, swr) GL 4.5, GLSL 4.50 -- all DONE: nvc0, radeonsi - GL_ARB_ES3_1_compatibility DONE (i965/hsw+) + GL_ARB_ES3_1_compatibility DONE (i965/hsw+, r600) GL_ARB_clip_control DONE (freedreno, i965, nv50, r600, llvmpipe, softpipe, swr) GL_ARB_conditional_render_inverted DONE (freedreno, i965, nv50, r600, llvmpipe, softpipe, swr) GL_ARB_cull_distance DONE (i965, nv50, r600, llvmpipe, softpipe, swr) @@ -238,26 +238,26 @@ GL 4.6, GLSL 4.60 (*) softpipe and llvmpipe advertise 16x anisotropy but simply ignore the setting These are the extensions cherry-picked to make GLES 3.1 -GLES3.1, GLSL ES 3.1 -- all DONE: i965/hsw+, nvc0, radeonsi +GLES3.1, GLSL ES 3.1 -- all DONE: i965/hsw+, nvc0, r600, radeonsi GL_ARB_arrays_of_arrays DONE (all drivers that support GLSL 1.30) GL_ARB_compute_shader DONE (freedreno/a5xx, i965/gen7+, softpipe) - GL_ARB_draw_indirect DONE (freedreno, i965/gen7+, r600, llvmpipe, softpipe, swr) + GL_ARB_draw_indirect DONE (freedreno, i965/gen7+, llvmpipe, softpipe, swr) GL_ARB_explicit_uniform_location DONE (all drivers that support GLSL) - GL_ARB_framebuffer_no_attachments DONE (freedreno, i965/gen7+, r600, softpipe) + GL_ARB_framebuffer_no_attachments DONE (freedreno, i965/gen7+, softpipe) GL_ARB_program_interface_query DONE (all drivers) - GL_ARB_shader_atomic_counters DONE (freedreno/a5xx, i965/gen7+, r600, softpipe) - GL_ARB_shader_image_load_store DONE (freedreno/a5xx, i965/gen7+, r600, softpipe) - GL_ARB_shader_image_size DONE (freedreno/a5xx, i965/gen7+, r600, softpipe) + GL_ARB_shader_atomic_counters DONE (freedreno/a5xx, i965/gen7+, softpipe) + GL_ARB_shader_image_load_store DONE (freedreno/a5xx, i965/gen7+, softpipe) + GL_ARB_shader_image_size DONE (freedreno/a5xx, i965/gen7+, softpipe) GL_ARB_shader_storage_buffer_object DONE (freedreno/a5xx, i965/gen7+, softpipe) GL_ARB_shading_language_packing DONE (all drivers) GL_ARB_separate_shader_objects DONE (all drivers) - GL_ARB_stencil_texturing DONE (freedreno, nv50, r600, llvmpipe, softpipe, swr) - GL_ARB_texture_multisample (Multisample textures) DONE (i965/gen7+, nv50, r600, llvmpipe, softpipe) + GL_ARB_stencil_texturing DONE (freedreno, nv50, llvmpipe, softpipe, swr) + GL_ARB_texture_multisample (Multisample textures) DONE (i965/gen7+, nv50, llvmpipe, softpipe) GL_ARB_texture_storage_multisample DONE (all drivers that support GL_ARB_texture_multisample) GL_ARB_vertex_attrib_binding DONE (all drivers) - GS5 Enhanced textureGather DONE (freedreno, i965/gen7+, r600) - GS5 Packing/bitfield/conversion functions DONE (i965/gen6+, r600) + GS5 Enhanced textureGather DONE (freedreno, i965/gen7+,) + GS5 Packing/bitfield/conversion functions DONE (i965/gen6+) GL_EXT_shader_integer_mix DONE (all drivers that support GLSL) Additional functionality not covered above: @@ -293,7 +293,7 @@ GLES3.2, GLSL ES 3.2 -- all DONE: i965/gen9+ Khronos, ARB, and OES extensions that are not part of any OpenGL or OpenGL ES version: - GL_ARB_bindless_texture DONE (radeonsi) + GL_ARB_bindless_texture DONE (nvc0, radeonsi) GL_ARB_cl_event not started GL_ARB_compute_variable_group_size DONE (nvc0, radeonsi) GL_ARB_ES3_2_compatibility DONE (i965/gen8+) @@ -305,7 +305,7 @@ Khronos, ARB, and OES extensions that are not part of any OpenGL or OpenGL ES ve GL_ARB_sample_locations not started GL_ARB_seamless_cubemap_per_texture DONE (i965, nvc0, radeonsi, r600, softpipe, swr) GL_ARB_shader_ballot DONE (i965/gen8+, nvc0, radeonsi) - GL_ARB_shader_clock DONE (i965/gen7+, nv50, nvc0, radeonsi) + GL_ARB_shader_clock DONE (i965/gen7+, nv50, nvc0, r600, radeonsi) GL_ARB_shader_stencil_export DONE (i965/gen9+, r600, radeonsi, softpipe, llvmpipe, swr) GL_ARB_shader_viewport_layer_array DONE (i965/gen6+, nvc0, radeonsi) GL_ARB_sparse_buffer DONE (radeonsi/CIK+) @@ -316,8 +316,8 @@ Khronos, ARB, and OES extensions that are not part of any OpenGL or OpenGL ES ve GL_EXT_memory_object DONE (radeonsi) GL_EXT_memory_object_fd DONE (radeonsi) GL_EXT_memory_object_win32 not started - GL_EXT_semaphore not started - GL_EXT_semaphore_fd not started + GL_EXT_semaphore DONE (radeonsi) + GL_EXT_semaphore_fd DONE (radeonsi) GL_EXT_semaphore_win32 not started GL_KHR_blend_equation_advanced_coherent DONE (i965/gen9+) GL_KHR_texture_compression_astc_hdr DONE (i965/bxt) @@ -334,7 +334,7 @@ Khronos, ARB, and OES extensions that are not part of any OpenGL or OpenGL ES ve GL_OES_texture_half_float_linear DONE (freedreno, i965, r300, r600, radeonsi, nv30, nv50, nvc0, softpipe, llvmpipe) GL_OES_texture_view not started - based on GL_ARB_texture_view GL_OES_viewport_array DONE (i965, nvc0, radeonsi) - GLX_ARB_context_flush_control DONE + GLX_ARB_context_flush_control not started GLX_ARB_robustness_application_isolation not started GLX_ARB_robustness_share_group_isolation not started