Lines Matching refs:target
180 * Install gl_texture_image in a gl_texture_object according to the target
184 * \param target texture target.
190 GLenum target, GLint level,
193 const GLuint face = _mesa_tex_target_to_face(target);
197 if (target == GL_TEXTURE_RECTANGLE_NV || target == GL_TEXTURE_EXTERNAL_OES)
230 * Test if a target is a proxy target.
232 * \param target texture target.
234 * \return GL_TRUE if the target is a proxy target, GL_FALSE otherwise.
237 _mesa_is_proxy_texture(GLenum target)
259 if (target == targets[i])
266 * Test if a target is an array target.
268 * \param target texture target.
270 * \return true if the target is an array target, false otherwise.
273 _mesa_is_array_texture(GLenum target)
275 switch (target) {
287 * Test if a target is a cube map.
289 * \param target texture target.
291 * \return true if the target is a cube map, false otherwise.
294 _mesa_is_cube_map_texture(GLenum target)
296 switch(target) {
306 * Return the proxy target which corresponds to the given texture target
309 proxy_target(GLenum target)
311 switch (target) {
349 _mesa_problem(NULL, "unexpected target in proxy_target()");
359 * target and mipmap level. The target and level parameters should
363 * \param target texture target.
370 GLenum target, GLint level)
372 const GLuint face = _mesa_tex_target_to_face(target);
389 GLenum target, GLint level)
396 texImage = _mesa_select_tex_image(texObj, target, level);
404 set_tex_image(texObj, target, level, texImage);
414 * \return pointer to texture image or NULL if invalid target, invalid
418 get_proxy_tex_image(struct gl_context *ctx, GLenum target, GLint level)
426 switch (target) {
482 * \param target texture target.
485 * texture target, or zero if passed a bad target.
490 _mesa_max_texture_levels(const struct gl_context *ctx, GLenum target)
492 switch (target) {
537 return 0; /* bad target */
543 * Return number of dimensions per mipmap level for the given texture target.
546 _mesa_get_texture_dimensions(GLenum target)
548 switch (target) {
582 _mesa_problem(NULL, "invalid target 0x%x in get_texture_dimensions()",
583 target);
590 * Check if a texture target can have more than one layer.
593 _mesa_tex_target_is_layered(GLenum target)
595 switch (target) {
629 assert(!"Invalid texture target.");
670 assert(!"Invalid texture target.");
677 * Return the maximum number of mipmap levels for the given target
682 _mesa_get_tex_max_num_levels(GLenum target, GLsizei width, GLsizei height,
687 switch (target) {
833 GLenum target;
839 target = img->TexObject->Target;
851 switch(target) {
918 _mesa_problem(NULL, "invalid target 0x%x in _mesa_init_teximage_fields()",
919 target);
923 _mesa_get_tex_max_num_levels(target,
965 * The target and level parameters will have already been validated.
969 _mesa_legal_texture_dimensions(struct gl_context *ctx, GLenum target,
975 switch (target) {
1112 _mesa_problem(ctx, "Invalid target in _mesa_legal_texture_dimensions()");
1157 const GLenum target = destImage->TexObject->Target;
1174 GLint yBorder = (target == GL_TEXTURE_1D_ARRAY) ? 0 : destImage->Border;
1189 GLint zBorder = (target == GL_TEXTURE_2D_ARRAY ||
1190 target == GL_TEXTURE_CUBE_MAP_ARRAY) ?
1199 if (target == GL_TEXTURE_CUBE_MAP)
1270 * \param target any texture target/type
1281 _mesa_test_proxy_teximage(struct gl_context *ctx, GLenum target,
1303 if (_mesa_next_mipmap_level_size(target, 0, width, height, depth,
1320 bytes *= _mesa_num_tex_faces(target);
1381 * Helper function to determine whether a target and specific compression
1383 * target can be compressed. Otherwise it returns either GL_INVALID_OPERATION
1387 _mesa_target_can_be_compressed(const struct gl_context *ctx, GLenum target,
1394 switch (target) {
1434 * The instances of <internalformat> above should say <target>.
1445 * target is not TEXTURE_2D_ARRAY."
1453 * if internalformat is one of the the formats in table 8.17 and target is
1462 * The instances of <internalformat> above should say <target>.
1487 /* Throw an INVALID_OPERATION error if the target is TEXTURE_3D and
1507 * Check if the given texture target value is legal for a
1511 legal_teximage_target(struct gl_context *ctx, GLuint dims, GLenum target)
1515 switch (target) {
1523 switch (target) {
1548 switch (target) {
1572 * Check if the given texture target value is legal for a
1578 legal_texsubimage_target(struct gl_context *ctx, GLuint dims, GLenum target,
1583 return _mesa_is_desktop_gl(ctx) && target == GL_TEXTURE_1D;
1585 switch (target) {
1604 switch (target) {
1668 * Verify that a texture format is valid with a particular target
1675 * \param target Texture target
1682 GLenum target, GLenum internalFormat)
1692 * commands only if target is TEXTURE_1D, TEXTURE_2D,
1697 * formats in conjunction with any other target will result in an
1703 if (target != GL_TEXTURE_1D &&
1704 target != GL_PROXY_TEXTURE_1D &&
1705 target != GL_TEXTURE_2D &&
1706 target != GL_PROXY_TEXTURE_2D &&
1707 target != GL_TEXTURE_1D_ARRAY &&
1708 target != GL_PROXY_TEXTURE_1D_ARRAY &&
1709 target != GL_TEXTURE_2D_ARRAY &&
1710 target != GL_PROXY_TEXTURE_2D_ARRAY &&
1711 target != GL_TEXTURE_RECTANGLE_ARB &&
1712 target != GL_PROXY_TEXTURE_RECTANGLE_ARB &&
1713 !((_mesa_is_cube_face(target) ||
1714 target == GL_TEXTURE_CUBE_MAP ||
1715 target == GL_PROXY_TEXTURE_CUBE_MAP) &&
1718 !((target == GL_TEXTURE_CUBE_MAP_ARRAY ||
1719 target == GL_PROXY_TEXTURE_CUBE_MAP_ARRAY) &&
1802 * \param target texture target given by the user (already validated).
1824 GLuint dimensions, GLenum target,
1842 if (level < 0 || level >= _mesa_max_texture_levels(ctx, target)) {
1851 target == GL_TEXTURE_RECTANGLE_NV ||
1852 target == GL_PROXY_TEXTURE_RECTANGLE_NV) && border != 0)) {
1932 if (target != GL_TEXTURE_2D &&
1933 target != GL_PROXY_TEXTURE_2D &&
1934 target != GL_TEXTURE_RECTANGLE_NV &&
1935 target != GL_PROXY_TEXTURE_RECTANGLE_NV) {
1937 "glTexImage%dD(bad target for YCbCr texture)",
1952 if (!_mesa_legal_texture_base_format_for_target(ctx, target, internalFormat)) {
1954 "glTexImage%dD(bad target for texture)", dimensions);
1961 if (!_mesa_target_can_be_compressed(ctx, target, internalFormat, &err)) {
1963 "glTexImage%dD(target can't be compressed)", dimensions);
2007 GLenum target, struct gl_texture_object* texObj,
2012 const GLint maxLevels = _mesa_max_texture_levels(ctx, target);
2017 if (!_mesa_target_can_be_compressed(ctx, target, internalFormat, &error)) {
2018 reason = "target";
2146 * \param target texture target given by the user (already validated)
2166 GLenum target, GLint level,
2182 if (level < 0 || level >= _mesa_max_texture_levels(ctx, target)) {
2193 texImage = _mesa_select_tex_image(texObj, target, level);
2274 * \param target texture target given by the user.
2289 GLenum target, struct gl_texture_object* texObj,
2298 if (level < 0 || level >= _mesa_max_texture_levels(ctx, target)) {
2325 target == GL_TEXTURE_RECTANGLE_NV ||
2326 target == GL_PROXY_TEXTURE_RECTANGLE_NV) && border != 0)) {
2528 if (!_mesa_target_can_be_compressed(ctx, target, internalFormat, &err)) {
2530 "glCopyTexImage%dD(target can't be compressed)", dimensions);
2563 GLenum target, GLint level,
2590 if (level < 0 || level >= _mesa_max_texture_levels(ctx, target)) {
2595 texImage = _mesa_select_tex_image(texObj, target, level);
2757 check_gen_mipmap(struct gl_context *ctx, GLenum target,
2763 st_generate_mipmap(ctx, target, texObj);
2824 GLenum target, GLint level,
2832 _mesa_select_tex_image(texObj, target, level - 1);
2845 f = st_ChooseTextureFormat(ctx, target, internalFormat,
2862 strip_texture_border(GLenum target,
2884 if (*height >= 3 && target != GL_TEXTURE_1D_ARRAY) {
2890 target != GL_TEXTURE_2D_ARRAY &&
2891 target != GL_TEXTURE_CUBE_MAP_ARRAY) {
2898 lookup_texture_ext_dsa(struct gl_context *ctx, GLenum target, GLuint texture,
2902 switch (target) {
2912 boundTarget = target;
2918 _mesa_error(ctx, GL_INVALID_ENUM, "%s(target = %s)", caller,
2919 _mesa_enum_to_string(target));
2952 _mesa_enum_to_string(target));
2971 GLenum target, GLint level, GLint internalFormat,
2989 _mesa_enum_to_string(target), level,
2996 _mesa_enum_to_string(target), level,
3006 /* target error checking */
3007 !legal_teximage_target(ctx, dims, target)) {
3008 _mesa_error(ctx, GL_INVALID_ENUM, "%s%uD(target=%s)",
3009 func, dims, _mesa_enum_to_string(target));
3014 texObj = _mesa_get_current_tex_object(ctx, target);
3019 if (compressed_texture_error_check(ctx, dims, target, texObj,
3025 if (texture_error_check(ctx, dims, target, texObj, level, internalFormat,
3049 _mesa_cpal_compressed_teximage2d(target, level, internalFormat,
3076 texFormat = _mesa_choose_texture_format(ctx, texObj, target, level,
3084 dimensionsOK = _mesa_legal_texture_dimensions(ctx, target, level, width,
3088 sizeOK = st_TestProxyTexImage(ctx, proxy_target(target),
3093 if (_mesa_is_proxy_texture(target)) {
3096 get_proxy_tex_image(ctx, target, level);
3110 /* non-proxy target */
3111 const GLuint face = _mesa_tex_target_to_face(target);
3134 strip_texture_border(target, &width, &height, &depth, unpack,
3146 texImage = _mesa_get_tex_image(ctx, texObj, target, level);
3170 check_gen_mipmap(ctx, target, texObj, level);
3187 GLenum target, GLint level, GLint internalFormat,
3192 teximage(ctx, compressed, dims, NULL, target, level, internalFormat, width, height,
3199 GLenum target, GLint level, GLint internalFormat,
3204 teximage(ctx, compressed, dims, NULL, target, level, internalFormat, width, height,
3213 _mesa_TexImage1D( GLenum target, GLint level, GLint internalFormat,
3218 teximage_err(ctx, GL_FALSE, 1, target, level, internalFormat, width, 1, 1,
3223 _mesa_TextureImage1DEXT(GLuint texture, GLenum target, GLint level,
3230 texObj = _mesa_lookup_or_create_texture(ctx, target, texture, false, true,
3234 teximage(ctx, GL_FALSE, 1, texObj, target, level, internalFormat,
3239 _mesa_MultiTexImage1DEXT(GLenum texunit, GLenum target, GLint level,
3246 texObj = _mesa_get_texobj_by_target_and_texunit(ctx, target,
3252 teximage(ctx, GL_FALSE, 1, texObj, target, level, internalFormat, width, 1, 1,
3257 _mesa_TexImage2D( GLenum target, GLint level, GLint internalFormat,
3263 teximage_err(ctx, GL_FALSE, 2, target, level, internalFormat, width, height, 1,
3268 _mesa_TextureImage2DEXT(GLuint texture, GLenum target, GLint level,
3276 texObj = _mesa_lookup_or_create_texture(ctx, target, texture, false, true,
3280 teximage(ctx, GL_FALSE, 2, texObj, target, level, internalFormat,
3285 _mesa_MultiTexImage2DEXT(GLenum texunit, GLenum target, GLint level,
3293 texObj = _mesa_get_texobj_by_target_and_texunit(ctx, target,
3299 teximage(ctx, GL_FALSE, 2, texObj, target, level, internalFormat, width, height, 1,
3308 _mesa_TexImage3D( GLenum target, GLint level, GLint internalFormat,
3314 teximage_err(ctx, GL_FALSE, 3, target, level, internalFormat,
3319 _mesa_TextureImage3DEXT(GLuint texture, GLenum target, GLint level,
3327 texObj = _mesa_lookup_or_create_texture(ctx, target, texture, false, true,
3331 teximage(ctx, GL_FALSE, 3, texObj, target, level, internalFormat,
3337 _mesa_MultiTexImage3DEXT(GLenum texunit, GLenum target, GLint level,
3345 texObj = _mesa_get_texobj_by_target_and_texunit(ctx, target,
3351 teximage(ctx, GL_FALSE, 3, texObj, target, level, internalFormat,
3357 _mesa_TexImage1D_no_error(GLenum target, GLint level, GLint internalFormat,
3362 teximage_no_error(ctx, GL_FALSE, 1, target, level, internalFormat, width, 1,
3368 _mesa_TexImage2D_no_error(GLenum target, GLint level, GLint internalFormat,
3373 teximage_no_error(ctx, GL_FALSE, 2, target, level, internalFormat, width,
3379 _mesa_TexImage3D_no_error(GLenum target, GLint level, GLint internalFormat,
3385 teximage_no_error(ctx, GL_FALSE, 3, target, level, internalFormat,
3395 struct gl_texture_object *texObj, GLenum target,
3403 switch (target) {
3417 _mesa_error(ctx, tex_storage ? GL_INVALID_OPERATION : GL_INVALID_ENUM, "%s(target=%d)", caller, target);
3422 texObj = _mesa_get_current_tex_object(ctx, target);
3440 texImage = _mesa_get_tex_image(ctx, texObj, target, 0);
3449 st_egl_image_target_tex_storage(ctx, target, texObj, texImage,
3452 st_egl_image_target_texture_2d(ctx, target, texObj, texImage,
3460 _mesa_set_texture_view_state(ctx, texObj, target, 1);
3468 _mesa_EGLImageTargetTexture2DOES(GLenum target, GLeglImageOES image)
3473 egl_image_target_texture(ctx, NULL, target, image, false, func);
3478 struct gl_texture_object *texObj, GLenum target,
3492 egl_image_target_texture(ctx, texObj, target, image, true, caller);
3497 _mesa_EGLImageTargetTexStorageEXT(GLenum target, GLeglImageOES image,
3503 egl_image_target_texture_storage(ctx, NULL, target, image, attrib_list,
3538 GLenum target, GLint level,
3553 if (target != GL_TEXTURE_2D_ARRAY)
3557 if (target != GL_TEXTURE_1D_ARRAY)
3569 check_gen_mipmap(ctx, target, texObj, level);
3584 texsubimage_err(struct gl_context *ctx, GLuint dims, GLenum target, GLint level,
3593 /* check target (proxies not allowed) */
3594 if (!legal_texsubimage_target(ctx, dims, target, false)) {
3595 _mesa_error(ctx, GL_INVALID_ENUM, "glTexSubImage%uD(target=%s)",
3596 dims, _mesa_enum_to_string(target));
3600 texObj = _mesa_get_current_tex_object(ctx, target);
3604 if (texsubimage_error_check(ctx, dims, texObj, target, level,
3611 texImage = _mesa_select_tex_image(texObj, target, level);
3617 _mesa_enum_to_string(target), level,
3622 texture_sub_image(ctx, dims, texObj, texImage, target, level,
3629 texsubimage(struct gl_context *ctx, GLuint dims, GLenum target, GLint level,
3637 texObj = _mesa_get_current_tex_object(ctx, target);
3638 texImage = _mesa_select_tex_image(texObj, target, level);
3640 texture_sub_image(ctx, dims, texObj, texImage, target, level,
3652 GLuint texture, GLenum target, GLint level,
3675 texObj = lookup_texture_ext_dsa(ctx, target, texture, callerName);
3684 /* check target (proxies not allowed) */
3686 _mesa_error(ctx, GL_INVALID_OPERATION, "%s(target=%s)",
3767 GLuint texture, GLenum target, GLint level,
3773 texturesubimage(ctx, dims, texture, target, level, xoffset, yoffset,
3781 GLuint texture, GLenum target, GLint level,
3787 texturesubimage(ctx, dims, texture, target, level, xoffset, yoffset,
3794 _mesa_TexSubImage1D_no_error(GLenum target, GLint level,
3800 texsubimage(ctx, 1, target, level,
3808 _mesa_TexSubImage1D( GLenum target, GLint level,
3814 texsubimage_err(ctx, 1, target, level,
3822 _mesa_TexSubImage2D_no_error(GLenum target, GLint level,
3829 texsubimage(ctx, 2, target, level,
3837 _mesa_TexSubImage2D( GLenum target, GLint level,
3844 texsubimage_err(ctx, 2, target, level,
3852 _mesa_TexSubImage3D_no_error(GLenum target, GLint level,
3859 texsubimage(ctx, 3, target, level,
3867 _mesa_TexSubImage3D( GLenum target, GLint level,
3874 texsubimage_err(ctx, 3, target, level,
3894 _mesa_TextureSubImage1DEXT(GLuint texture, GLenum target, GLint level,
3900 texturesubimage_error(ctx, 1, texture, target, level, xoffset, 0, 0, width, 1,
3907 _mesa_MultiTexSubImage1DEXT(GLenum texunit, GLenum target, GLint level,
3916 texObj = _mesa_get_texobj_by_target_and_texunit(ctx, target,
3920 texImage = _mesa_select_tex_image(texObj, target, level);
3922 texture_sub_image(ctx, 1, texObj, texImage, target, level,
3955 _mesa_TextureSubImage2DEXT(GLuint texture, GLenum target, GLint level,
3961 texturesubimage_error(ctx, 2, texture, target, level, xoffset, yoffset, 0,
3968 _mesa_MultiTexSubImage2DEXT(GLenum texunit, GLenum target, GLint level,
3977 texObj = _mesa_get_texobj_by_target_and_texunit(ctx, target,
3981 texImage = _mesa_select_tex_image(texObj, target, level);
3983 texture_sub_image(ctx, 2, texObj, texImage, target, level,
4017 _mesa_TextureSubImage3DEXT(GLuint texture, GLenum target, GLint level,
4023 texturesubimage_error(ctx, 3, texture, target, level, xoffset, yoffset,
4030 _mesa_MultiTexSubImage3DEXT(GLenum texunit, GLenum target, GLint level,
4039 texObj = _mesa_get_texobj_by_target_and_texunit(ctx, target,
4043 texImage = _mesa_select_tex_image(texObj, target, level);
4045 texture_sub_image(ctx, 3, texObj, texImage, target, level,
4169 GLenum target, GLint level,
4177 texImage = _mesa_select_tex_image(texObj, target, level);
4182 if (target != GL_TEXTURE_2D_ARRAY)
4186 if (target != GL_TEXTURE_1D_ARRAY)
4202 check_gen_mipmap(ctx, target, texObj, level);
4216 GLenum target, GLint level,
4225 _mesa_enum_to_string(target),
4233 if (copytexsubimage_error_check(ctx, dims, texObj, target, level,
4239 copy_texture_sub_image(ctx, dims, texObj, target, level, xoffset, yoffset,
4247 GLenum target, GLint level,
4258 copy_texture_sub_image(ctx, dims, texObj, target, level, xoffset, yoffset,
4268 GLenum target, GLint level, GLenum internalFormat,
4280 _mesa_enum_to_string(target), level,
4289 /* check target */
4290 if (!no_error && !legal_texsubimage_target(ctx, dims, target, false)) {
4291 _mesa_error(ctx, GL_INVALID_ENUM, "glCopyTexImage%uD(target=%s)",
4292 dims, _mesa_enum_to_string(target));
4297 texObj = _mesa_get_current_tex_object(ctx, target);
4300 if (copytexture_error_check(ctx, dims, target, texObj, level,
4304 if (!_mesa_legal_texture_dimensions(ctx, target, level, width, height,
4315 texFormat = _mesa_choose_texture_format(ctx, texObj, target, level,
4323 texImage = _mesa_select_tex_image(texObj, target, level);
4328 copy_texture_sub_image_no_error(ctx, dims, texObj, target, level, 0,
4331 copy_texture_sub_image_err(ctx, dims, texObj, target, level, 0, 0,
4377 if (!st_TestProxyTexImage(ctx, proxy_target(target),
4398 texImage = _mesa_get_tex_image(ctx, texObj, target, level);
4405 const GLuint face = _mesa_tex_target_to_face(target);
4428 check_gen_mipmap(ctx, target, texObj, level);
4442 GLenum target,
4446 copyteximage(ctx, dims, NULL, target, level, internalFormat, x, y, width, height,
4452 copyteximage_no_error(struct gl_context *ctx, GLuint dims, GLenum target,
4456 copyteximage(ctx, dims, NULL, target, level, internalFormat, x, y, width, height,
4462 _mesa_CopyTexImage1D( GLenum target, GLint level,
4468 copyteximage_err(ctx, 1, target, level, internalFormat, x, y, width, 1,
4474 _mesa_CopyTextureImage1DEXT( GLuint texture, GLenum target, GLint level,
4481 _mesa_lookup_or_create_texture(ctx, target, texture, false, true,
4485 copyteximage(ctx, 1, texObj, target, level, internalFormat, x, y, width, 1,
4491 _mesa_CopyMultiTexImage1DEXT( GLenum texunit, GLenum target, GLint level,
4498 _mesa_get_texobj_by_target_and_texunit(ctx, target,
4504 copyteximage(ctx, 1, texObj, target, level, internalFormat, x, y, width, 1,
4510 _mesa_CopyTexImage2D( GLenum target, GLint level, GLenum internalFormat,
4515 copyteximage_err(ctx, 2, target, level, internalFormat,
4521 _mesa_CopyTextureImage2DEXT( GLuint texture, GLenum target, GLint level,
4529 _mesa_lookup_or_create_texture(ctx, target, texture, false, true,
4533 copyteximage(ctx, 2, texObj, target, level, internalFormat, x, y, width, height,
4539 _mesa_CopyMultiTexImage2DEXT( GLenum texunit, GLenum target, GLint level,
4546 _mesa_get_texobj_by_target_and_texunit(ctx, target,
4552 copyteximage(ctx, 2, texObj, target, level, internalFormat, x, y, width, height,
4558 _mesa_CopyTexImage1D_no_error(GLenum target, GLint level, GLenum internalFormat,
4562 copyteximage_no_error(ctx, 1, target, level, internalFormat, x, y, width, 1,
4568 _mesa_CopyTexImage2D_no_error(GLenum target, GLint level, GLenum internalFormat,
4573 copyteximage_no_error(ctx, 2, target, level, internalFormat,
4579 _mesa_CopyTexSubImage1D(GLenum target, GLint level,
4586 /* Check target (proxies not allowed). Target must be checked prior to
4589 if (!legal_texsubimage_target(ctx, 1, target, false)) {
4590 _mesa_error(ctx, GL_INVALID_ENUM, "%s(invalid target %s)", self,
4591 _mesa_enum_to_string(target));
4595 texObj = _mesa_get_current_tex_object(ctx, target);
4599 copy_texture_sub_image_err(ctx, 1, texObj, target, level, xoffset, 0, 0,
4605 _mesa_CopyTexSubImage2D(GLenum target, GLint level,
4613 /* Check target (proxies not allowed). Target must be checked prior to
4616 if (!legal_texsubimage_target(ctx, 2, target, false)) {
4617 _mesa_error(ctx, GL_INVALID_ENUM, "%s(invalid target %s)", self,
4618 _mesa_enum_to_string(target));
4622 texObj = _mesa_get_current_tex_object(ctx, target);
4626 copy_texture_sub_image_err(ctx, 2, texObj, target, level, xoffset, yoffset,
4632 _mesa_CopyTexSubImage3D(GLenum target, GLint level,
4640 /* Check target (proxies not allowed). Target must be checked prior to
4643 if (!legal_texsubimage_target(ctx, 3, target, false)) {
4644 _mesa_error(ctx, GL_INVALID_ENUM, "%s(invalid target %s)", self,
4645 _mesa_enum_to_string(target));
4649 texObj = _mesa_get_current_tex_object(ctx, target);
4653 copy_texture_sub_image_err(ctx, 3, texObj, target, level, xoffset, yoffset,
4670 /* Check target (proxies not allowed). */
4672 _mesa_error(ctx, GL_INVALID_OPERATION, "%s(invalid target %s)", self,
4683 _mesa_CopyTextureSubImage1DEXT(GLuint texture, GLenum target, GLint level,
4690 texObj = _mesa_lookup_or_create_texture(ctx, target, texture, false, true,
4695 /* Check target (proxies not allowed). */
4697 _mesa_error(ctx, GL_INVALID_OPERATION, "%s(invalid target %s)", self,
4708 _mesa_CopyMultiTexSubImage1DEXT(GLenum texunit, GLenum target, GLint level,
4715 texObj = _mesa_get_texobj_by_target_and_texunit(ctx, target,
4739 /* Check target (proxies not allowed). */
4741 _mesa_error(ctx, GL_INVALID_OPERATION, "%s(invalid target %s)", self,
4752 _mesa_CopyTextureSubImage2DEXT(GLuint texture, GLenum target, GLint level,
4760 texObj = _mesa_lookup_or_create_texture(ctx, target, texture, false, true, self);
4764 /* Check target (proxies not allowed). */
4766 _mesa_error(ctx, GL_INVALID_OPERATION, "%s(invalid target %s)", self,
4777 _mesa_CopyMultiTexSubImage2DEXT(GLenum texunit, GLenum target, GLint level,
4785 texObj = _mesa_get_texobj_by_target_and_texunit(ctx, target,
4808 /* Check target (proxies not allowed). */
4810 _mesa_error(ctx, GL_INVALID_OPERATION, "%s(invalid target %s)", self,
4829 _mesa_CopyTextureSubImage3DEXT(GLuint texture, GLenum target, GLint level,
4837 texObj = _mesa_lookup_or_create_texture(ctx, target, texture, false, true, self);
4841 /* Check target (proxies not allowed). */
4843 _mesa_error(ctx, GL_INVALID_OPERATION, "%s(invalid target %s)", self,
4862 _mesa_CopyMultiTexSubImage3DEXT(GLenum texunit, GLenum target, GLint level,
4870 texObj = _mesa_get_texobj_by_target_and_texunit(ctx, target,
4890 _mesa_CopyTexSubImage1D_no_error(GLenum target, GLint level, GLint xoffset,
4895 struct gl_texture_object* texObj = _mesa_get_current_tex_object(ctx, target);
4896 copy_texture_sub_image_no_error(ctx, 1, texObj, target, level, xoffset, 0, 0,
4902 _mesa_CopyTexSubImage2D_no_error(GLenum target, GLint level, GLint xoffset,
4908 struct gl_texture_object* texObj = _mesa_get_current_tex_object(ctx, target);
4909 copy_texture_sub_image_no_error(ctx, 2, texObj, target, level, xoffset,
4915 _mesa_CopyTexSubImage3D_no_error(GLenum target, GLint level, GLint xoffset,
4921 struct gl_texture_object* texObj = _mesa_get_current_tex_object(ctx, target);
4922 copy_texture_sub_image_no_error(ctx, 3, texObj, target, level, xoffset,
5083 GLenum target;
5092 target = GL_TEXTURE_CUBE_MAP_POSITIVE_X;
5096 target = texObj->Target;
5101 texImages[i] = _mesa_select_tex_image(texObj, target + i, level);
5247 compressed_subtexture_target_check(struct gl_context *ctx, GLenum target,
5255 if (dsa && target == GL_TEXTURE_RECTANGLE) {
5256 _mesa_error(ctx, GL_INVALID_OPERATION, "%s(invalid target %s)", caller,
5257 _mesa_enum_to_string(target));
5263 switch (target) {
5281 switch (target) {
5300 * non-zero, or the effective target for the texture is not
5304 * "... or the effective target for the texture is not
5323 * <format> is one of the formats in table 8.19 and <target> is not
5349 "%s(invalid target %s for format %s)", caller,
5350 _mesa_enum_to_string(target),
5368 _mesa_error(ctx, GL_INVALID_ENUM, "%s(invalid target %s)", caller,
5369 _mesa_enum_to_string(target));
5383 GLenum target, GLint level,
5415 if (level < 0 || level >= _mesa_max_texture_levels(ctx, target)) {
5438 texImage = _mesa_select_tex_image(texObj, target, level);
5473 _mesa_CompressedTexImage1D(GLenum target, GLint level,
5479 teximage_err(ctx, GL_TRUE, 1, target, level, internalFormat,
5485 _mesa_CompressedTextureImage1DEXT(GLuint texture, GLenum target, GLint level,
5493 texObj = _mesa_lookup_or_create_texture(ctx, target, texture, false, true,
5497 teximage(ctx, GL_TRUE, 1, texObj, target, level, internalFormat,
5503 _mesa_CompressedMultiTexImage1DEXT(GLenum texunit, GLenum target, GLint level,
5511 texObj = _mesa_get_texobj_by_target_and_texunit(ctx, target,
5517 teximage(ctx, GL_TRUE, 1, texObj, target, level, internalFormat,
5523 _mesa_CompressedTexImage2D(GLenum target, GLint level,
5529 teximage_err(ctx, GL_TRUE, 2, target, level, internalFormat,
5535 _mesa_CompressedTextureImage2DEXT(GLuint texture, GLenum target, GLint level,
5543 texObj = _mesa_lookup_or_create_texture(ctx, target, texture, false, true,
5547 teximage(ctx, GL_TRUE, 2, texObj, target, level, internalFormat,
5553 _mesa_CompressedMultiTexImage2DEXT(GLenum texunit, GLenum target, GLint level,
5561 texObj = _mesa_get_texobj_by_target_and_texunit(ctx, target,
5567 teximage(ctx, GL_TRUE, 2, texObj, target, level, internalFormat,
5573 _mesa_CompressedTexImage3D(GLenum target, GLint level,
5579 teximage_err(ctx, GL_TRUE, 3, target, level, internalFormat, width, height,
5585 _mesa_CompressedTextureImage3DEXT(GLuint texture, GLenum target, GLint level,
5593 texObj = _mesa_lookup_or_create_texture(ctx, target, texture, false, true,
5597 teximage(ctx, GL_TRUE, 3, texObj, target, level, internalFormat,
5603 _mesa_CompressedMultiTexImage3DEXT(GLenum texunit, GLenum target, GLint level,
5611 texObj = _mesa_get_texobj_by_target_and_texunit(ctx, target,
5617 teximage(ctx, GL_TRUE, 3, texObj, target, level, internalFormat,
5623 _mesa_CompressedTexImage1D_no_error(GLenum target, GLint level,
5629 teximage_no_error(ctx, GL_TRUE, 1, target, level, internalFormat, width, 1,
5635 _mesa_CompressedTexImage2D_no_error(GLenum target, GLint level,
5641 teximage_no_error(ctx, GL_TRUE, 2, target, level, internalFormat, width,
5647 _mesa_CompressedTexImage3D_no_error(GLenum target, GLint level,
5653 teximage_no_error(ctx, GL_TRUE, 3, target, level, internalFormat, width,
5666 GLenum target, GLint level, GLint xoffset,
5681 check_gen_mipmap(ctx, target, texObj, level);
5699 /* Use the specified texture name + target */
5701 /* Use the specified texture unit + target */
5707 compressed_tex_sub_image(unsigned dim, GLenum target, GLuint textureOrIndex,
5721 assert(target == 0);
5724 target = texObj->Target;
5727 assert(target == 0);
5730 target = texObj->Target;
5734 texObj = _mesa_lookup_or_create_texture(ctx, target, textureOrIndex,
5738 texObj = _mesa_get_texobj_by_target_and_texunit(ctx, target,
5753 compressed_subtexture_target_check(ctx, target, dim, format,
5761 texObj = _mesa_get_current_tex_object(ctx, target);
5768 compressed_subtexture_error_check(ctx, dim, texObj, target, level,
5811 texImage = _mesa_select_tex_image(texObj, target, level);
5814 compressed_texture_sub_image(ctx, dim, texObj, texImage, target, level,
5822 _mesa_CompressedTexSubImage1D_no_error(GLenum target, GLint level,
5827 compressed_tex_sub_image(1, target, 0,
5836 _mesa_CompressedTexSubImage1D(GLenum target, GLint level, GLint xoffset,
5840 compressed_tex_sub_image(1, target, 0,
5876 _mesa_CompressedTextureSubImage1DEXT(GLuint texture, GLenum target,
5881 compressed_tex_sub_image(1, target, texture, level, xoffset, 0,
5890 _mesa_CompressedMultiTexSubImage1DEXT(GLenum texunit, GLenum target,
5895 compressed_tex_sub_image(1, target, texunit - GL_TEXTURE0, level,
5904 _mesa_CompressedTexSubImage2D_no_error(GLenum target, GLint level,
5910 compressed_tex_sub_image(2, target, 0, level,
5919 _mesa_CompressedTexSubImage2D(GLenum target, GLint level, GLint xoffset,
5924 compressed_tex_sub_image(2, target, 0, level,
5933 _mesa_CompressedTextureSubImage2DEXT(GLuint texture, GLenum target,
5939 compressed_tex_sub_image(2, target, texture, level, xoffset,
5948 _mesa_CompressedMultiTexSubImage2DEXT(GLenum texunit, GLenum target,
5953 compressed_tex_sub_image(2, target, texunit - GL_TEXTURE0, level,
5989 _mesa_CompressedTexSubImage3D_no_error(GLenum target, GLint level,
5996 compressed_tex_sub_image(3, target, 0, level, xoffset, yoffset,
6004 _mesa_CompressedTexSubImage3D(GLenum target, GLint level, GLint xoffset,
6009 compressed_tex_sub_image(3, target, 0, level, xoffset, yoffset,
6047 _mesa_CompressedTextureSubImage3DEXT(GLuint texture, GLenum target,
6054 compressed_tex_sub_image(3, target, texture, level, xoffset, yoffset,
6063 _mesa_CompressedMultiTexSubImage3DEXT(GLenum texunit, GLenum target,
6069 compressed_tex_sub_image(3, target, texunit - GL_TEXTURE0, level,
6377 * Make sure the texture buffer target is GL_TEXTURE_BUFFER.
6383 check_texture_buffer_target(struct gl_context *ctx, GLenum target,
6386 if (target != GL_TEXTURE_BUFFER_ARB) {
6388 "%s(texture target is not GL_TEXTURE_BUFFER)", caller);
6409 * than the value of BUFFER_SIZE for the buffer bound to target."
6447 _mesa_TexBuffer(GLenum target, GLenum internalFormat, GLuint buffer)
6454 /* Need to catch a bad target before it gets to
6457 if (!check_texture_buffer_target(ctx, target, "glTexBuffer", false))
6467 texObj = _mesa_get_current_tex_object(ctx, target);
6478 _mesa_TexBufferRange(GLenum target, GLenum internalFormat, GLuint buffer,
6486 /* Need to catch a bad target before it gets to
6489 if (!check_texture_buffer_target(ctx, target, "glTexBufferRange", false))
6514 texObj = _mesa_get_current_tex_object(ctx, target);
6525 _mesa_TextureBufferRangeEXT(GLuint texture, GLenum target, GLenum internalFormat,
6533 texObj = _mesa_lookup_or_create_texture(ctx, target, texture, false, true,
6538 if (!check_texture_buffer_target(ctx, target, "glTextureBufferRangeEXT", true))
6596 _mesa_TextureBufferEXT(GLuint texture, GLenum target,
6612 texObj = _mesa_lookup_or_create_texture(ctx, target, texture,
6625 _mesa_MultiTexBufferEXT(GLenum texunit, GLenum target,
6641 texObj = _mesa_get_texobj_by_target_and_texunit(ctx, target,
6716 check_multisample_target(GLuint dims, GLenum target, bool dsa)
6718 switch(target) {
6737 GLenum target, GLsizei samples,
6751 _mesa_debug(ctx, "%s(target=%s, samples=%d, internalformat=%s)\n", func,
6752 _mesa_enum_to_string(target), samples, _mesa_enum_to_string(internalformat));
6766 if (!check_multisample_target(dims, target, dsa)) {
6768 _mesa_error(ctx, err, "%s(target=%s)", func,
6769 _mesa_enum_to_string(target));
6798 sample_count_error = _mesa_check_sample_count(ctx, target,
6805 * TexImage2DMultisample is called with target specified as
6807 * with target specified as PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY.
6810 if (!samplesOK && !_mesa_is_proxy_texture(target)) {
6816 texObj = _mesa_get_current_tex_object(ctx, target);
6835 texFormat = _mesa_choose_texture_format(ctx, texObj, target, 0,
6839 dimensionsOK = _mesa_legal_texture_dimensions(ctx, target, 0,
6842 sizeOK = st_TestProxyTexImage(ctx, target, 0, 0, texFormat,
6845 if (_mesa_is_proxy_texture(target)) {
6875 _mesa_sparse_texture_error_check(ctx, dims, texObj, texFormat, target, 0,
6912 _mesa_set_texture_view_state(ctx, texObj, target, 1);
6921 _mesa_TexImage2DMultisample(GLenum target, GLsizei samples,
6927 texture_image_multisample(ctx, 2, NULL, NULL, target, samples,
6935 _mesa_TexImage3DMultisample(GLenum target, GLsizei samples,
6942 texture_image_multisample(ctx, 3, NULL, NULL, target, samples,
6964 _mesa_TexStorage2DMultisample(GLenum target, GLsizei samples,
6973 texture_image_multisample(ctx, 2, NULL, NULL, target, samples,
6980 _mesa_TexStorage3DMultisample(GLenum target, GLsizei samples,
6990 texture_image_multisample(ctx, 3, NULL, NULL, target, samples,
7044 _mesa_TextureStorage2DMultisampleEXT(GLuint texture, GLenum target, GLsizei samples,
7052 texObj = lookup_texture_ext_dsa(ctx, target, texture,
7067 _mesa_TextureStorage3DMultisampleEXT(GLuint texture, GLenum target, GLsizei samples,
7075 texObj = lookup_texture_ext_dsa(ctx, target, texture,
7093 GLenum target, GLsizei samples,
7101 texture_image_multisample(ctx, dims, texObj, memObj, target, samples,