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>
This commit is contained in:
parent
68f236ebd4
commit
b8229cc5f5
|
@ -87,6 +87,17 @@ glamor_link_glsl_prog(ScreenPtr screen, GLint prog, const char *format, ...)
|
||||||
GLint ok;
|
GLint ok;
|
||||||
glamor_screen_private *glamor_priv = glamor_get_screen_private(screen);
|
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);
|
glLinkProgram(prog);
|
||||||
glGetProgramiv(prog, GL_LINK_STATUS, &ok);
|
glGetProgramiv(prog, GL_LINK_STATUS, &ok);
|
||||||
if (!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);
|
ErrorF("Failed to link: %s\n", info);
|
||||||
FatalError("GLSL link failure\n");
|
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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue