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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Comment # 5 from
(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:
_______________________________________________
package-review mailing list
package-review@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/package-review

[Index of Archives]     [Fedora Legacy]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]     [Fedora Tools]