<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW --- - Savage 2 Edges render white [r600g]"
href="https://bugs.freedesktop.org/show_bug.cgi?id=63579#c16">Comment # 16</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW --- - Savage 2 Edges render white [r600g]"
href="https://bugs.freedesktop.org/show_bug.cgi?id=63579">bug 63579</a>
from <span class="vcard"><a class="email" href="mailto:idr@freedesktop.org" title="Ian Romanick <idr@freedesktop.org>"> <span class="fn">Ian Romanick</span></a>
</span></b>
<pre>(In reply to <a href="show_bug.cgi?id=63579#c15">comment #15</a>)
<span class="quote">> Thanks for the clarification, but I'm still not entirely convinced.
>
> I agree that this per-spec for OpenGL ES 3.0 (although I'm a bit
> disappointed that the ES3-group missed that we in the ES2-group had made it
> easy for you by requiring #version to be the first bytes, if present), and
> that there are spec-justification to rejecting the shader in question to
> compile (due to the character being outside of the character set). And I
> think we both agree that doing the latter would be a bad idea.
>
> But I don't agree that this is per-spec for OpenGL nor OpenGL ES 2.0. It's
> the ratified spec that is the standard, not whatever discussions were held
> during the meeting. And even though you have a large collection of shaders
> that does not use it, I don't think breaking existing (unknown) applications
> is a good idea. How many shaders besides syntetic glsparsertest-shaders
> requires line-continuation to work correctly? My guess would be zero;
> shaders like these would not compile on AMD, NVIDIA, nor Intel's Windows
> drivers. I've just tested the latter. So apparently, Mesa is the only major
> OpenGL implementation that currently implements this.</span >
They all support it in preprocessor directives. We verified this in 2010 when
we added that level of support back. As I said before, we've encountered
shaders in games that use line continuation for multi-line macros.
#define foo(a, b) \
do { \
b = bar(a); \
} while(0)
Making the support general (instead of just for preprocessor directives)
simplified the code greatly. Since I'm responsible for maintaining this code
base as my job, that's a strong incentive for me.
<span class="quote">> By the way, the WebGL conformance tests also checks that line continuation
> does not work. So there are at least two known, publically available shaders
> that depends on no line-continuation to work. Of course, the latter is
> synthetic, but at least it's based on wording in a specification.</span >
I'm not going to add complexity or overhead to the preprocessor for this case.
If WebGL tests non-continuation behavior, we can add the browsers to the
workaround list.
<span class="quote">> I'm not trying to be a pain here, I just think you're pushing for a
> direction that just leads to even more fragmentation and pain.</span ></pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>