I've been hanging on this list for a while, and this isn't the first time this has been suggested. The general thing that is repeated is basically this: if you make an API (e.g. OpenGL) that supports S3TC without a license, you're in trouble, even if it is a passthrough to the hardware, which also required a license to produce in the first place. I think the assumption most people make is that if the hardware vendor paid a license to implement S3TC in an ASIC, then surely simply passing through data is OK. After all, it is being done without any knowledge of the algorithm, etc. From a common sense standpoint, I would agree. However, the note in the S3TC extension itself[1] mentions explicitly to be wary of such assumptions in the "IP Status" section, and notes that *a license for one API is not a license for another*. This implies that for an API to make use of S3TC, it requires a license, which Mesa in general, does not have, while a hardware vendor might. All of this is theoretical as far as I've read; I don't think anyone has legally challenged this for open source drivers and posted the results on this mailing list -- mostly have stayed away from it with a prejudice. I think the patent was granted in 1999, so at least in the USA, hopefully we don't have too many more years of this garbage.
Patrick [1] http://www.opengl.org/registry/specs/EXT/texture_compression_s3tc.txt On Tue, Aug 13, 2013 at 1:53 PM, Uwe Schmidt < simon.schm...@cs-systemberatung.de> wrote: > Hi, > > I have read about the issue of implementing the S3TC Extension in Mesa: > http://dri.freedesktop.org/wiki/S3TC/ > > As I understood, the problem is, that encoding and decoding S3TC in > software is covered by patents, while passing S3TC compressed data to the > GPU is still ok. > > AS NOW: > > If "force_s3tc_enable" is enabled in Mesa3D, uploading a S3TC encoded > texture works if format==internalFormat is true. If format!=internalFormat > is true, it would fail (as i know). > > SO MY PROPOSAL: > > If 'format' is one of the S3TC types, and format!=internalFormat is true, > then set internalFormat:=format. > > Else, if 'internalFormat' is one of the S3TC types, but the 'format' isn't, > set internalFormat:=format (or any other format, Mesa3D can encode). > > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev