Godot: Black textures if no S3TC support is available. No error messages or warnings.

Created on 29 Sep 2017  Â·  11Comments  Â·  Source: godotengine/godot

Versions

Godot: 2.1.4 stable (precompiled x86_64 download from site)
Kernel: Linux 4.12.13_1 #1 SMP PREEMPT Thu Sep 14 13:15:00 UTC 2017 x86_64 GNU/Linux
GPU: AMD Barts PRO [Radeon HD 6850], from circa 2011
Graphics drivers: In-kernel "radeon" (standard mesa, X11, etc stack)
Distro: Void Linux

Issue description

Without the S3TC (libtxc_dxtn) library for Mesa installed: all/most textures appear solid black. No errors, warnings or explanations are provided.

Truck town:
screenshot
screenshot

Installing this library fixes the problem.

Expected behaviours

(1) Godot does not try to use compressed textures when support for them is not available.
(2) Errors or warnings are given to the user in either/both cases.

archived bug rendering

Most helpful comment

All 11 comments

Previous S3TC support check discussion - 378b1e6cf0cbcc9c30c61e0cabc7090f70fd380c and #10139, patent on S3TC expires in 4 days.

Mesa version?
This sounds like a driver issue and may be fixed on a more recent Mesa release, if you can, try Mesa 17.3.

@eon-s by default S3TC is not in Mesa, it is implemented as external library.
https://dri.freedesktop.org/wiki/S3TC/

...which should change soon since the s3tc patents will expire next Monday.
On Arch Linux, the package name is libtxc_dxtn.

I suspect that some distros will be slow (months) to bundle it into the main mesa package after the patents expire (assuming they don't have other organisational reasons to keep it separate).

A warning would still be greatly appreciated -- I'm lucky enough to know about the texture compression scene and what keywords to search for in my repos, most people are not.

We should probably try to detect this and throw an error, the problem is
that many OpenGL implementations consider it as part of core (OSX), so the
extension is not even listed. It's kind of difficult to "detect" without
several hacks.

On Sat, Sep 30, 2017 at 7:58 PM, Veyrdite notifications@github.com wrote:

I suspect that many distros will be slow (months) to bundle it into the
main mesa package after the patents expire (assuming they don't have other
organisation reasons to keep it separate). A warning would still be greatly
appreciated -- I'm lucky enough to know about the texture compression scene
and what keywords to search for in my repos, most people are not.

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/11679#issuecomment-333341384,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z2w8oaK7dgVy4bKJmktsDRSbbTqEFks5snseRgaJpZM4PoKQw
.

many OpenGL implementations consider it as part of core (OSX), so the extension is not even listed

RGTC is core since version 3.0, not listed on macOS, and not covered by S3 patent (there is no colour interpolation). S3TC is not core in any version and it is listed on macOS.

oh alright, we could try throwing a warning if not detected then..

On Sun, Oct 1, 2017 at 5:43 AM, bruvzg notifications@github.com wrote:

many OpenGL implementations consider it as part of core (OSX), so the
extension is not even listed

RGTC is core since version 3.0, not listed on macOS, and not covered by S3
patent (there is no colour interpolation). S3TC is not core in any version
and it is listed on macOS.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/11679#issuecomment-333362250,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-Z25QAFfJCj7KXO4P5bUUCy8OYp-XHks5sn1DDgaJpZM4PoKQw
.

__Godot__: 3.0 (63283ec)
__Kernel__: 4.10.0-38-generic #42-Ubuntu SMP Tue Oct 10 13:24:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
__GPU__: GF108M [GeForce GT 540M]
__Driver__: Nouveau
__Distro__: Ubuntu 17.04

Confirming that this is still an issue even with updated drivers, an error would be useful. Installing libtxc-dxtn-s2tc manually fixed the problem.

libtxc-dxtn is now in all supported Mesa versions, so should be fixed.

Was this page helpful?
0 / 5 - 0 ratings