<html>
<head>
<base href="https://bugs.freedesktop.org/">
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW - [softpipe] piglit arb_texture_view-targets regression"
href="https://bugs.freedesktop.org/show_bug.cgi?id=102125">102125</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>[softpipe] piglit arb_texture_view-targets regression
</td>
</tr>
<tr>
<th>Product</th>
<td>Mesa
</td>
</tr>
<tr>
<th>Version</th>
<td>git
</td>
</tr>
<tr>
<th>Hardware</th>
<td>x86-64 (AMD64)
</td>
</tr>
<tr>
<th>OS</th>
<td>Linux (All)
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Keywords</th>
<td>bisected, regression
</td>
</tr>
<tr>
<th>Severity</th>
<td>normal
</td>
</tr>
<tr>
<th>Priority</th>
<td>medium
</td>
</tr>
<tr>
<th>Component</th>
<td>Mesa core
</td>
</tr>
<tr>
<th>Assignee</th>
<td>mesa-dev@lists.freedesktop.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>vlee@freedesktop.org
</td>
</tr>
<tr>
<th>QA Contact</th>
<td>mesa-dev@lists.freedesktop.org
</td>
</tr>
<tr>
<th>CC</th>
<td>brianp@vmware.com, maraeo@gmail.com, sroland@vmware.com
</td>
</tr></table>
<p>
<div>
<pre>mesa: c12c2e40a36f707f733c0d6ad90160472b7a3cf6 (master 17.3.0-devel)
$ ./bin/arb_texture_view-targets -auto
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_2D)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_3D)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_CUBE_MAP)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_RECTANGLE)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_2D_ARRAY)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_CUBE_MAP_ARRAY)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_2D_MULTISAMPLE)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_2D_MULTISAMPLE_ARRAY)
PIGLIT: {"subtest": {"1D tex target validity" : "pass"}}
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_1D)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_3D)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_CUBE_MAP)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_RECTANGLE)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_1D_ARRAY)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_CUBE_MAP_ARRAY)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_2D_MULTISAMPLE)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_2D_MULTISAMPLE_ARRAY)
PIGLIT: {"subtest": {"2D tex target validity" : "pass"}}
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_1D)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_2D)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_CUBE_MAP)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_RECTANGLE)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_1D_ARRAY)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_2D_ARRAY)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_CUBE_MAP_ARRAY)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_2D_MULTISAMPLE)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_2D_MULTISAMPLE_ARRAY)
PIGLIT: {"subtest": {"3D tex target validity" : "pass"}}
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_1D)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_3D)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_RECTANGLE)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_1D_ARRAY)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_2D_MULTISAMPLE)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_2D_MULTISAMPLE_ARRAY)
PIGLIT: {"subtest": {"Cubemap tex target validity" : "pass"}}
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_1D)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_2D)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_3D)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_CUBE_MAP)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_1D_ARRAY)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_2D_ARRAY)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_CUBE_MAP_ARRAY)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_2D_MULTISAMPLE)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_2D_MULTISAMPLE_ARRAY)
PIGLIT: {"subtest": {"Rectangle tex target validity" : "pass"}}
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_2D)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_3D)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_CUBE_MAP)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_RECTANGLE)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_2D_ARRAY)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_CUBE_MAP_ARRAY)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_2D_MULTISAMPLE)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_2D_MULTISAMPLE_ARRAY)
PIGLIT: {"subtest": {"1D Array tex target validity" : "pass"}}
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_1D)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_3D)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_RECTANGLE)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_1D_ARRAY)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_2D_MULTISAMPLE)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_2D_MULTISAMPLE_ARRAY)
PIGLIT: {"subtest": {"2D Array tex target validity" : "pass"}}
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_1D)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_3D)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_RECTANGLE)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_1D_ARRAY)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_2D_MULTISAMPLE)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_2D_MULTISAMPLE_ARRAY)
PIGLIT: {"subtest": {"Cubemap Array tex target validity" : "pass"}}
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_1D)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_2D)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_3D)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_CUBE_MAP)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_RECTANGLE)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_1D_ARRAY)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_2D_ARRAY)
Mesa: User error: GL_INVALID_OPERATION in glTextureView(illegal
target=GL_TEXTURE_CUBE_MAP_ARRAY)
PIGLIT: {"subtest": {"Multisample 2D tex target validity" : "pass"}}
Mesa: User error: GL_INVALID_VALUE in glTextureView(new minlayer (0) > orig
minlayer (0) + orig numlayers (0))
Unexpected GL error: GL_INVALID_VALUE 0x501
(Error at piglit/tests/spec/arb_texture_view/targets.c:79)
PIGLIT: {"subtest": {"Multisample 2D array tex target validity" : "fail"}}
PIGLIT: {"result": "fail" }
6839d3369905eb02151334ea7b4cd39ddcfa6770 is the first bad commit
commit 6839d3369905eb02151334ea7b4cd39ddcfa6770
Author: Brian Paul <<a href="mailto:brianp@vmware.com">brianp@vmware.com</a>>
Date: Tue Aug 1 21:28:25 2017 -0600
st/mesa: fix handling of NumSamples=1 (v2)
In Mesa we use the convention that if gl_renderbuffer::NumSamples
or gl_texture_image::NumSamples is zero, it's a non-MSAA surface.
Otherwise, it's an MSAA surface. But in gallium nr_samples=1 is a
non-MSAA surface.
Before, if the user called glRenderbufferStorageMultisample() or
glTexImage2DMultisample() with samples=1 we skipped the search for the
next higher number of supported samples and asked the gallium driver to
create a surface with nr_samples=1. So we got a non-MSAA surface.
This failed to meet the expection of the user making those calls.
This patch changes the sample count checks in st_AllocTextureStorage()
and st_renderbuffer_alloc_storage() to test for samples > 0 instead of > 1.
And we now start querying for MSAA support at samples=2 since gallium has
no concept of a 1x MSAA surface.
A specific example of this problem is the Piglit arb_framebuffer_srgb-blit
test. It calls glRenderbufferStorageMultisample() with samples=1 to
request an MSAA renderbuffer with the minimum supported number of MSAA
samples. Instead of creating a 4x or 8x, etc. MSAA surface, we wound up
creating a non-MSAA surface.
Finally, add a comment on the gl_renderbuffer::NumSamples field.
There is one piglit regression with the VMware driver:
ext_framebuffer_multisample-blit-mismatched-formats fails because
now we're actually creating 4x MSAA surfaces (the requested sample
count is 1) and we're hitting some sort of bug in the blitter code. That
will have to be fixed separately. Other drivers may find regressions
too now that MSAA surfaces are really being created.
v2: start quering for MSAA support with samples=2 instead of 1.
Reviewed-by: Roland Scheidegger <<a href="mailto:sroland@vmware.com">sroland@vmware.com</a>>
Reviewed-by: Marek Olšák <<a href="mailto:marek.olsak@amd.com">marek.olsak@amd.com</a>>
:040000 040000 ce8996d82890c153e42edd49df6c4d4a09a10241
2986ed81a0e5f36dfe70d4a3438613251583f4ce M src
bisect run success</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
<li>You are the QA Contact for the bug.</li>
</ul>
</body>
</html>