Skip to content

Commit

Permalink
Merge pull request #78720 from clayjohn/GLES3-tex-init
Browse files Browse the repository at this point in the history
Use a filter with mipmaps when initializing textures with mipmaps in GL Compatibility renderer
  • Loading branch information
YuriSizov authored Jun 26, 2023
2 parents 9d089fe + 7c37a32 commit 1f9e540
Showing 1 changed file with 9 additions and 4 deletions.
13 changes: 9 additions & 4 deletions drivers/gles3/storage/texture_storage.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1249,10 +1249,6 @@ void TextureStorage::_texture_set_data(RID p_texture, const Ref<Image> &p_image,
glActiveTexture(GL_TEXTURE0);
glBindTexture(texture->target, texture->tex_id);

// set filtering and repeat state to default
texture->gl_set_filter(RS::CANVAS_ITEM_TEXTURE_FILTER_NEAREST);
texture->gl_set_repeat(RS::CANVAS_ITEM_TEXTURE_REPEAT_ENABLED);

#ifndef WEB_ENABLED
switch (texture->format) {
#ifdef GLES_OVER_GL
Expand Down Expand Up @@ -1294,6 +1290,15 @@ void TextureStorage::_texture_set_data(RID p_texture, const Ref<Image> &p_image,

int mipmaps = img->has_mipmaps() ? img->get_mipmap_count() + 1 : 1;

// Set filtering and repeat state to default.
if (mipmaps > 1) {
texture->gl_set_filter(RS::CANVAS_ITEM_TEXTURE_FILTER_NEAREST_WITH_MIPMAPS);
} else {
texture->gl_set_filter(RS::CANVAS_ITEM_TEXTURE_FILTER_NEAREST);
}

texture->gl_set_repeat(RS::CANVAS_ITEM_TEXTURE_REPEAT_ENABLED);

int w = img->get_width();
int h = img->get_height();

Expand Down

0 comments on commit 1f9e540

Please sign in to comment.