If the texture object exists, but the Name field is zero, it means the object was created but never bound to a target. Trying to bind it in _mesa_BindTextureUnit() should generate GL_INVALID_OPERATION.
Fixes piglit's arb_direct_state_access-bind-texture-unit test. --- src/mesa/main/texobj.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/mesa/main/texobj.c b/src/mesa/main/texobj.c index b92c7f0..4f7750f 100644 --- a/src/mesa/main/texobj.c +++ b/src/mesa/main/texobj.c @@ -1816,7 +1816,8 @@ _mesa_BindTextureUnit(GLuint unit, GLuint texture) return; } if (texObj->Target == 0) { - _mesa_error(ctx, GL_INVALID_ENUM, "glBindTextureUnit(target)"); + /* Texture object was gen'd but never bound so the target is not set */ + _mesa_error(ctx, GL_INVALID_OPERATION, "glBindTextureUnit(target)"); return; } assert(valid_texture_object(texObj)); -- 1.9.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev