diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/mesa/drivers/dri/intel/intel_tex_image.c | 22 | ||||
-rw-r--r-- | src/mesa/drivers/dri/nouveau/nouveau_texture.c | 21 | ||||
-rw-r--r-- | src/mesa/drivers/dri/radeon/radeon_texture.c | 34 | ||||
-rw-r--r-- | src/mesa/main/dd.h | 2 | ||||
-rw-r--r-- | src/mesa/main/teximage.c | 7 | ||||
-rw-r--r-- | src/mesa/main/texobj.c | 3 | ||||
-rw-r--r-- | src/mesa/main/texstore.c | 9 | ||||
-rw-r--r-- | src/mesa/main/texstore.h | 2 | ||||
-rw-r--r-- | src/mesa/state_tracker/st_cb_texture.c | 21 |
9 files changed, 33 insertions, 88 deletions
diff --git a/src/mesa/drivers/dri/intel/intel_tex_image.c b/src/mesa/drivers/dri/intel/intel_tex_image.c index a023fef5634..acb21fbc7e4 100644 --- a/src/mesa/drivers/dri/intel/intel_tex_image.c +++ b/src/mesa/drivers/dri/intel/intel_tex_image.c @@ -133,8 +133,7 @@ static bool try_pbo_upload(struct gl_context *ctx, struct gl_texture_image *image, const struct gl_pixelstore_attrib *unpack, - GLenum format, GLenum type, - GLint width, GLint height, const void *pixels) + GLenum format, GLenum type, const void *pixels) { struct intel_texture_image *intelImage = intel_texture_image(image); struct intel_context *intel = intel_context(ctx); @@ -162,7 +161,7 @@ try_pbo_upload(struct gl_context *ctx, } ctx->Driver.AllocTextureImageBuffer(ctx, image, image->TexFormat, - width, height, 1); + image->Width, image->Height, 1); if (!intelImage->mt) { DBG("%s: no miptree\n", __FUNCTION__); @@ -177,7 +176,7 @@ try_pbo_upload(struct gl_context *ctx, if (unpack->RowLength > 0) src_stride = unpack->RowLength; else - src_stride = width; + src_stride = image->Width; intel_miptree_get_image_offset(intelImage->mt, intelImage->base.Base.Level, intelImage->base.Base.Face, 0, @@ -191,7 +190,7 @@ try_pbo_upload(struct gl_context *ctx, src_offset, false, dst_stride, dst_buffer, 0, intelImage->mt->region->tiling, - 0, 0, dst_x, dst_y, width, height, + 0, 0, dst_x, dst_y, image->Width, image->Height, GL_COPY)) { DBG("%s: blit failed\n", __FUNCTION__); return false; @@ -205,28 +204,25 @@ static void intelTexImage(struct gl_context * ctx, GLuint dims, struct gl_texture_image *texImage, - GLint internalFormat, - GLint width, GLint height, GLint depth, GLint border, GLenum format, GLenum type, const void *pixels, const struct gl_pixelstore_attrib *unpack) { DBG("%s target %s level %d %dx%dx%d\n", __FUNCTION__, _mesa_lookup_enum_by_nr(texImage->TexObject->Target), - texImage->Level, width, height, depth); + texImage->Level, texImage->Width, texImage->Height, texImage->Depth); /* Attempt to use the blitter for PBO image uploads. */ if (dims <= 2 && - try_pbo_upload(ctx, texImage, unpack, format, type, - width, height, pixels)) { + try_pbo_upload(ctx, texImage, unpack, format, type, pixels)) { return; } DBG("%s: upload image %dx%dx%d pixels %p\n", - __FUNCTION__, width, height, depth, pixels); + __FUNCTION__, texImage->Width, texImage->Height, texImage->Depth, + pixels); - _mesa_store_teximage(ctx, dims, texImage, internalFormat, - width, height, depth, 0, + _mesa_store_teximage(ctx, dims, texImage, format, type, pixels, unpack); } diff --git a/src/mesa/drivers/dri/nouveau/nouveau_texture.c b/src/mesa/drivers/dri/nouveau/nouveau_texture.c index 0060f464307..18dc9f7e650 100644 --- a/src/mesa/drivers/dri/nouveau/nouveau_texture.c +++ b/src/mesa/drivers/dri/nouveau/nouveau_texture.c @@ -481,8 +481,6 @@ get_teximage_placement(struct gl_texture_image *ti) static void nouveau_teximage(struct gl_context *ctx, GLint dims, struct gl_texture_image *ti, - GLint internalFormat, - GLint width, GLint height, GLint depth, GLint border, GLsizei imageSize, GLenum format, GLenum type, const GLvoid *pixels, const struct gl_pixelstore_attrib *packing, @@ -493,10 +491,11 @@ nouveau_teximage(struct gl_context *ctx, GLint dims, struct nouveau_surface *s = &to_nouveau_teximage(ti)->surface; struct nouveau_teximage *nti = to_nouveau_teximage(ti); int ret; + GLuint depth = compressed ? 1 : ti->Depth; /* Allocate a new bo for the image. */ nouveau_surface_alloc(ctx, s, LINEAR, get_teximage_placement(ti), - ti->TexFormat, width, height); + ti->TexFormat, ti->Width, ti->Height); nti->base.RowStride = s->pitch / s->cpp; if (compressed) @@ -505,19 +504,19 @@ nouveau_teximage(struct gl_context *ctx, GLint dims, pixels, packing, "glCompressedTexImage"); else pixels = _mesa_validate_pbo_teximage(ctx, - dims, width, height, depth, format, type, + dims, ti->Width, ti->Height, depth, format, type, pixels, packing, "glTexImage"); if (pixels) { /* Store the pixel data. */ nouveau_teximage_map(ctx, ti, GL_MAP_WRITE_BIT, - 0, 0, width, height); + 0, 0, ti->Width, ti->Height); ret = _mesa_texstore(ctx, dims, ti->_BaseFormat, ti->TexFormat, s->pitch, &nti->base.Map, - width, height, depth, + ti->Width, ti->Height, depth, format, type, pixels, packing); assert(ret); @@ -525,7 +524,7 @@ nouveau_teximage(struct gl_context *ctx, GLint dims, _mesa_unmap_teximage_pbo(ctx, packing); if (!validate_teximage(ctx, t, level, 0, 0, 0, - width, height, depth)) + ti->Width, ti->Height, depth)) /* It doesn't fit, mark it as dirty. */ texture_dirty(t); } @@ -544,13 +543,10 @@ nouveau_teximage(struct gl_context *ctx, GLint dims, static void nouveau_teximage_123d(struct gl_context *ctx, GLuint dims, struct gl_texture_image *ti, - GLint internalFormat, - GLint width, GLint height, GLint depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels, const struct gl_pixelstore_attrib *packing) { - nouveau_teximage(ctx, dims, ti, internalFormat, - width, height, depth, border, 0, format, type, pixels, + nouveau_teximage(ctx, dims, ti, 0, format, type, pixels, packing, GL_FALSE); } @@ -561,8 +557,7 @@ nouveau_compressed_teximage(struct gl_context *ctx, GLuint dims, GLint width, GLint height, GLint depth, GLint border, GLsizei imageSize, const GLvoid *data) { - nouveau_teximage(ctx, 2, ti, internalFormat, - width, height, 1, border, imageSize, 0, 0, data, + nouveau_teximage(ctx, 2, ti, imageSize, 0, 0, data, &ctx->Unpack, GL_TRUE); } diff --git a/src/mesa/drivers/dri/radeon/radeon_texture.c b/src/mesa/drivers/dri/radeon/radeon_texture.c index 6c7171953bb..04f3e232b37 100644 --- a/src/mesa/drivers/dri/radeon/radeon_texture.c +++ b/src/mesa/drivers/dri/radeon/radeon_texture.c @@ -573,38 +573,6 @@ static void teximage_assign_miptree(radeonContextPtr rmesa, "%s Failed to allocate miptree.\n", __func__); } -/** - * All glTexImage calls go through this function. - */ -static void radeon_teximage( - struct gl_context *ctx, int dims, - struct gl_texture_image *texImage, - GLint internalFormat, - GLint width, GLint height, GLint depth, - GLsizei imageSize, - GLenum format, GLenum type, const GLvoid * pixels, - const struct gl_pixelstore_attrib *packing, - int compressed) -{ - _mesa_store_teximage(ctx, dims, texImage, internalFormat, - width, height, depth, 0, - format, type, pixels, - packing); -} - -static void -radeonTexImage(struct gl_context * ctx, GLuint dims, - struct gl_texture_image *texImage, - GLint internalFormat, - GLint width, GLint height, GLint depth, - GLint border, - GLenum format, GLenum type, const GLvoid * pixels, - const struct gl_pixelstore_attrib *packing) -{ - radeon_teximage(ctx, dims, texImage, internalFormat, width, height, depth, - 0, format, type, pixels, packing, 0); -} - unsigned radeonIsFormatRenderable(gl_format mesa_format) { if (mesa_format == _radeon_texformat_argb8888 || mesa_format == _radeon_texformat_rgb565 || @@ -725,8 +693,6 @@ radeon_init_common_texture_funcs(radeonContextPtr radeon, functions->ChooseTextureFormat = radeonChooseTextureFormat_mesa; - functions->TexImage = radeonTexImage; - functions->CopyTexSubImage = radeonCopyTexSubImage; functions->Bitmap = _mesa_meta_Bitmap; diff --git a/src/mesa/main/dd.h b/src/mesa/main/dd.h index e60d019bb0d..546e360819a 100644 --- a/src/mesa/main/dd.h +++ b/src/mesa/main/dd.h @@ -208,8 +208,6 @@ struct dd_function_table { */ void (*TexImage)(struct gl_context *ctx, GLuint dims, struct gl_texture_image *texImage, - GLint internalFormat, - GLint width, GLint height, GLint depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels, const struct gl_pixelstore_attrib *packing); diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c index 9ffdb465668..607869cdf76 100644 --- a/src/mesa/main/teximage.c +++ b/src/mesa/main/teximage.c @@ -2616,8 +2616,7 @@ teximage(struct gl_context *ctx, GLuint dims, border, internalFormat, texFormat); /* Give the texture to the driver. <pixels> may be null. */ - ctx->Driver.TexImage(ctx, dims, texImage, internalFormat, - width, height, depth, border, format, + ctx->Driver.TexImage(ctx, dims, texImage, format, type, pixels, unpack); check_gen_mipmap(ctx, target, texObj, level); @@ -2945,8 +2944,8 @@ copyteximage(struct gl_context *ctx, GLuint dims, border, internalFormat, texFormat); /* Allocate texture memory (no pixel data yet) */ - ctx->Driver.TexImage(ctx, dims, texImage, internalFormat, - width, height, 1, border, GL_NONE, GL_NONE, + ctx->Driver.TexImage(ctx, dims, texImage, + GL_NONE, GL_NONE, NULL, &ctx->Unpack); if (_mesa_clip_copytexsubimage(ctx, &dstX, &dstY, &srcX, &srcY, diff --git a/src/mesa/main/texobj.c b/src/mesa/main/texobj.c index 529a6d44929..f70da4fbc94 100644 --- a/src/mesa/main/texobj.c +++ b/src/mesa/main/texobj.c @@ -807,8 +807,7 @@ _mesa_get_fallback_texture(struct gl_context *ctx, gl_texture_index tex) 0, /* border */ GL_RGBA, texFormat); - ctx->Driver.TexImage(ctx, dims, texImage, GL_RGBA, - width, height, depth, 0, + ctx->Driver.TexImage(ctx, dims, texImage, GL_RGBA, GL_UNSIGNED_BYTE, texel, &ctx->DefaultPacking); } diff --git a/src/mesa/main/texstore.c b/src/mesa/main/texstore.c index ab9fdf26d3e..52eef3ebab3 100644 --- a/src/mesa/main/texstore.c +++ b/src/mesa/main/texstore.c @@ -4336,25 +4336,24 @@ void _mesa_store_teximage(struct gl_context *ctx, GLuint dims, struct gl_texture_image *texImage, - GLint internalFormat, - GLint width, GLint height, GLint depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels, const struct gl_pixelstore_attrib *packing) { assert(dims == 1 || dims == 2 || dims == 3); - if (width == 0 || height == 0 || depth == 0) + if (texImage->Width == 0 || texImage->Height == 0 || texImage->Depth == 0) return; /* allocate storage for texture data */ if (!ctx->Driver.AllocTextureImageBuffer(ctx, texImage, texImage->TexFormat, - width, height, depth)) { + texImage->Width, texImage->Height, + texImage->Depth)) { _mesa_error(ctx, GL_OUT_OF_MEMORY, "glTexImage%uD", dims); return; } store_texsubimage(ctx, texImage, - 0, 0, 0, width, height, depth, + 0, 0, 0, texImage->Width, texImage->Height, texImage->Depth, format, type, pixels, packing, "glTexImage"); } diff --git a/src/mesa/main/texstore.h b/src/mesa/main/texstore.h index 5a1c014231c..fbcb41b490d 100644 --- a/src/mesa/main/texstore.h +++ b/src/mesa/main/texstore.h @@ -93,8 +93,6 @@ extern void _mesa_store_teximage(struct gl_context *ctx, GLuint dims, struct gl_texture_image *texImage, - GLint internalFormat, - GLint width, GLint height, GLint depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels, const struct gl_pixelstore_attrib *packing); diff --git a/src/mesa/state_tracker/st_cb_texture.c b/src/mesa/state_tracker/st_cb_texture.c index 92ce3fa2073..0c4e8a8f47b 100644 --- a/src/mesa/state_tracker/st_cb_texture.c +++ b/src/mesa/state_tracker/st_cb_texture.c @@ -500,8 +500,6 @@ st_AllocTextureImageBuffer(struct gl_context *ctx, */ static void prep_teximage(struct gl_context *ctx, struct gl_texture_image *texImage, - GLint internalFormat, - GLint width, GLint height, GLint depth, GLint border, GLenum format, GLenum type) { struct gl_texture_object *texObj = texImage->TexObject; @@ -518,11 +516,13 @@ prep_teximage(struct gl_context *ctx, struct gl_texture_image *texImage, /* oops, need to init this image again */ texFormat = _mesa_choose_texture_format(ctx, texObj, target, level, - internalFormat, format, type); + texImage->InternalFormat, format, + type); _mesa_init_teximage_fields(ctx, texImage, - width, height, depth, border, - internalFormat, texFormat); + texImage->Width, texImage->Height, + texImage->Depth, texImage->Border, + texImage->InternalFormat, texFormat); stObj->surface_based = GL_FALSE; } @@ -532,15 +532,11 @@ prep_teximage(struct gl_context *ctx, struct gl_texture_image *texImage, static void st_TexImage(struct gl_context * ctx, GLuint dims, struct gl_texture_image *texImage, - GLint internalFormat, - GLint width, GLint height, GLint depth, GLint border, GLenum format, GLenum type, const void *pixels, const struct gl_pixelstore_attrib *unpack) { - prep_teximage(ctx, texImage, internalFormat, width, height, depth, border, - format, type); - _mesa_store_teximage(ctx, dims, texImage, internalFormat, width, height, depth, - border, format, type, pixels, unpack); + prep_teximage(ctx, texImage, format, type); + _mesa_store_teximage(ctx, dims, texImage, format, type, pixels, unpack); } @@ -551,8 +547,7 @@ st_CompressedTexImage(struct gl_context *ctx, GLuint dims, GLint width, GLint height, GLint border, GLint depth, GLsizei imageSize, const GLvoid *data) { - prep_teximage(ctx, texImage, internalFormat, width, height, depth, border, - GL_NONE, GL_NONE); + prep_teximage(ctx, texImage, GL_NONE, GL_NONE); _mesa_store_compressed_teximage(ctx, dims, texImage, internalFormat, width, height, depth, border, imageSize, data); } |