[Bug 95505] GL42-CTS.gpu_shader_fp64.named_uniform_blocks fails
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Mon May 23 07:27:01 UTC 2016
https://bugs.freedesktop.org/show_bug.cgi?id=95505
--- Comment #2 from Samuel Iglesias <siglesias at igalia.com> ---
(In reply to Iago Toral from comment #1)
> So, our FS is not explicitly disabled, but it does not seem to run for any
> fragments... from the description it seems that NVIDIA assigns a default
> value to gl_Positon within the render region if the shader does not set it
> explicitly (probably (0,0,0,1)?).
Yes, I though the same after submitting this bug report.
> I guess what we need to do to see if this
> is a bug in the test or in the diver is check if there is anything in the GL
> spec that mandates a specific value for gl_Position if none is set by the
> shader.
>From GLSL 4.2, "7.1 Built-In Language Variables":
"As an output variable, gl_Position is intended for writing the homogeneous
vertex position. It can be written at any time during shader execution. This
value will be used by primitive assembly, clipping, culling, and other fixed
functionality operations, if present, that operate on primitives after vertex
processing has occurred. Its value is undefined after the vertex processing
stage if the vertex shader executable does not write gl_Position, and it is
undefined after geometry processing if the geometry executable calls
EmitVertex() without having written gl_Position since the last EmitVertex()
(or
hasn't written it at all). As an input variable, gl_Position reads the output
written in the previous shader stage to gl_Position."
So, according to the spec, gl_Position value is undefined if it is not set by
any shader.
I found a Chromium bug [0] which explains that some drivers fail when linking
shaders that don't set gl_Position. The workaround was to initialize
gl_Position at the beginning of the vertex shader's main() to vec4(0,0,0,0)
like in ANGLE [1].
Looks like it is a test issue because it doesn't set gl_Position and expects to
render a point in the texture.
[0] https://bugs.chromium.org/p/chromium/issues/detail?id=416670
[1]
https://code.google.com/p/chromium/codesearch#chromium/src/third_party/angle/include/GLSLANG/ShaderLang.h&sq=package:chromium&type=cs&l=171&rcl=1463944873
--
You are receiving this mail because:
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/intel-3d-bugs/attachments/20160523/4dd8a523/attachment.html>
More information about the intel-3d-bugs
mailing list