aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r600
diff options
context:
space:
mode:
authorMatt Turner <[email protected]>2015-03-04 15:21:53 -0800
committerMatt Turner <[email protected]>2015-03-05 10:18:28 -0800
commit2e4c95dfe2cb205c327ceaa12b44a9273bdb20dc (patch)
treebbf37b168d4470c516825f212030f0f54ac72837 /src/gallium/drivers/r600
parent5f9ee6a02f54864df166e5dcc7303771d4eac9b3 (diff)
i965: Tell intel_get_memcpy() which direction the memcpy() is going.
The SSSE3 swizzling code was written for fast uploads to the GPU and assumed the destination was always 16-byte aligned. When we began using this code for fast downloads as well we didn't do anything to account for the fact that the destination pointer given by glReadPixels() or glGetTexImage() is not guaranteed to be suitably aligned. With SSSE3 enabled (at compile-time), some applications would crash when an SSE aligned-store instruction tried to store to an unaligned destination (or an assertion that the destination is aligned would trigger). To remedy this, tell intel_get_memcpy() whether we're uploading or downloading so that it can select whether to assume the destination or source is aligned, respectively. Cc: 10.5 <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89416 Tested-by: Uriy Zhuravlev <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]>
Diffstat (limited to 'src/gallium/drivers/r600')
0 files changed, 0 insertions, 0 deletions