Bug 91670 - [bisected] piglit.spec.!opengl 3_2.layered-rendering.framebuffertexture fails
Summary: [bisected] piglit.spec.!opengl 3_2.layered-rendering.framebuffertexture fails
Status: CLOSED FIXED
Alias: None
Product: piglit
Classification: Unclassified
Component: tests (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: Piglit Mailing List
QA Contact: Piglit Mailing List
URL:
Whiteboard:
Keywords:
: 91672 (view as bug list)
Depends on:
Blocks: 93100
  Show dependency treegraph
 
Reported: 2015-08-17 23:56 UTC by Mark Janes
Modified: 2015-11-27 09:39 UTC (History)
3 users (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Mark Janes 2015-08-17 23:56:18 UTC
mesa d3ace60 regressed this test on intel platforms.

Standard Output
/lib/piglit/bin/gl-3.2-layered-rendering-framebuffertexture -auto -fbo
piglit: debug: Requested an OpenGL 3.2 Core Context, and received a matching 3.3 context

Unexpected GL error: GL_INVALID_VALUE 0x501
(Error at /var/lib/jenkins/jobs/Leeroy/workspace@2/repos/piglit/tests/spec/gl-3.2/layered-rendering/framebuffertexture.c:216)
Texture Type: GL_TEXTURE_2D_MULTISAMPLE. Error during setup.
Texture Type: GL_TEXTURE_2D_MULTISAMPLE. FramebufferTexture() Test Failed.
Unexpected GL error: GL_INVALID_VALUE 0x501
(Error at /var/lib/jenkins/jobs/Leeroy/workspace@2/repos/piglit/tests/spec/gl-3.2/layered-rendering/framebuffertexture.c:216)
Texture Type: GL_TEXTURE_2D_MULTISAMPLE_ARRAY. Error during setup.
Texture Type: GL_TEXTURE_2D_MULTISAMPLE_ARRAY. FramebufferTexture() Test Failed.

Standard Error

Mesa: User error: GL_INVALID_VALUE in glTexImage2DMultisample(samples < 1)
Mesa: User error: GL_INVALID_VALUE in glTexImage3DMultisample(samples < 1)


A new piglit test was introduced to test this change, and that new test passes.

It may be that the piglit test needs to be updated.
Comment 1 Timothy Arceri 2015-08-18 04:38:51 UTC
*** Bug 91672 has been marked as a duplicate of this bug. ***
Comment 2 Timothy Arceri 2015-08-18 04:45:28 UTC
Patch sent to the piglit mailing list:

http://lists.freedesktop.org/archives/piglit/2015-August/016817.html
Comment 3 Mark Janes 2015-08-18 20:48:11 UTC
Timothy's patch works as expected.
Comment 4 Timothy Arceri 2015-08-19 00:00:03 UTC
Fix pushed to piglit.

author	Timothy Arceri <t_arceri@yahoo.com.au>	2015-08-18 04:34:14 (GMT)
committer	Timothy Arceri <t_arceri@yahoo.com.au>	2015-08-18 23:56:03 (GMT)
commit	b4b8c87ea78a53673c52d06af5abb5b7b263ddc9
Comment 5 marius predut 2015-11-25 10:00:55 UTC
This test needs to pass OpenGL3.3 conformance test.
Open GL 3.3 reference document says:
samples must be in the range zero to GL_MAX_TEXTURE_SIZE - 1.
Open GL.4 clearly states:
An INVALID_VALUE error is generated if samples is zero.

The fix is wrong, the defect needs to be reopen.
Comment 6 Timothy Arceri 2015-11-25 10:24:04 UTC
(In reply to marius predut from comment #5)
> This test needs to pass OpenGL3.3 conformance test.

Please point out the test that is failing to save others time.

> Open GL 3.3 reference document says:
> samples must be in the range zero to GL_MAX_TEXTURE_SIZE - 1.

By reference document do you mean the spec?

Can you point me to the exact section you took the above quote from, its a big document.

All I can find in the OpenGL 3.3 spec from Section 3.8.6 (Multisample Textures) is:

"if samples is greater than MAX_SAMPLES, then the error INVALID_VALUE is generate"

As I understand it, it doesn't make sense to have samples = 0 and the spec seems to have been reworded in a later revision to reflect this.

> Open GL.4 clearly states:
> An INVALID_VALUE error is generated if samples is zero.
> 
> The fix is wrong, the defect needs to be reopen.
Comment 7 marius predut 2015-11-25 10:39:30 UTC
(In reply to Timothy Arceri from comment #6)
> (In reply to marius predut from comment #5)
> > This test needs to pass OpenGL3.3 conformance test.
> 
> Please point out the test that is failing to save others time.
> 
> > Open GL 3.3 reference document says:
> > samples must be in the range zero to GL_MAX_TEXTURE_SIZE - 1.
> 
> By reference document do you mean the spec?
> 

https://www.opengl.org/sdk/docs/man3/xhtml/glTexImage3DMultisample.xml


> Can you point me to the exact section you took the above quote from, its a
> big document.

Target must be GL_TEXTURE_2D_MULTISAMPLE_ARRAY or GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY.
            width and heightare the dimensions in texels of the texture, and must
            be in the range zero to GL_MAX_TEXTURE_SIZE - 1. depth is the number of array slices in the array texture's image.
            samples specifies the number of samples in the image and must be in the range zero to GL_MAX_SAMPLES - 1.
        

> 
> All I can find in the OpenGL 3.3 spec from Section 3.8.6 (Multisample
> Textures) is:
> 
> "if samples is greater than MAX_SAMPLES, then the error INVALID_VALUE is
> generate"
> 
> As I understand it, it doesn't make sense to have samples = 0 and the spec
> seems to have been reworded in a later revision to reflect this.
> 
> > Open GL.4 clearly states:
> > An INVALID_VALUE error is generated if samples is zero.
> > 
> > The fix is wrong, the defect needs to be reopen.
Comment 8 marius predut 2015-11-25 10:46:21 UTC
The pair that fix this issue:

Patch sent to the piglit mailing list:
http://lists.freedesktop.org/archives/piglit/2015-November/018182.html

Patch sent to the mesa mailing list:
http://lists.freedesktop.org/archives/mesa-dev/2015-November/101403.html
Comment 9 Timothy Arceri 2015-11-25 10:54:36 UTC
(In reply to marius predut from comment #7)
> (In reply to Timothy Arceri from comment #6)
> > (In reply to marius predut from comment #5)
> > > This test needs to pass OpenGL3.3 conformance test.
> > 
> > Please point out the test that is failing to save others time.
> > 
> > > Open GL 3.3 reference document says:
> > > samples must be in the range zero to GL_MAX_TEXTURE_SIZE - 1.
> > 
> > By reference document do you mean the spec?
> > 
> 
> https://www.opengl.org/sdk/docs/man3/xhtml/glTexImage3DMultisample.xml
> 
> 
> > Can you point me to the exact section you took the above quote from, its a
> > big document.
> 
> Target must be GL_TEXTURE_2D_MULTISAMPLE_ARRAY or
> GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY.
>             width and heightare the dimensions in texels of the texture, and
> must
>             be in the range zero to GL_MAX_TEXTURE_SIZE - 1. depth is the
> number of array slices in the array texture's image.
>             samples specifies the number of samples in the image and must be
> in the range zero to GL_MAX_SAMPLES - 1.

We normally go by what the spec says and it doesn't say anything about what happens if samples is zero. Later versions of the spec fix the issue so we go by what that says.

Also I don't believe this change has anything to do with the piglit failure you are seeing, mesa was updated to the same behavior as the piglit test you will need to be more specific about the problem you are trying to solve here
Comment 10 Timothy Arceri 2015-11-25 11:04:21 UTC
(In reply to marius predut from comment #5)
> This test needs to pass OpenGL3.3 conformance test.
> Open GL 3.3 reference document says:
> samples must be in the range zero to GL_MAX_TEXTURE_SIZE - 1.
> Open GL.4 clearly states:
> An INVALID_VALUE error is generated if samples is zero.

Right later specs say that but the 4.5 reference page still says:

samples in the image and must be in the range zero to the value of GL_MAX_SAMPLES minus one

These are just bugs in the reference document, no change is needed from what I can see.

> 
> The fix is wrong, the defect needs to be reopen.

I don't believe so.
Comment 11 Ian Romanick 2015-11-25 18:45:02 UTC
(In reply to marius predut from comment #5)
> This test needs to pass OpenGL3.3 conformance test.

You know there is no such thing, right?

> Open GL 3.3 reference document says:
> samples must be in the range zero to GL_MAX_TEXTURE_SIZE - 1.

First of all, this is clearly wrong.  GL_MAX_TEXTURE_SIZE must be at least 2048 (or is it higher these days?), and there is no 2048x multisampling.  I have submitted a bug to the Khronos public bugzilla for this issue:

https://www.khronos.org/bugzilla/show_bug.cgi?id=1419

> Open GL.4 clearly states:
> An INVALID_VALUE error is generated if samples is zero.

Second of all, if the man page ever disagrees with the spec, the spec is CORRECT and the man page is WRONG.  Period.  Khronos reviews and votes on the specifications, but the man pages do not receive the same level of scrutiny.  They are also written primarily by Graham Sellers on a volunteer basis.

In the future, if you find a case where the man page disagrees with the spec, please submit a Khronos bug and CC me on that bug.

> The fix is wrong, the defect needs to be reopen.
Comment 12 marius predut 2015-11-27 09:39:14 UTC
ok, I hope Kronos will update this manual reference pages, because seems Google indexed it first , before any other specs.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.