[Mesa-dev] [PATCH v3] docs: expand "all drivers" to the list of drivers.
Ian Romanick
idr at freedesktop.org
Thu Apr 14 16:54:00 UTC 2016
Sorry for not paying attention sooner... the problem with this is that
"all drivers" also means drivers that aren't (and won't be) in the list.
It really means *all* drivers. i915 and r300 support
ARB_sampler_objects, for example. I think in nearly all cases "all
drivers" means that a driver cannot not support the extension (i.e., it
uses "dummy_true" in the extension table). Changing it to a list
subtracts information.
The same applies to the extensions that say "all drivers that support GLSL."
A couple other comments below...
On 04/13/2016 06:58 PM, Romain Failliot wrote:
> At some place, "all drivers" wasn't useful anymore, the "all DONE" list
> already had all the currently supported drivers.
>
> Also, the syntax "all drivers" isn't future proof, if a new drivers
> comes up (we never know) it will be considered done although by default
> it might not be.
>
> Finally, expanding the drivers list allow to see that some drivers can
> be added to the "all DONE" section. It's the case for GL 4.1, 4.2 and
> GLES 3.1.
> ---
>
> Third time is the charm! ;)
>
> I've rebased to the latest master again (there's been a lot of changes
> on this file recently!)
>
> docs/GL3.txt | 102 ++++++++++++++++++++++++++++++-----------------------------
> 1 file changed, 52 insertions(+), 50 deletions(-)
>
> diff --git a/docs/GL3.txt b/docs/GL3.txt
> index dc75cf8..52d8a21 100644
> --- a/docs/GL3.txt
> +++ b/docs/GL3.txt
> @@ -44,7 +44,7 @@ GL 3.0, GLSL 1.30 --- all DONE: i965, nv50, nvc0, r600, radeonsi, llvmpipe, soft
> GL_EXT_texture_shared_exponent DONE ()
> GL_ARB_depth_buffer_float (Float depth buffers) DONE ()
> GL_ARB_framebuffer_object (Framebuffer objects) DONE ()
> - GL_ARB_half_float_pixel DONE (all drivers)
> + GL_ARB_half_float_pixel DONE ()
> GL_ARB_half_float_vertex DONE ()
> GL_EXT_texture_integer DONE ()
> GL_EXT_texture_array DONE ()
> @@ -98,7 +98,7 @@ GL 3.3, GLSL 3.30 --- all DONE: i965, nv50, nvc0, r600, radeonsi, llvmpipe, soft
> GL_ARB_blend_func_extended DONE ()
> GL_ARB_explicit_attrib_location DONE (all drivers that support GLSL)
> GL_ARB_occlusion_query2 DONE ()
> - GL_ARB_sampler_objects DONE (all drivers)
> + GL_ARB_sampler_objects DONE ()
> GL_ARB_shader_bit_encoding DONE ()
> GL_ARB_texture_rgb10_a2ui DONE ()
> GL_ARB_texture_swizzle DONE ()
> @@ -136,47 +136,47 @@ GL 4.0, GLSL 4.00 --- all DONE: nvc0, r600, radeonsi
> GL_ARB_transform_feedback3 DONE (i965, nv50, llvmpipe, softpipe)
>
>
> -GL 4.1, GLSL 4.10 --- all DONE: nvc0, r600, radeonsi
> +GL 4.1, GLSL 4.10 --- all DONE: nvc0, r600, radeonsi, llvmpipe, softpipe
If llvmpipe and softpipe actually advertise OpenGL 4.1, then this is a
good change. I don't see them on the 4.0 list.
>
> - GL_ARB_ES2_compatibility DONE (i965, nv50, llvmpipe, softpipe)
> + GL_ARB_ES2_compatibility DONE (i965, nv50)
> GL_ARB_get_program_binary DONE (0 binary formats)
> - GL_ARB_separate_shader_objects DONE (all drivers)
> + GL_ARB_separate_shader_objects DONE (i965, nv50)
> GL_ARB_shader_precision DONE (all drivers that support GLSL 4.10)
> - GL_ARB_vertex_attrib_64bit DONE (llvmpipe, softpipe)
> - GL_ARB_viewport_array DONE (i965, nv50, llvmpipe, softpipe)
> + GL_ARB_vertex_attrib_64bit DONE ()
> + GL_ARB_viewport_array DONE (i965, nv50)
>
>
> -GL 4.2, GLSL 4.20 -- all DONE: radeonsi
> +GL 4.2, GLSL 4.20 --- all DONE: i965, radeonsi
At least i965 still only advertises OpenGL 3.3 (!), so I don't think
this change should happen yet. The s/ -- / --- / is fine.
Stripping radeonsi from the explicit lists below is definitely correct.
>
> - GL_ARB_texture_compression_bptc DONE (i965, nvc0, r600, radeonsi)
> - GL_ARB_compressed_texture_pixel_storage DONE (all drivers)
> - GL_ARB_shader_atomic_counters DONE (i965, nvc0, radeonsi, softpipe)
> - GL_ARB_texture_storage DONE (all drivers)
> - GL_ARB_transform_feedback_instanced DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
> - GL_ARB_base_instance DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
> - GL_ARB_shader_image_load_store DONE (i965, radeonsi, softpipe)
> + GL_ARB_texture_compression_bptc DONE (nvc0, r600)
> + GL_ARB_compressed_texture_pixel_storage DONE (nv50, nvc0, r600, llvmpipe, softpipe)
> + GL_ARB_shader_atomic_counters DONE (nvc0, softpipe)
> + GL_ARB_texture_storage DONE (nv50, nvc0, r600, llvmpipe, softpipe)
> + GL_ARB_transform_feedback_instanced DONE (nv50, nvc0, r600, llvmpipe, softpipe)
> + GL_ARB_base_instance DONE (nv50, nvc0, r600, llvmpipe, softpipe)
> + GL_ARB_shader_image_load_store DONE (softpipe)
> GL_ARB_conservative_depth DONE (all drivers that support GLSL 1.30)
> GL_ARB_shading_language_420pack DONE (all drivers that support GLSL 1.30)
> - GL_ARB_shading_language_packing DONE (all drivers)
> - GL_ARB_internalformat_query DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
> - GL_ARB_map_buffer_alignment DONE (all drivers)
> + GL_ARB_shading_language_packing DONE (nv50, nvc0, r600, llvmpipe, softpipe)
> + GL_ARB_internalformat_query DONE (nv50, nvc0, r600, llvmpipe, softpipe)
> + GL_ARB_map_buffer_alignment DONE (nv50, nvc0, r600, llvmpipe, softpipe)
>
>
> -GL 4.3, GLSL 4.30:
> +GL 4.3, GLSL 4.30
>
> 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_clear_buffer_object DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
> GL_ARB_compute_shader DONE (i965)
> GL_ARB_copy_image DONE (i965, nv50, nvc0, r600, radeonsi)
> - GL_KHR_debug DONE (all drivers)
> + GL_KHR_debug DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
> GL_ARB_explicit_uniform_location DONE (all drivers that support GLSL)
> GL_ARB_fragment_layer_viewport DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe)
> GL_ARB_framebuffer_no_attachments DONE (i965, nvc0, r600, radeonsi, softpipe)
> - GL_ARB_internalformat_query2 DONE (all drivers)
> - GL_ARB_invalidate_subdata DONE (all drivers)
> + GL_ARB_internalformat_query2 DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
> + GL_ARB_invalidate_subdata DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
> GL_ARB_multi_draw_indirect DONE (i965, nvc0, r600, radeonsi, llvmpipe, softpipe)
> - GL_ARB_program_interface_query DONE (all drivers)
> + GL_ARB_program_interface_query DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
> GL_ARB_robust_buffer_access_behavior DONE (radeonsi)
> GL_ARB_shader_image_size DONE (i965, radeonsi, softpipe)
> GL_ARB_shader_storage_buffer_object DONE (i965, nvc0, radeonsi, softpipe)
> @@ -185,12 +185,12 @@ GL 4.3, GLSL 4.30:
> 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 (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
> - GL_ARB_vertex_attrib_binding DONE (all drivers)
> + GL_ARB_vertex_attrib_binding DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
>
>
> -GL 4.4, GLSL 4.40:
> +GL 4.4, GLSL 4.40
>
> - GL_MAX_VERTEX_ATTRIB_STRIDE DONE (all drivers)
> + GL_MAX_VERTEX_ATTRIB_STRIDE DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
> GL_ARB_buffer_storage DONE (i965, nv50, nvc0, r600, radeonsi)
> GL_ARB_clear_texture DONE (i965, nv50, nvc0)
> GL_ARB_enhanced_layouts in progress (Timothy)
> @@ -200,21 +200,21 @@ GL 4.4, GLSL 4.40:
> - specified vec4-slot component numbers in progress
> - specified transform/feedback layout DONE
> - input/output block locations DONE
> - GL_ARB_multi_bind DONE (all drivers)
> + GL_ARB_multi_bind DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
> GL_ARB_query_buffer_object DONE (nvc0)
> GL_ARB_texture_mirror_clamp_to_edge DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
> GL_ARB_texture_stencil8 DONE (nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
> GL_ARB_vertex_type_10f_11f_11f_rev DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
>
> -GL 4.5, GLSL 4.50:
> +GL 4.5, GLSL 4.50
>
> GL_ARB_ES3_1_compatibility not started
> GL_ARB_clip_control DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
> GL_ARB_conditional_render_inverted DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
> GL_ARB_cull_distance in progress (Tobias)
> GL_ARB_derivative_control DONE (i965, nv50, nvc0, r600, radeonsi)
> - GL_ARB_direct_state_access DONE (all drivers)
> - GL_ARB_get_texture_sub_image DONE (all drivers)
> + GL_ARB_direct_state_access DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
> + GL_ARB_get_texture_sub_image DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
> GL_ARB_shader_texture_image_samples DONE (i965, nv50, nvc0, r600, radeonsi)
> GL_ARB_texture_barrier DONE (i965, nv50, nvc0, r600, radeonsi)
> GL_KHR_context_flush_control DONE (all - but needs GLX/EGL extension to be useful)
> @@ -223,25 +223,26 @@ GL 4.5, GLSL 4.50:
> GL_EXT_shader_integer_mix DONE (all drivers that support GLSL)
>
> These are the extensions cherry-picked to make GLES 3.1
> -GLES3.1, GLSL ES 3.1
> +GLES3.1, GLSL ES 3.1 --- all DONE: i965
I'm not sure what to do about this one. We only support OpenGL ES 3.1
on Gen8 and later due to stencil texturing. The other extensions are
generally supported on all i965 hardware. Though, even that is not 100%
true... GL_ARB_compute_shader is only supported on Gen7+, for example.
Hm... since GL_ART_stencil_texturing stil has the Gen8+ note, this
should be fine.
> +
> GL_ARB_arrays_of_arrays DONE (all drivers that support GLSL 1.30)
> - GL_ARB_compute_shader DONE (i965)
> - GL_ARB_draw_indirect DONE (i965, nvc0, r600, radeonsi, llvmpipe, softpipe)
> + GL_ARB_compute_shader DONE ()
> + GL_ARB_draw_indirect DONE (nvc0, r600, radeonsi, llvmpipe, softpipe)
> GL_ARB_explicit_uniform_location DONE (all drivers that support GLSL)
> - GL_ARB_framebuffer_no_attachments DONE (i965, nvc0, r600, radeonsi, softpipe)
> - GL_ARB_program_interface_query DONE (all drivers)
> - GL_ARB_shader_atomic_counters DONE (i965, nvc0, radeonsi, softpipe)
> - GL_ARB_shader_image_load_store DONE (i965, softpipe, radeonsi)
> - GL_ARB_shader_image_size DONE (i965, softpipe, radeonsi)
> - GL_ARB_shader_storage_buffer_object DONE (i965, nvc0, radeonsi, softpipe)
> - GL_ARB_shading_language_packing DONE (all drivers)
> - GL_ARB_separate_shader_objects DONE (all drivers)
> + GL_ARB_framebuffer_no_attachments DONE (nvc0, r600, radeonsi, softpipe)
> + GL_ARB_program_interface_query DONE (nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
> + GL_ARB_shader_atomic_counters DONE (nvc0, radeonsi, softpipe)
> + GL_ARB_shader_image_load_store DONE (softpipe, radeonsi)
> + GL_ARB_shader_image_size DONE (softpipe, radeonsi)
> + GL_ARB_shader_storage_buffer_object DONE (nvc0, radeonsi, softpipe)
> + GL_ARB_shading_language_packing DONE (nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
> + GL_ARB_separate_shader_objects DONE (nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
> GL_ARB_stencil_texturing DONE (i965/gen8+, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
> - GL_ARB_texture_multisample (Multisample textures) DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
> + GL_ARB_texture_multisample (Multisample textures) DONE (nv50, nvc0, r600, radeonsi, 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 (i965, nvc0, r600, radeonsi)
> - GS5 Packing/bitfield/conversion functions DONE (i965, nvc0, r600, radeonsi)
> + GL_ARB_vertex_attrib_binding DONE (nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
> + GS5 Enhanced textureGather DONE (nvc0, r600, radeonsi)
> + GS5 Packing/bitfield/conversion functions DONE (nvc0, r600, radeonsi)
> GL_EXT_shader_integer_mix DONE (all drivers that support GLSL)
>
> Additional functionality not covered above:
> @@ -251,14 +252,15 @@ GLES3.1, GLSL ES 3.1
> gl_HelperInvocation support DONE (i965, nvc0, r600)
The bits above should get the same treatment as the rest of the GLES 3.1
section.
>
> GLES3.2, GLSL ES 3.2
> - GL_EXT_color_buffer_float DONE (all drivers)
> +
> + GL_EXT_color_buffer_float DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
I think this is one of the few changes from "all drivers" that is correct.
> GL_KHR_blend_equation_advanced not started
> - GL_KHR_debug DONE (all drivers)
> + GL_KHR_debug DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
> GL_KHR_robustness not started (90% done with the ARB variant)
> GL_KHR_texture_compression_astc_ldr DONE (i965/gen9+)
> GL_OES_copy_image DONE (core only)
> GL_OES_draw_buffers_indexed DONE (all drivers that support GL_ARB_draw_buffers_blend)
> - GL_OES_draw_elements_base_vertex DONE (all drivers)
> + GL_OES_draw_elements_base_vertex DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
> GL_OES_geometry_shader started (Marta)
> GL_OES_gpu_shader5 DONE (all drivers that support GL_ARB_gpu_shader5)
> GL_OES_primitive_bounding box not started
> @@ -268,7 +270,7 @@ GLES3.2, GLSL ES 3.2
> GL_OES_shader_io_blocks not started (based on parts of GLSL 1.50, which is done)
> GL_OES_shader_multisample_interpolation DONE (nvc0, r600, radeonsi)
> GL_OES_tessellation_shader not started (based on GL_ARB_tessellation_shader, which is done for some drivers)
> - GL_OES_texture_border_clamp DONE (all drivers)
> + GL_OES_texture_border_clamp DONE (i965, nv50, nvc0, r600, radeonsi, llvmpipe, softpipe)
> GL_OES_texture_buffer DONE (i965, radeonsi)
> GL_OES_texture_cube_map_array not started (based on GL_ARB_texture_cube_map_array, which is done for all drivers)
> GL_OES_texture_stencil8 DONE (all drivers that support GL_ARB_texture_stencil8)
>
More information about the mesa-dev
mailing list