[Mesa-dev] Status of radeonsi NIR
Benedikt Schemmer
ben at besd.de
Sun Apr 15 12:52:28 UTC 2018
Hi all,
I did some more test runs with NIR and shader-db.
This time they also include piglit shaders.
There was only one crash that was explicitly related to NIR but also
quite a number of regressions that might be worth looking at.
I've put the results up on
https://github.com/bendat78/mymesa/tree/mymesa2/testresults
look at the most current run* directory.
(a)
=> CRASHED <= while processing these shaders:
shaders/piglit/da1588b9fd1ec5009a02ff9ee244f11923d32855_3.shader_test
[require]
GLSL >= 1.10
[vertex shader]
#version 110
#if __VERSION__ >= 130
in vec4 piglit_vertex;
#else
attribute vec4 piglit_vertex;
#endif
void main() { gl_Position = piglit_vertex; }
[fragment shader]
#version 110
uniform float id;
void main()
{
ivec4 test = ivec4(0, 1, 0, 0);
vec4 test2 = vec4(0.0, 1.0, 0.0, 0.0);
int index = int(id);
float col = test2[test[index]];
gl_FragColor = vec4(col);
}
(b)
Might be worth looking at this one as it is related to Alien Isolation
and has significant regressions
VGPRS: 4 -> 64 (1500.00 %) (in
shaders/piglit/51e07b0ac242a7c22d5d519ea8b3e4f7ac8e51f9_2.shader_test)
Spilled VGPRs: 0 -> 46 (0.00 %) (in
shaders/piglit/51e07b0ac242a7c22d5d519ea8b3e4f7ac8e51f9_2.shader_test)
Scratch size: 0 -> 36 (0.00 %) dwords per thread (in
shaders/piglit/51e07b0ac242a7c22d5d519ea8b3e4f7ac8e51f9_2.shader_test)
Code Size: 108 -> 7148 (6518.52 %) bytes (in
shaders/piglit/51e07b0ac242a7c22d5d519ea8b3e4f7ac8e51f9_2.shader_test)
# Tests linking a shader with a large workgroup and local data set.
#
# This is related to:
# Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93840
#
# There are two important elements to this test:
#
# 1. local workgroup size of 1024 based on the spec requirements.
#
# 2. Use a 'large' size of live local data. In the test this is
# controlled with the SIZE macro. This is hardware specific, and
# the value of 64 was chosen because it was observed to fail on the
# Mesa i965 driver.
[require]
GL >= 3.3
GLSL >= 3.30
GL_ARB_compute_shader
[compute shader]
#version 330
#extension GL_ARB_compute_shader: enable
layout(local_size_x = 1024) in;
#define SIZE 64
shared int sa[SIZE];
void main()
{
int a[SIZE] = sa;
a[int(gl_LocalInvocationIndex) % SIZE] += 1;
if (a[int(gl_LocalInvocationIndex) % SIZE] == 0)
sa[0] = 1;
}
[test]
link success
(c)
there are a number of shaders that show this kind of behavior (dont know
if they do for the same reason):
Max Waves: 8 -> 1 (-87.50 %) (in
shaders/piglit/31a96d9a82c154da664023713921aab10967ef83_1533.shader_test)
from
/** @file glsl-max-varyings.c
*
* Tests whether each varying can be used at all numbers of varyings up to
* GL_MAX_VARYING_FLOATS / 4.
*/
Have fun,
Benedikt
More information about the mesa-dev
mailing list