summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2016-01-27 11:35:03 -0800
committerEric Anholt <eric@anholt.net>2016-01-29 18:12:39 -0800
commitb8229cc5f5298a37a4735dd002b0e0ebfc8bc75a (patch)
treec2d584a9a7523e60d5b8076468873313c1ddb4f5
parent68f236ebd4b268a9e525d623986999d230feb453 (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.c22
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);
- }
}
/*