projects
/
mesa.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
mesa: Implement glGet*(GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED).
[mesa.git]
/
src
/
mesa
/
main
/
objectlabel.c
diff --git
a/src/mesa/main/objectlabel.c
b/src/mesa/main/objectlabel.c
index b622d6a2979227350da5f8f5a92e735d4f26844e..1e3022ee547a482c8a2bb551f50d50b74c5d6da5 100644
(file)
--- a/
src/mesa/main/objectlabel.c
+++ b/
src/mesa/main/objectlabel.c
@@
-107,6
+107,12
@@
copy_label(const GLchar *src, GLchar *dst, GLsizei *length, GLsizei bufSize)
if (src)
labelLen = strlen(src);
if (src)
labelLen = strlen(src);
+ if (bufSize == 0) {
+ if (length)
+ *length = labelLen;
+ return;
+ }
+
if (dst) {
if (src) {
if (bufSize <= labelLen)
if (dst) {
if (src) {
if (bufSize <= labelLen)
@@
-170,9
+176,13
@@
get_label_pointer(struct gl_context *ctx, GLenum identifier, GLuint name,
break;
case GL_TRANSFORM_FEEDBACK:
{
break;
case GL_TRANSFORM_FEEDBACK:
{
+ /* From the GL 4.5 specification, page 536:
+ * "An INVALID_VALUE error is generated if name is not the name of a
+ * valid object of the type specified by identifier."
+ */
struct gl_transform_feedback_object *tfo =
_mesa_lookup_transform_feedback_object(ctx, name);
struct gl_transform_feedback_object *tfo =
_mesa_lookup_transform_feedback_object(ctx, name);
- if (tfo)
+ if (tfo
&& tfo->EverBound
)
labelPtr = &tfo->Label;
}
break;
labelPtr = &tfo->Label;
}
break;
@@
-186,7
+196,7
@@
get_label_pointer(struct gl_context *ctx, GLenum identifier, GLuint name,
case GL_TEXTURE:
{
struct gl_texture_object *texObj = _mesa_lookup_texture(ctx, name);
case GL_TEXTURE:
{
struct gl_texture_object *texObj = _mesa_lookup_texture(ctx, name);
- if (texObj)
+ if (texObj
&& texObj->Target
)
labelPtr = &texObj->Label;
}
break;
labelPtr = &texObj->Label;
}
break;