Bug 100026

Summary: piglit.spec.arb_shader_subroutine.compiler.direct-call_vert regression
Product: Mesa Reporter: Mark Janes <mark.a.janes>
Component: Drivers/DRI/i965Assignee: Samuel Pitoiset <samuel.pitoiset>
Status: RESOLVED FIXED QA Contact: Intel 3D Bugs Mailing List <intel-3d-bugs>
Severity: major    
Priority: medium CC: t_arceri
Version: git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Mark Janes 2017-03-01 19:38:51 UTC
bisected to:
be8aa76afd2cc5326c9d9d59c591e06365c5f618
Author:     Samuel Pitoiset <samuel.pitoiset@gmail.com>

glsl: remove unecessary flags.q.subroutine_def

This bit is definitely not necessary because subroutine_list
can be used instead. This frees one more bit in the flags.q
struct which is nice because arb_bindless_texture will need
4 bits for the new layout qualifiers.

No piglit regressions found (including compiler tests) with
"-t subroutine".

v2: set the subroutine flag for validating illegal flags

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>


Standard Output:

/tmp/build_root/m64/lib/piglit/bin/glslparsertest /tmp/build_root/m64/lib/piglit/tests/spec/arb_shader_subroutine/compiler/direct-call.vert pass 1.50 GL_ARB_shader_subroutine
piglit: debug: Requested an OpenGL 3.2 Core Context, and received a matching 4.5 context

Shader source:
// [config]
// expect_result: pass
// glsl_version: 1.50
// require_extensions: GL_ARB_shader_subroutine
// [end config]

#version 150
#extension GL_ARB_shader_subroutine: require

/* The ARB_shader_subroutine spec says nothing to
 * explicitly disallow calling subroutine implementations
 * as normal functions.
 *
 * It seems reasonable that this would still work.
 */

subroutine void func_type();

/* A subroutine matching the above type */
subroutine (func_type) void impl() {}

/* Call the function directly, rather than via
 * a subroutine uniform.
 */
void foo() {
	impl();
}

Standard Error

Failed to compile vertex shader /tmp/build_root/m64/lib/piglit/tests/spec/arb_shader_subroutine/compiler/direct-call.vert: 0:26(2): error: subroutine name cannot be a constructor `impl'
Comment 1 Samuel Pitoiset 2017-03-02 23:59:20 UTC
Should be fixed by 9fc86d4f53a66a147f38f54b09629372bd085658.

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.