Bug 100026 - piglit.spec.arb_shader_subroutine.compiler.direct-call_vert regression
Summary: piglit.spec.arb_shader_subroutine.compiler.direct-call_vert regression
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/i965 (show other bugs)
Version: git
Hardware: x86-64 (AMD64) Linux (All)
: medium major
Assignee: Samuel Pitoiset
QA Contact: Intel 3D Bugs Mailing List
Depends on:
Reported: 2017-03-01 19:38 UTC by Mark Janes
Modified: 2017-03-02 23:59 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Note You need to log in before you can comment on or make changes to this bug.
Description Mark Janes 2017-03-01 19:38:51 UTC
bisected to:
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() {

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.