comparison src/video/SDL_blit_copy.c @ 2826:cd4a49d5c1ba

Fixed crash on 64-bit systems
author Sam Lantinga <slouken@libsdl.org>
date Wed, 03 Dec 2008 06:32:04 +0000
parents cc15254e44b6
children 99210400e8b9
comparison
equal deleted inserted replaced
2825:620a91b6d263 2826:cd4a49d5c1ba
104 dst = info->dst; 104 dst = info->dst;
105 srcskip = info->src_pitch; 105 srcskip = info->src_pitch;
106 dstskip = info->dst_pitch; 106 dstskip = info->dst_pitch;
107 107
108 #ifdef __SSE__ 108 #ifdef __SSE__
109 if (SDL_HasSSE() && !((uintptr_t) src & 15) && !((uintptr_t) dst & 15)) { 109 if (SDL_HasSSE() &&
110 !((uintptr_t) src & 15) && !(srcskip & 15) &&
111 !((uintptr_t) dst & 15) && !(dstskip & 15)) {
110 while (h--) { 112 while (h--) {
111 SDL_memcpySSE(dst, src, w); 113 SDL_memcpySSE(dst, src, w);
112 src += srcskip; 114 src += srcskip;
113 dst += dstskip; 115 dst += dstskip;
114 } 116 }
115 return; 117 return;
116 } 118 }
117 #endif 119 #endif
118 120
119 #ifdef __MMX__ 121 #ifdef __MMX__
120 if (SDL_HasMMX() && !((uintptr_t) src & 7) && !((uintptr_t) dst & 7)) { 122 if (SDL_HasMMX() &&
123 !((uintptr_t) src & 7) && !(srcskip & 7) &&
124 !((uintptr_t) dst & 7) && !(dstskip & 7)) {
121 while (h--) { 125 while (h--) {
122 SDL_memcpyMMX(dst, src, w); 126 SDL_memcpyMMX(dst, src, w);
123 src += srcskip; 127 src += srcskip;
124 dst += dstskip; 128 dst += dstskip;
125 } 129 }