Age | Commit message (Collapse) | Author | |
---|---|---|---|
2010-08-16 | translate_generic: use memcpy if possible (v3) | Luca Barbieri | |
Changes in v3: - If we can do a copy, don't try to get an emit func, as that can assert(0) Changes in v2: - Add comment regarding copy_size When used in GPU drivers, translate can be used to simultaneously perform a gather operation, and convert away from unsupported formats. In this use case, input and output formats will often be identical: clearly it would make sense to use a memcpy in this case. Instead, translate will insist to convert to and from 32-bit floating point numbers. This is not only extremely expensive, but it also loses precision for 32/64-bit integers and 64-bit floating point numbers. This patch changes translate_generic to just use memcpy if the formats are identical, non-blocked, and with an integral number of bytes per pixel (note that all sensible vertex formats are like this). | |||
2010-08-11 | translate: allow clients to ask for supported output formats | Luca Barbieri | |
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. | |||
2010-08-11 | Revert "translate_generic: return NULL instead of assert(0) if format not ↵ | Luca Barbieri | |
supported" This reverts commit 16b45ca7cefb3432b4133fe9d0b1dbfe3f286131. José Fonseca asked for a revert. Note that the testsuite will now segfault since it attempts to test all possible formats. | |||
2010-08-11 | translate_generic: fix broken A8R8G8B8_UNORM output | Luca Barbieri | |
translate was attempting to output A8R8G8B8_UNORM as if it were R8G8B8A8_UNORM. Now the tests just added pass. | |||
2010-08-11 | translate_generic: return NULL instead of assert(0) if format not supported | Luca Barbieri | |
This gives the caller a chance to recover (or crash anyway otherwise). | |||
2010-08-03 | gallium/translate: make generic_run() and generic_run_elts() more alike | Brian Paul | |
Plus more debug code and do clamping in generic_run(). | |||
2010-06-16 | translate: don't crash on elts paths with instances | Zack Rusin | |
2010-05-03 | translate: Make translate_generic truly generic. | José Fonseca | |
PIPE_FORMAT_R10G10B10X2_USCALED, half floats, were not supported, so just rely on u_format for (almost) universal format support. | |||
2010-04-26 | translate: Take and respect a max_index argument. | José Fonseca | |
2010-03-12 | gallium: fix BGRA vertex color swizzles | Marek Olšák | |
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> | |||
2010-03-01 | translate: Rename pipe formats. | José Fonseca | |
2010-01-05 | gallium: Handle InstanceID as a true 32-bit uint. | Michal Krol | |
2010-01-05 | Merge branch 'master' into instanced-arrays | Michal Krol | |
Conflicts: src/gallium/auxiliary/tgsi/tgsi_dump.c src/gallium/include/pipe/p_shader_tokens.h | |||
2010-01-01 | gallium: Generate a single library for auxiliaries with Make too. | José Fonseca | |
2010-01-01 | scons: Aggregate all tiny libraries in a single library. | José Fonseca | |
Makes integration of gallium into out of tree components much easier. No pratical change for components in this tree, | |||
2009-12-30 | Add lame support for instanceID to draw module. | Michal Krol | |
It's all screaming for integer support -- fake it with float for now. | |||
2009-12-30 | Implement instanced indexed draw. | Michal Krol | |
2009-12-30 | translate: Fix a call to indexed SSE run. | Michal Krol | |
2009-12-30 | translate: Implement instancing for linear SSE run. | Michal Krol | |
2009-12-29 | Implement draw_arrays_instanced() in softpipe. | Michal Krol | |
Modify the translate module to respect instance divisors and accept instance id as a parameter to calculate input vertex offset. | |||
2009-12-29 | translate: Fix translate_key_compare(). | Michal Krol | |
Sizes of translate keys must also match. | |||
2009-10-02 | gallium: replace // comments with /* */ | Brian Paul | |
2009-03-25 | translate: Avoid unused variable warning. | José Fonseca | |
2009-02-20 | gallium: Improve makefiles for libraries | Jakob Bornecrantz | |
The template makefile that most libraries in gallium included was based on dri and had a bunch unrelevant junk in it. Update it and improve the depending makefiles. | |||
2008-11-14 | translate: pull in prefetch and other optimizations from draw_vs_aos.c | Keith Whitwell | |
2008-09-03 | gallium: silence warnings | Brian Paul | |
2008-08-24 | gallium: refactor/replace p_util.h with util/u_memory.h and util/u_math.h | Brian Paul | |
Also, rename p_tile.[ch] to u_tile.[ch] | |||
2008-08-14 | translate: Draw can request up to PIPE_MAX_ATTRIBS + 1 vertex elements. | José Fonseca | |
2008-06-24 | gallium: Avoid double arithmetic. | José Fonseca | |
2008-06-23 | gallium: added support for fixed-point formats, drawing | Brian Paul | |
2008-05-30 | Merge branch 'gallium-tex-surfaces' into gallium-0.1 | Jakob Bornecrantz | |
Conflicts: src/gallium/drivers/i915simple/i915_context.h | |||
2008-05-29 | gallium: MSVC warning fixes. | José Fonseca | |
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 | |||
2008-05-28 | translate: Mark functions as PIPE_CDECL. | José Fonseca | |
2008-05-28 | Merge branch 'gallium-vertex-linear' into gallium-0.1 | Jakob Bornecrantz | |
Conflicts: src/gallium/auxiliary/draw/draw_pt_varray.c | |||
2008-05-28 | gallium: Windows CE portability fixes. | José Fonseca | |
2008-05-23 | translate: mark functions as PIPE_CDECL | Keith Whitwell | |
2008-05-23 | translate: remove spurious comment | Keith Whitwell | |
2008-05-12 | translate: helper functions for mimizing cost of key compares | Keith Whitwell | |
2008-05-09 | translate: helper functions for mimizing cost of key compares | Keith Whitwell | |
2008-05-08 | draw: only fill in / compare the part of the translate key we're using. | Keith Whitwell | |
It's quite a big struct & we examine it a lot (too much). Reduce the impact of this by just looking at the active part where possible. | |||
2008-05-01 | rtasm: fix labels after (not so) recent change to allow dynamic fn growth | Keith Whitwell | |
Using char * for labels doesn't work if you realloc the function during assembly and free the old storage... | |||
2008-04-28 | translate: squash warnings | Keith Whitwell | |
2008-04-24 | translate: Actually return a value from translate_cache_create(). | Michal Krol | |
2008-04-23 | Create a sharable translate_cache and use it. | Zack Rusin | |
2008-04-23 | fix non-i386 builds | Ben Skeggs | |
2008-04-21 | translate: fail on x86 rtasm fail | Keith Whitwell | |
2008-04-19 | translate: fix several bugs | Keith Whitwell | |
- specify cdecl calling convention on WIN32 - fix load bgra8 function - fix previous don't crash fix. | |||
2008-04-19 | translate: don't crash on failure to create sse version | Keith Whitwell | |
2008-04-18 | translate: missing file | Keith Whitwell | |
2008-04-18 | translate: add sse version based on old draw_vf_sse.c | Keith Whitwell | |