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 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev