summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/translate/translate.h
diff options
context:
space:
mode:
authorLuca Barbieri <luca@luca-barbieri.com>2010-08-10 09:51:20 +0200
committerLuca Barbieri <luca@luca-barbieri.com>2010-08-16 16:57:05 +0200
commitddcf028aa0a1bd6f79381164c8b1c3b816792e47 (patch)
tree47f5ff96aeaf826c9898af2b4ef694ad7d606c05 /src/gallium/auxiliary/translate/translate.h
parent9271059b361128070c68b3d1a7982b4f9f151546 (diff)
translate_generic: use memcpy if possible (v3)
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).
Diffstat (limited to 'src/gallium/auxiliary/translate/translate.h')
0 files changed, 0 insertions, 0 deletions