[Bug 823096] Review Request: nvidia-texture-tools - Collection of image processing and texture manipulation tools

bugzilla at redhat.com bugzilla at redhat.com
Mon May 21 18:09:21 UTC 2012


https://bugzilla.redhat.com/show_bug.cgi?id=823096

--- Comment #5 from pcpa <paulo.cesar.pereira.de.andrade at gmail.com> ---
(In reply to comment #4)
> (In reply to comment #3)
> > Thanks for noticing it.
> > 
> > A grep -ri s3tc shows only references to it in
> > src/nvtt/squish/texture_compression_s3tc.txt
> 
> Simply searching for s3tc is not enough.  There are multiple variants of
> S3TC, named DXT[1-5].  Which I definitely see code for in here.  I don't
> think this is something Fedora can ship.

I was under the impression that it did only interface to
s3tc, but it actually embeds an open source implementation,
that was already blocked at
https://bugzilla.redhat.com/show_bug.cgi?id=407561

For more information, start of thread in debian,
http://lists.debian.org/debian-mentors/2010/09/msg00080.html

There is a comment about DeVIL (also in fedora)
http://lists.debian.org/debian-mentors/2010/09/msg00129.html
but from what I could read in DeVIL sources, it does not include
an implementation, and only attempts to get pointers to it
from the libGL.

And apparently debian decision was to allow it due to
not enforced patent, but that should be an option for debian
and not for Fedora/RedHat
http://lists.debian.org/debian-mentors/2010/09/msg00130.html

Nevertheless, looking more closely at 0ad build options, I see
the default is to build a bundled nvtt, or respect
--with-system-nvtt, but there is yet another --without-nvtt
that I suppose is an alternative to either textures already
compressed in 0ad-data or just not compressing it.

Reading the sources, --without-nvtt defines CONFIG2_NVTT to 0,
and only source to use it is
<0ad-src>/source/graphics/TextureConverter.cpp
with functions that can be called from
<0ad-src>/source/graphics/TextureManager.cpp

I will try a --without-nvtt build later, and see the results, e.g.
if not filling my disk, or console with logs:

-%<-
bool CTextureConverter::ConvertTexture(const CTexturePtr& texture, const
VfsPath& src, const VfsPath& dest, const Settings& settings)
{
   /* load image from vfs, checks, etc */
#if CONFIG2_NVTT
        ...
        request->compressionOptions.setQuality(m_HighQuality ?
nvtt::Quality_Production : nvtt::Quality_Fastest);

    // TODO: normal maps, gamma, etc

    // Load the texture data
    request->inputOptions.setTextureLayout(nvtt::TextureType_2D, tex.w, tex.h);
    request->inputOptions.setMipmapData(tex_get_data(&tex), tex.w, tex.h);

    // NVTT copies the texture data so we can free it now
    tex_free(&tex);

    pthread_mutex_lock(&m_WorkerMutex);
    m_RequestQueue.push_back(request);
    pthread_mutex_unlock(&m_WorkerMutex);

    // Wake up the worker thread
    SDL_SemPost(m_WorkerSem);

    return true;

#else
    LOGERROR(L"Failed to convert texture \"%ls\" (NVTT not available)",
src.string().c_str());
    return false;
#endif
}
-%<-


There is an upstream page about the issue at
http://trac.wildfiregames.com/wiki/CompressedTextures

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.fedoraproject.org/pipermail/package-review/attachments/20120521/cf52a38d/attachment.html>


More information about the package-review mailing list