[Mesa-dev] Clarifications w.r.t MSAA

Christoph Bumiller e0425955 at student.tuwien.ac.at
Tue Jun 12 05:39:11 PDT 2012


On 06/12/2012 02:25 PM, Olivier Galibert wrote:
> On Tue, Jun 12, 2012 at 01:50:08PM +0200, Christoph Bumiller wrote:
>>> First question: how many depths should be computed, and for which
>>> coordinates? Which of these values is associated with which sample?
>>
>> One for each sample point. The depth buffer will be multisampled as well.
>> Coverage sampling (CSAA) where you have extra coverage samples that do
>> NOT (necessarily) correspond to color sample locations are not covered
>> by the GL spec, it's vendor-specific.
> 
> Ok.  So that means that if the shader writes z, you have to do full
> supersampling then.
> 

No, I don't think that's the case. You get per-sample depth values if
you use fixed-pipe depth, but shader-computed depth should simply be
replicated (to all samples covered by the shader invocation), like color
outputs.

> 
>>> Second question: how many samples should be shaded, and for which
>>> coordinates?  What is the impact of depth testing failure?
>>
>> As many as the user requested via glMinSampleShading, and the sample
>> locations to choose seem to be up to the implementation.
> 
> Do you know what's usually expected?  Center of collapsed samples, one
> of the samples, center of the pixel?
> 
> 
>>> Third question: what happens when a variable has a "sample" qualifier
>>> in the fragment shader?  Or "centroid"?
>>
>> "When interpolating variables declared using sample in when MULTISAMPLE
>> is enabled, the fragment shader will be invoked separately for each (!)
>> covered sample and the variable will be sampled at the corresponding
>> sample point."
> 
> So a "sample" anywhere means full supersampling, ok.
> 
> Thanks,
> 
>   OG.



More information about the mesa-dev mailing list