History log of /external/mesa3d/src/gallium/auxiliary/translate/translate.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
d3fe699b0b2d46480b699b3fa4c77e41eea8d30d 20-Aug-2010 Luca Barbieri <luca@luca-barbieri.com> translate_sse: enable on Win64

According to Vinson, enabling it causes no regressions
/external/mesa3d/src/gallium/auxiliary/translate/translate.c
c2da8e77023325f46dde2009def2947b1a687c7b 10-Aug-2010 Luca Barbieri <luca@luca-barbieri.com> translate_sse: major rewrite (v5)

NOTE: Win64 is untested, and is thus currently disabled.
If you have such a system, please enable it and report whether it works.
To enable it, change src/gallium/auxiliary/translate/translate.c

Changes in v5:
- On Win64, preserve %xmm6 and %xmm7 as required by the ABI
- Use _WIN64 instead of WIN64

Changes in v4:
- Use x86_target() and x86_target_caps()
- Enable translate_sse in x86-64, but not in Win64

Changes in v3:
- Win64 support (untested)
- Use u_cpu_detect.h constants instead of #ifs

Changes in v2:
- Minimize #ifs
- Give a name to magic number CHANNELS_0001
- Add support for CPUs without SSE (only memcpy and swizzles, like non SSE2)
- Fixed comments

translate_sse is currently very limited to the point of
being useless in essentially all cases.

In particular, it only support some float32 and unorm8
formats and doesn't work on x86-64.

This commit rewrites it to support:
1. Dumb memory copy for any pair of identical formats
2. All formats that are swizzles of each other
3. Converting 32/64-bit floats and all 8/16/32-bit integers to 32-bit float
4. Converting unorm8/snorm8 to snorm16 and uscaled8/sscaled8 to sscaled16
5. Support for x86-64 (doesn't take advantage of it in any way though)

This new translate can even be useful to translate index buffers for
cards that lack 8-bit index support.

It passes the testsuite I wrote, but note that this is a major change, and more
testing would be great.
/external/mesa3d/src/gallium/auxiliary/translate/translate.c
10adb7840c3a37dedc940fe593b246336eebd71e 11-Aug-2010 Luca Barbieri <luca@luca-barbieri.com> translate: allow clients to ask for supported output formats

Currently translate asserts on unsupported output formats, making
it impossible to use for some purposes, such as testing whether it
actually works on all formats it supports.

Removing the assert was met with opposition, so this change allows
clients to ask whether an output format is supported, and they are thus
able to avoid attempting to use it.

Since this is just an addition to the API, no adverse effect is
possible, and it makes the testsuite work again.
/external/mesa3d/src/gallium/auxiliary/translate/translate.c
573346da2a1de9a32b2673a5d4634aa6338da374 25-Mar-2009 José Fonseca <jfonseca@vmware.com> translate: Avoid unused variable warning.
/external/mesa3d/src/gallium/auxiliary/translate/translate.c
4f25420bdd834e81a3e22733304efc5261c2998a 25-Aug-2008 Brian Paul <brian.paul@tungstengraphics.com> gallium: refactor/replace p_util.h with util/u_memory.h and util/u_math.h

Also, rename p_tile.[ch] to u_tile.[ch]
/external/mesa3d/src/gallium/auxiliary/translate/translate.c
55d29a8d48663982a1aeea414f69a5896b97d1ea 28-May-2008 José Fonseca <jrfonseca@tungstengraphics.com> gallium: Windows CE portability fixes.
/external/mesa3d/src/gallium/auxiliary/translate/translate.c
6fc530ccda2971a5d99a955ad90ae9762238040f 22-Apr-2008 Ben Skeggs <skeggsb@gmail.com> fix non-i386 builds
/external/mesa3d/src/gallium/auxiliary/translate/translate.c
7b34a43d1ab74974bd157a2339d7a491aed9c9b4 18-Apr-2008 Keith Whitwell <keith@tungstengraphics.com> translate: missing file
/external/mesa3d/src/gallium/auxiliary/translate/translate.c