mesa: add more comments about textarget in framebuffer_texture()
This commit is contained in:
@@ -1914,7 +1914,10 @@ reuse_framebuffer_texture_attachment(struct gl_framebuffer *fb,
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Common code called by glFramebufferTexture1D/2D/3DEXT().
|
* Common code called by glFramebufferTexture1D/2D/3DEXT() and
|
||||||
|
* glFramebufferTextureLayerEXT().
|
||||||
|
* Note: glFramebufferTextureLayerEXT() has no textarget parameter so we'll
|
||||||
|
* get textarget=0 in that case.
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
framebuffer_texture(struct gl_context *ctx, const char *caller, GLenum target,
|
framebuffer_texture(struct gl_context *ctx, const char *caller, GLenum target,
|
||||||
@@ -1950,12 +1953,17 @@ framebuffer_texture(struct gl_context *ctx, const char *caller, GLenum target,
|
|||||||
texObj = _mesa_lookup_texture(ctx, texture);
|
texObj = _mesa_lookup_texture(ctx, texture);
|
||||||
if (texObj != NULL) {
|
if (texObj != NULL) {
|
||||||
if (textarget == 0) {
|
if (textarget == 0) {
|
||||||
/* XXX what's the purpose of this? */
|
/* If textarget == 0 it means we're being called by
|
||||||
|
* glFramebufferTextureLayer() and textarget is not used.
|
||||||
|
* The only legal texture types for that function are 3D and
|
||||||
|
* 1D/2D arrays textures.
|
||||||
|
*/
|
||||||
err = (texObj->Target != GL_TEXTURE_3D) &&
|
err = (texObj->Target != GL_TEXTURE_3D) &&
|
||||||
(texObj->Target != GL_TEXTURE_1D_ARRAY_EXT) &&
|
(texObj->Target != GL_TEXTURE_1D_ARRAY_EXT) &&
|
||||||
(texObj->Target != GL_TEXTURE_2D_ARRAY_EXT);
|
(texObj->Target != GL_TEXTURE_2D_ARRAY_EXT);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
/* Make sure textarget is consistent with the texture's type */
|
||||||
err = (texObj->Target == GL_TEXTURE_CUBE_MAP)
|
err = (texObj->Target == GL_TEXTURE_CUBE_MAP)
|
||||||
? !_mesa_is_cube_face(textarget)
|
? !_mesa_is_cube_face(textarget)
|
||||||
: (texObj->Target != textarget);
|
: (texObj->Target != textarget);
|
||||||
|
Reference in New Issue
Block a user