Merge pull request #48817 from Calinou/import-texture-npot-gles2-warning
Print a warning when importing a repeating NPOT texture in a GLES2 project
This commit is contained in:
commit
463073a966
1 changed files with 15 additions and 0 deletions
|
@ -393,6 +393,21 @@ Error ResourceImporterTexture::import(const String &p_source_file, const String
|
|||
int tex_flags = 0;
|
||||
if (repeat > 0) {
|
||||
tex_flags |= Texture::FLAG_REPEAT;
|
||||
|
||||
const bool min_gles3 = GLOBAL_GET("rendering/quality/driver/driver_name") == "GLES3" &&
|
||||
!GLOBAL_GET("rendering/quality/driver/fallback_to_gles2");
|
||||
if (!min_gles3 && !image->is_size_po2()) {
|
||||
// The project can be run using GLES2. GLES2 does not guarantee that
|
||||
// repeating textures with a non-power-of-two size will be displayed
|
||||
// without artifacts (due to upscaling to the nearest power of 2).
|
||||
if (GLOBAL_GET("rendering/quality/driver/fallback_to_gles2")) {
|
||||
WARN_PRINT(vformat("%s: Imported a repeating texture with a size of %dx%d, but the project is configured to allow falling back to GLES2.\nNon-power-of-2 repeating textures may not display correctly on some platforms such as HTML5. This is because GLES2 does not mandate support for non-power-of-2 repeating textures.",
|
||||
p_source_file, image->get_width(), image->get_height()));
|
||||
} else {
|
||||
WARN_PRINT(vformat("%s: Imported a repeating texture with a size of %dx%d, but the project is configured to use GLES2.\nNon-power-of-2 repeating textures may not display correctly on some platforms such as HTML5. This is because GLES2 does not mandate support for non-power-of-2 repeating textures.",
|
||||
p_source_file, image->get_width(), image->get_height()));
|
||||
}
|
||||
}
|
||||
}
|
||||
if (repeat == 2) {
|
||||
tex_flags |= Texture::FLAG_MIRRORED_REPEAT;
|
||||
|
|
Loading…
Reference in a new issue