<div dir="ltr">In response to using FRAG_RESULT_DATA0 for both of the builtins that the extension provides for ES2.<div>When looking at what _mesa_BindFragDataLocationIndexed does, it binds the output variable to DATA0+colorNumber that you passed in to it, and also sets that variable to being whatever index you passed in as well.</div><div>Also looking at the rest of the source that references COLOR and DATA, it seems that in only ever expects one COLOR output, or as many DATA outputs as there can be.</div><div>Also then that user defined outputs are bound to DATA rather than COLOR.</div><div>So I think that using DATA for this is the proper way to go even though the builtin name wouldn't match. The alternative would be teaching the rest of mesa and the other drivers to expect multiple COLOR outputs with different indexes, all for the sake of matching an enum to a builtin variable name.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Nov 5, 2015 at 9:00 PM, Ilia Mirkin <span dir="ltr"><<a href="mailto:imirkin@alum.mit.edu" target="_blank">imirkin@alum.mit.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Thu, Nov 5, 2015 at 9:47 PM, Ryan Houdek <<a href="mailto:sonicadvance1@gmail.com">sonicadvance1@gmail.com</a>> wrote:<br>
> This implements support for a very new extension to ES, which allows you<br>
> to do dual source blending just like in desktop OpenGL.<br>
> This works with the piglits that I am writing that just need to be cleaned<br>
> before they are pushed, and it also works fantastically with the<br>
> Dolphin emulator (Only known application that uses this extension)<br>
<br>
</span>Well this series looks good to me... perhaps someone can glance at how<br>
the outputs are defined for ES2... both use FRAG_RESULT_DATA0, which<br>
is a little questionable. I'm pretty weak on all the details there.<br>
But it's only for ESSL 1.0, where the other output will be<br>
FRAG_RESULT_COLOR. Probably OK?<br>
<br>
Ryan, piglits would be nice. In the meanwhile, this series is<br>
<br>
Reviewed-by: Ilia Mirkin <<a href="mailto:imirkin@alum.mit.edu">imirkin@alum.mit.edu</a>><br>
<div class="HOEnZb"><div class="h5"><br>
><br>
> Ryan Houdek (8):<br>
>   Add EXT_blend_func_extended XML definitions<br>
>   Add required variables to _mesa_glsl_parse_state for<br>
>     EXT_blend_func_extended<br>
>   Add support for the new builtins that EXT_blend_func_extended<br>
>     provides.<br>
>   Add a parse check to check for the index layout qualifier<br>
>   Enable usage of blend_func_extended blend factors<br>
>   Allow MAX_DUAL_SOURCE_DRAW_BUFFERS to be available to ES<br>
>   Add EXT_blend_func_extended functions to the dispatch_sanity test<br>
>   Enable EXT_blend_func_extended if the driver supports the ARB version<br>
><br>
>  src/glsl/ast_to_hir.cpp                 | 16 +++++++++<br>
>  src/glsl/builtin_variables.cpp          | 62 +++++++++++++++++++++++++++++++++<br>
>  src/glsl/glsl_parser.yy                 |  5 +++<br>
>  src/glsl/glsl_parser_extras.cpp         |  3 ++<br>
>  src/glsl/glsl_parser_extras.h           |  5 +++<br>
>  src/mapi/glapi/gen/EXT_gpu_shader4.xml  |  3 +-<br>
>  src/mapi/glapi/gen/es_EXT.xml           | 38 ++++++++++++++++++++<br>
>  src/mesa/main/blend.c                   |  4 +--<br>
>  src/mesa/main/extensions.c              |  1 +<br>
>  src/mesa/main/get_hash_params.py        |  4 ++-<br>
>  src/mesa/main/tests/dispatch_sanity.cpp |  8 +++++<br>
>  11 files changed, 145 insertions(+), 4 deletions(-)<br>
><br>
> --<br>
> 2.5.0<br>
><br>
> _______________________________________________<br>
> mesa-dev mailing list<br>
> <a href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.freedesktop.org</a><br>
> <a href="http://lists.freedesktop.org/mailman/listinfo/mesa-dev" rel="noreferrer" target="_blank">http://lists.freedesktop.org/mailman/listinfo/mesa-dev</a><br>
</div></div></blockquote></div><br></div>