<div dir="ltr"><div>I don't plan to expose the GCN functionality. If I wanted to, I would add the sample count into the rasterizer state, because it only affects gl_SampleMaskIn.</div><div><br></div><div>Marek<br></div></div><br><div class="gmail_quote"><div dir="ltr">On Fri, Nov 30, 2018 at 5:12 PM Rob Clark <<a href="mailto:robdclark@gmail.com">robdclark@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I guess as long as it is just a single draw, it works out to the same<br>
thing.  Maybe to expose the GCN functionality we could do something<br>
like<br>
<br>
  PIPE_CAP_SURFACE_SAMPLE_COUNT:<br>
    0 - unsupported<br>
    1 - msaa per draw<br>
    2 - msaa per renderpass<br>
<br>
??<br>
<br>
BR,<br>
-R<br>
<br>
On Fri, Nov 30, 2018 at 3:41 PM Marek Olšák <<a href="mailto:maraeo@gmail.com" target="_blank">maraeo@gmail.com</a>> wrote:<br>
><br>
> GCN calls it overrasterization multisampling, but it's really only useful for polygon smoothing, because there is no temporary buffer.<br>
><br>
> Marek<br>
><br>
> On Fri, Nov 30, 2018 at 3:35 PM Rob Clark <<a href="mailto:robdclark@gmail.com" target="_blank">robdclark@gmail.com</a>> wrote:<br>
>><br>
>> On Fri, Nov 30, 2018 at 3:25 PM Marek Olšák <<a href="mailto:maraeo@gmail.com" target="_blank">maraeo@gmail.com</a>> wrote:<br>
>> ><br>
>> > Suggestions:<br>
>> > - PIPE_CAP_TILED_BASED_MSAA_OVERSAMPLING<br>
>> > - pipe_surface::tile_based_oversample_count<br>
>> ><br>
>> > I'm assuming this feature isn't possible without tile-based rendering.<br>
>><br>
>> I guess technically an IMR could do it, with an internal temporary<br>
>> buffer not visible to the state-tracker.  (Not sure I could come up<br>
>> with a reason *why* you'd want to do that, but...)<br>
>><br>
>> BR,<br>
>> -R<br>
>><br>
>> ><br>
>> > Marek<br>
>> ><br>
>> > On Fri, Nov 30, 2018 at 1:23 PM Kristian Høgsberg <<a href="mailto:hoegsberg@gmail.com" target="_blank">hoegsberg@gmail.com</a>> wrote:<br>
>> >><br>
>> >> On Fri, Nov 30, 2018 at 10:17 AM Marek Olšák <<a href="mailto:maraeo@gmail.com" target="_blank">maraeo@gmail.com</a>> wrote:<br>
>> >> ><br>
>> >> > On Fri, Nov 30, 2018 at 1:13 PM Kristian Høgsberg <<a href="mailto:hoegsberg@gmail.com" target="_blank">hoegsberg@gmail.com</a>> wrote:<br>
>> >> >><br>
>> >> >> On Fri, Nov 16, 2018 at 7:48 PM Marek Olšák <<a href="mailto:maraeo@gmail.com" target="_blank">maraeo@gmail.com</a>> wrote:<br>
>> >> >> ><br>
>> >> >> > I think the name PIPE_CAP_MULTISAMPLED_RENDER_TO_TEXTURE is slightly misleading, because it doesn't imply anything about the OpenGL ES behavior, which is that a texture is multisampled in the cache, but single-sampled in memory. This should be mentioned somewhere.<br>
>> >> >><br>
>> >> >> Not sure exactly which change you're recommending, but in retrospect,<br>
>> >> >> I think it would be better to name the cap in term of how it changes<br>
>> >> >> the gallium API instead of the GLES extension it enables. How about<br>
>> >> >> PIPE_CAP_SURFACE_SAMPLE_COUNT, to indicate that it allows overriding<br>
>> >> >> sample counts in pipe_surface?<br>
>> >> ><br>
>> >> ><br>
>> >> > That's an interesting idea, but how does it convey that multisampled surfaces are never multisampled in memory?<br>
>> >><br>
>> >> How are you going to convey all that in a cap enum name? In general,<br>
>> >> the cap names are concise hints and not super descriptive - you have<br>
>> >> to go read the documentation to understand the semantics.<br>
>> >><br>
>> >> Do you have a specific name you'd like to see or can we go with<br>
>> >> PIPE_CAP_SURFACE_SAMPLE_COUNT?<br>
>> >><br>
>> >> ><br>
>> >> > Marek<br>
>> ><br>
>> > _______________________________________________<br>
>> > mesa-dev mailing list<br>
>> > <a href="mailto:mesa-dev@lists.freedesktop.org" target="_blank">mesa-dev@lists.freedesktop.org</a><br>
>> > <a href="https://lists.freedesktop.org/mailman/listinfo/mesa-dev" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/mesa-dev</a><br>
</blockquote></div>