diff options
Diffstat (limited to 'src/mesa/drivers/dri')
-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 |
3 files changed, 17 insertions, 60 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; |