VOOZH about

URL: https://www.phoronix.com/news/MTY3MzM

⇱ Gallium3D Gets Support For ARB_sample_shading - Phoronix


👁 Phoronix

Gallium3D Gets Support For ARB_sample_shading

Written by Michael Larabel in Mesa on 26 April 2014 at 01:15 PM EDT. 15 Comments
Support has landed within Mesa Gallium3D for handling the OpenGL 4.0 GL_ARB_sample_shading extension.

In terms of this GL4 extension, it's described by the OpenGL specification as:
In standard multisample rendering, an implementation is allowed to assign the same color and texture coordinate values to each sample, which then allows the optimization where the shader is only evaluated once and then distributed to the samples that have been determined to be covered by the primitive currently being rasterized. This can cause aliasing where the input color and texture coordinates are used to generate a result that doesn't antialias itself, for example with alpha-tested transparency.

This extension adds the ability to explicitly request that an implementation use a minimum number of unique set of fragment computation inputs when multisampling a pixel. Specifying such a requirement can reduce aliasing that results from evaluating the fragment computations too few times per pixel.

Ilia Mirkin, one of the frequent Nouveau driver developers in recent times, through a number of commits this morning added basic ARB_sample_sharing support to Gallium3D and its Mesa state tracker. Meanwhile, the Intel i965 classic Mesa DRI driver has already supported this OpenGL 4.0 extension going back several months.

Here's how things are looking for the OpenGL 4.0 support within Mesa/Gallium3D via the GL3/GL4 documentation:
GL 4.0:

 GLSL 4.0 not started
 GL_ARB_texture_query_lod DONE (i965, nv50, nvc0)
 GL_ARB_draw_buffers_blend DONE (i965, nv50, nvc0, r600, radeonsi, softpipe)
 GL_ARB_draw_indirect DONE (i965)
 GL_ARB_gpu_shader5 started
 - 'precise' qualifier not started
 - Dynamically uniform sampler array indices not started
 - Dynamically uniform UBO array indices not started
 - Implicit signed -> unsigned conversions not started
 - Fused multiply-add DONE
 - Packing/bitfield/conversion functions DONE
 - Enhanced textureGather DONE
 - Geometry shader instancing DONE
 - Geometry shader multiple streams not started
 - Enhanced per-sample shading DONE
 - Interpolation functions started
 GL_ARB_gpu_shader_fp64 not started
 GL_ARB_sample_shading DONE (i965)
 GL_ARB_shader_subroutine not started
 GL_ARB_tessellation_shader not started
 GL_ARB_texture_buffer_object_rgb32 DONE (i965, nvc0, r600, radeonsi, softpipe)
 GL_ARB_texture_cube_map_array DONE (i965, nv50, nvc0, r600, softpipe)
 GL_ARB_texture_gather DONE (i965, nv50, nvc0)
 GL_ARB_transform_feedback2 DONE (i965, nv50, nvc0, r600, radeonsi)
 GL_ARB_transform_feedback3 DONE (i965, nv50, nvc0, r600, radeonsi)

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.