History log of /external/mesa3d/src/gallium/auxiliary/translate/translate_sse.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
fa8dcb848f9380e3daa3568563c23d9e21668bda 20-Jun-2012 José Fonseca <jfonseca@vmware.com> translate: Free elt8_func/elt16_func too.

These were leaking.

Reviewed-by: Brian Paul <brianp@vmware.com>
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
/external/mesa3d/src/gallium/auxiliary/translate/translate_sse.c
37ef7c22ab3ab9ac976ad955197fe80fae5bf8b8 21-Sep-2011 Brian Paul <brianp@vmware.com> translate: check for PIPE_SUBSYSTEM_EMBEDDED
/external/mesa3d/src/gallium/auxiliary/translate/translate_sse.c
f4dd0991719ef3e2606920c5100b372181c60899 06-Sep-2011 José Fonseca <jfonseca@vmware.com> rtasm,translate: Disable on Mingw-w64.

Causes crash and stack corruption.

Needs more investigation. Disable for now.
/external/mesa3d/src/gallium/auxiliary/translate/translate_sse.c
8b7f760f835f870b8f6af6c4d6613d44440f1dc5 20-Apr-2011 Brian Paul <brianp@vmware.com> translate: disable clamping of instanced array indexes

This fixes piglit's draw-instanced-divisor test for softpipe on both
the generic and SSE paths. This is temporary until we have the
correct per-array max_index information.
/external/mesa3d/src/gallium/auxiliary/translate/translate_sse.c
41b38bd21c1031e65799c888a97d8a0c14ea2aaa 15-Apr-2011 Brian Paul <brianp@vmware.com> translate: s/varient/variant/
/external/mesa3d/src/gallium/auxiliary/translate/translate_sse.c
17bbc1f0425b3768e26473eccea5f2570dcb26d3 01-Apr-2011 José Fonseca <jfonseca@vmware.com> translate: Respect translate_buffer::max_index.
/external/mesa3d/src/gallium/auxiliary/translate/translate_sse.c
81d5afbbecce4ccf2b4bf10b10f47585febfe9c8 25-Oct-2010 Brian Paul <brianp@vmware.com> translate: use function typedefs, casts to silence warnings
/external/mesa3d/src/gallium/auxiliary/translate/translate_sse.c
6b6b45403740144fa5ef2ce362a4c5b9fd0066b6 24-Aug-2010 Luca Barbieri <luca@luca-barbieri.com> translate_sse: clear state for each function emission

Fixes #29771.
/external/mesa3d/src/gallium/auxiliary/translate/translate_sse.c
d1e6b31cb848ed79dd82849f277ab07c9bcdd707 23-Aug-2010 Luca Barbieri <luca@luca-barbieri.com> translate_sse: fix x86-64
/external/mesa3d/src/gallium/auxiliary/translate/translate_sse.c
8e632666af494219c77072056e8ca0e9cd09f5fa 22-Aug-2010 Jakob Bornecrantz <wallbraker@gmail.com> translate_sse: add R32G32B32A32_FLOAT -> X8X8X8X8_UNORM for EMIT_4UB

Changed by me to use movd instead of movss to avoid penalties.
/external/mesa3d/src/gallium/auxiliary/translate/translate_sse.c
4f3fedcef735cda34aa04416950b5febb64435fc 22-Aug-2010 Luca Barbieri <luca@luca-barbieri.com> translate_sse: refactor constant management
/external/mesa3d/src/gallium/auxiliary/translate/translate_sse.c
2a7493ada4503db855ed35031d48fcf2a31eded3 22-Aug-2010 Vinson Lee <vlee@vmware.com> translate_sse: Silence uninitialized variable warnings.

Initialize variables on error paths.
/external/mesa3d/src/gallium/auxiliary/translate/translate_sse.c
18f207310b3c7dd7207d56e86a80b2e1d23c5364 19-Aug-2010 Luca Barbieri <luca@luca-barbieri.com> translate_sse: fix emit_load_sse2
/external/mesa3d/src/gallium/auxiliary/translate/translate_sse.c
547e88e70de16a3d0451c2aa33f87014adc8bb7c 18-Aug-2010 Luca Barbieri <luca@luca-barbieri.com> translate_sse: don't overwrite source buffer pointer

We were putting the source pointer in a register used as a temporary,
breaking all paths that don't read the data in a single instruction.
/external/mesa3d/src/gallium/auxiliary/translate/translate_sse.c
f437ee85f4a6789d7c3be0d68fd26aa257557b83 16-Aug-2010 Vinson Lee <vlee@vmware.com> translate: Move loop variable declaration outside for loop.

Fixes MSVC build.
/external/mesa3d/src/gallium/auxiliary/translate/translate_sse.c
b421cb954673e487074c806d6f98722e46abd4f0 16-Aug-2010 José Fonseca <jfonseca@vmware.com> translate: Remove unused temporary register.

Assuming the side-effect of x86_make_reg is also unnecessary.
/external/mesa3d/src/gallium/auxiliary/translate/translate_sse.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_sse.c
4a4e29a9ab96d44fca9bb25064e12715aac85cbd 10-Aug-2010 Luca Barbieri <luca@luca-barbieri.com> translate: add support for 8/16-bit indices

Currently, only 32-bit indices are supported, but some use cases
translate needs support for all types.
/external/mesa3d/src/gallium/auxiliary/translate/translate_sse.c
68e74f1b0110348a44f589739c6edf3fe8e2b368 10-Aug-2010 Luca Barbieri <luca@luca-barbieri.com> translate_sse: remove useless generated function wrappers

Currently translate_sse puts two trivial wrappers in the translate vtable.

These slow it down and enlarge the source code for no gain, except perhaps
the ability to set a breakpoint there, so remove them.

Breakpoints can be set on the caller of the translate functions, with no
loss of functionality.
/external/mesa3d/src/gallium/auxiliary/translate/translate_sse.c
fc431a58dc1446383edc11aec2a0b7de5b363e5e 26-Apr-2010 José Fonseca <jfonseca@vmware.com> translate: Take and respect a max_index argument.
/external/mesa3d/src/gallium/auxiliary/translate/translate_sse.c
c16d04bd2939154c0360f1ac51fe61a86e5dd9e5 09-Mar-2010 Marek Olšák <maraeo@gmail.com> gallium: fix BGRA vertex color swizzles

The mapping for vertex_array_bgra:
(gl -> st -> translate)
GL_RGBA -> PIPE_FORMAT_R8G8B8A8 (RGBA) -> no swizzle (XYZW)
GL_BGRA -> PIPE_FORMAT_A8R8G8B8 (ARGB) -> ZYXW (BGRA again??)

Iẗ́'s pretty clear that PIPE_FORMAT_A8R8G8B8 here is wrong. This commit
fixes the pipe format and removes obvious workarounds in util/translate.

Tested with: softpipe, llvmpipe, r300g.

Signed-off-by: José Fonseca <jfonseca@vmware.com>
/external/mesa3d/src/gallium/auxiliary/translate/translate_sse.c
a48975347126aacf3a82a5b3e3c69bffd491020a 01-Mar-2010 José Fonseca <jfonseca@vmware.com> translate: Rename pipe formats.
/external/mesa3d/src/gallium/auxiliary/translate/translate_sse.c
76ff89d2de3807f316954aa97ffdbb51bb3b6966 05-Jan-2010 Michal Krol <michal@vmware.com> gallium: Handle InstanceID as a true 32-bit uint.
/external/mesa3d/src/gallium/auxiliary/translate/translate_sse.c
543b9566bdaa48fea2df1866fa1310c1cdbcde27 30-Dec-2009 Michal Krol <michal@vmware.com> Add lame support for instanceID to draw module.

It's all screaming for integer support -- fake it with float for now.
/external/mesa3d/src/gallium/auxiliary/translate/translate_sse.c
5007e39f76c897b8f3aa4acf6086c8b7ac30bdef 30-Dec-2009 Michal Krol <michal@vmware.com> Implement instanced indexed draw.
/external/mesa3d/src/gallium/auxiliary/translate/translate_sse.c
76e53923ba79124c6df55bddd7e9a11a7e9104d4 30-Dec-2009 Michal Krol <michal@vmware.com> translate: Fix a call to indexed SSE run.
/external/mesa3d/src/gallium/auxiliary/translate/translate_sse.c
09c0287b84725098c0b365668231ddf00487c84c 30-Dec-2009 Michal Krol <michal@vmware.com> translate: Implement instancing for linear SSE run.
/external/mesa3d/src/gallium/auxiliary/translate/translate_sse.c
7ca0ce38340144794267609646048b3820d594ab 29-Dec-2009 Michal Krol <michal@vmware.com> Implement draw_arrays_instanced() in softpipe.

Modify the translate module to respect instance divisors and accept
instance id as a parameter to calculate input vertex offset.
/external/mesa3d/src/gallium/auxiliary/translate/translate_sse.c
0557fa72c0e39a3cb4c241690b495ca142c06616 14-Nov-2008 Keith Whitwell <keith@tungstengraphics.com> translate: pull in prefetch and other optimizations from draw_vs_aos.c
/external/mesa3d/src/gallium/auxiliary/translate/translate_sse.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_sse.c
3869c3c87a40d9f41414082ad8dd3d747e6b34d8 30-May-2008 Jakob Bornecrantz <jakob@tungstengraphics.com> Merge branch 'gallium-tex-surfaces' into gallium-0.1

Conflicts:

src/gallium/drivers/i915simple/i915_context.h
8808d62f608d1397ee75d0087301d0b0a0278244 29-May-2008 José Fonseca <jrfonseca@tungstengraphics.com> gallium: MSVC warning fixes.

Conflicts:

src/gallium/auxiliary/draw/draw_pt_varray.c
src/gallium/auxiliary/draw/draw_pt_varray_tmp.h
src/gallium/auxiliary/draw/draw_pt_vcache.c
/external/mesa3d/src/gallium/auxiliary/translate/translate_sse.c
4767c10cbb87a77e6cb24c53815c38bd5887c771 28-May-2008 José Fonseca <jrfonseca@tungstengraphics.com> translate: Mark functions as PIPE_CDECL.
/external/mesa3d/src/gallium/auxiliary/translate/translate_sse.c
938d9d596324e411fde5312f2bb65b444c502c37 28-May-2008 Jakob Bornecrantz <jakob@tungstengraphics.com> Merge branch 'gallium-vertex-linear' into gallium-0.1

Conflicts:

src/gallium/auxiliary/draw/draw_pt_varray.c
55d29a8d48663982a1aeea414f69a5896b97d1ea 28-May-2008 José Fonseca <jrfonseca@tungstengraphics.com> gallium: Windows CE portability fixes.
/external/mesa3d/src/gallium/auxiliary/translate/translate_sse.c
b5c8b3fba6ac90a0d83e02bfe432142f1adee9e5 21-May-2008 Keith Whitwell <keith@tungstengraphics.com> translate: mark functions as PIPE_CDECL
/external/mesa3d/src/gallium/auxiliary/translate/translate_sse.c
8618e6aa16bdba2c8b08124261bbaedaf7e22447 20-May-2008 Keith Whitwell <keith@tungstengraphics.com> translate: remove spurious comment
/external/mesa3d/src/gallium/auxiliary/translate/translate_sse.c
fb3623b235f5caa9d76e656b1e5eda797c7c73eb 01-May-2008 Keith Whitwell <keith@tungstengraphics.com> rtasm: fix labels after (not so) recent change to allow dynamic fn growth

Using char * for labels doesn't work if you realloc the function
during assembly and free the old storage...
/external/mesa3d/src/gallium/auxiliary/translate/translate_sse.c
d3db46eb8257c1b0cf823f1805ca00457be9aff3 21-Apr-2008 Keith Whitwell <keith@tungstengraphics.com> translate: fail on x86 rtasm fail
/external/mesa3d/src/gallium/auxiliary/translate/translate_sse.c
d0a4bf08b1a80d62f81301c5b37723dfca436b62 19-Apr-2008 Keith Whitwell <keith@tungstengraphics.com> translate: fix several bugs

- specify cdecl calling convention on WIN32
- fix load bgra8 function
- fix previous don't crash fix.
/external/mesa3d/src/gallium/auxiliary/translate/translate_sse.c
b1158a5e0031aa33a71baa7bc14ca2c0fe0dabc4 19-Apr-2008 Keith Whitwell <keith@tungstengraphics.com> translate: don't crash on failure to create sse version
/external/mesa3d/src/gallium/auxiliary/translate/translate_sse.c
7400bc4b6fb0c20a935cd108afa92814eeafec6d 18-Apr-2008 Keith Whitwell <keith@tungstengraphics.com> translate: add sse version based on old draw_vf_sse.c
/external/mesa3d/src/gallium/auxiliary/translate/translate_sse.c