diff options
author | Eric Anholt <eric@anholt.net> | 2016-01-27 11:35:03 -0800 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2016-01-29 18:12:39 -0800 |
commit | b8229cc5f5298a37a4735dd002b0e0ebfc8bc75a (patch) | |
tree | c2d584a9a7523e60d5b8076468873313c1ddb4f5 | |
parent | 68f236ebd4b268a9e525d623986999d230feb453 (diff) |
glamor: Label programs before linking them.
i965 does most of its compiling at link time, so our debug output for
its shaders didn't have the name on.
Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
-rw-r--r-- | glamor/glamor_core.c | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/glamor/glamor_core.c b/glamor/glamor_core.c index 0104b8885..b9948b569 100644 --- a/glamor/glamor_core.c +++ b/glamor/glamor_core.c @@ -87,6 +87,17 @@ glamor_link_glsl_prog(ScreenPtr screen, GLint prog, const char *format, ...) GLint ok; glamor_screen_private *glamor_priv = glamor_get_screen_private(screen); + if (glamor_priv->has_khr_debug) { + char *label; + va_list va; + + va_start(va, format); + XNFvasprintf(&label, format, va); + glObjectLabel(GL_PROGRAM, prog, -1, label); + free(label); + va_end(va); + } + glLinkProgram(prog); glGetProgramiv(prog, GL_LINK_STATUS, &ok); if (!ok) { @@ -100,17 +111,6 @@ glamor_link_glsl_prog(ScreenPtr screen, GLint prog, const char *format, ...) ErrorF("Failed to link: %s\n", info); FatalError("GLSL link failure\n"); } - - if (glamor_priv->has_khr_debug) { - char *label; - va_list va; - - va_start(va, format); - XNFvasprintf(&label, format, va); - glObjectLabel(GL_PROGRAM, prog, -1, label); - free(label); - va_end(va); - } } /* |