[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