Opened 15 years ago

Closed 14 years ago

Last modified 14 years ago

#313 closed task (fixed)

Handle unsupported S3TC texture compression more gracefully

Reported by: Philip Taylor Owned by:
Priority: Should Have Milestone:
Component: Core engine Keywords:
Cc: fabio.ped@… Patch:

Description

Currently, non-support of S3TC causes ugly unhelpful output like in #306. (This particularly matters on Linux, where (I think) non-support is the default for non-proprietary drivers.)

The message should be displayed in a much more user-friendly way (perhaps a dialog box? or perhaps it should carry on loading the game and display a warning on the menu screen?).

Also, the message should help people resolve the problem - on Linux, it should tell them to run driconf and enable the "enable S3TC texture compression" option. (That option makes the driver lie that it fully supports S3TC, when actually it only supports decompression (which is all we need).)

Also, maybe we could detect the situation where we're running on Linux and the driver really does support decompression even though it doesn't claim to fully support S3TC, since the game should actually run fine with S3TC in that case and we don't need to tell the user to do anything.

Change History (7)

comment:1 by fabio, 15 years ago

Cc: fabio.ped@… added

comment:2 by Philip Taylor, 14 years ago

Milestone: Open Source ReleaseOS Pre-Alpha 1

comment:3 by philip, 14 years ago

Resolution: fixed
Status: newclosed

(In [7390]) Report S3TC non-support with an in-game GUI message box. Fixes #313.

comment:4 by fabio, 14 years ago

Maybe the

#if OS_LINUX

could be changed to include all OS other than windows and OS X, since mesa also runs on solaris, *BSD, GNU/Hurd...

Or even better it could use a dynamic check when

glGetString(GL_VERSION)

contains Mesa, which should always be similar to:

2.1 Mesa 7.9-devel

comment:5 by philip, 14 years ago

(In [7402]) Show DRI S3TC message on all platforms that probably use Mesa. See #313.

comment:6 by Philip Taylor, 14 years ago

Yeah, we currently only work on Windows/OSX/Linux and it'll take non-zero effort to support anything else (at least the stuff in source/lib/sysdep/os/ would need to be ported) but it's easy enough to make this bit more portable anyway. Probably not worth the effort of writing more lines of code to dynamically detect Mesa for a currently hypothetical situation, though.

comment:7 by (none), 14 years ago

Milestone: OS Pre-Alpha 1

Milestone OS Pre-Alpha 1 deleted

Note: See TracTickets for help on using tickets.