Go to the documentation of this file.
21 #include "../SDL_internal.h"
99 return (okay ? 0 : -1);
102 #if SDL_HAVE_BLIT_AUTO
105 #include <sys/sysctl.h>
110 const char key[] =
"hw.l3cachesize";
112 size_t typeSize =
sizeof(
result);
134 static int features = 0x7fffffff;
137 if (features == 0x7fffffff) {
138 const char *
override =
SDL_getenv(
"SDL_BLIT_CPU_FEATURES");
168 for (
i = 0; entries[
i].
func; ++
i) {
170 if (src_format != entries[
i].src_format) {
173 if (dst_format != entries[
i].dst_format) {
178 if ((flagcheck & entries[
i].
flags) != flagcheck) {
183 if ((entries[
i].cpu & features) != entries[
i].cpu) {
188 return entries[
i].
func;
203 if (
dst->format->BitsPerPixel < 8) {
218 map->info.dst_fmt =
dst->format;
219 map->info.dst_pitch =
dst->pitch;
233 }
else if (
surface->format->Rloss > 8 ||
dst->format->Rloss > 8) {
239 else if (
surface->format->BitsPerPixel < 8 &&
245 else if (
surface->format->BytesPerPixel == 1 &&
260 #if SDL_HAVE_BLIT_AUTO
271 #ifndef TEST_SLOW_BLIT
#define SDL_UnlockSurface
static SDL_BlitFunc SDL_ChooseBlitFunc(Uint32 src_format, Uint32 dst_format, int flags, SDL_BlitFuncEntry *entries)
#define SDL_CPU_ALTIVEC_NOPREFETCH
A collection of pixels used in software blitting.
int SDL_CalculateBlit(SDL_Surface *surface)
void SDL_UnRLESurface(SDL_Surface *surface, int recode)
static SDL_bool SDL_UseAltivecPrefetch()
#define SDL_COPY_COLORKEY
SDL_FORCE_INLINE SDL_bool SDL_RectEmpty(const SDL_Rect *r)
Returns true if the rectangle has no area.
void SDL_Blit_Slow(SDL_BlitInfo *info)
#define SDL_ISPIXELFORMAT_INDEXED(format)
const GLubyte GLuint GLuint GLuint GLuint alpha GLboolean GLboolean GLboolean GLboolean alpha GLint GLint GLsizei GLsizei GLenum type GLenum GLint GLenum GLint GLint GLsizei GLsizei GLint border GLenum GLint GLint GLint GLint GLint GLsizei GLsizei height GLsizei GLsizei GLenum GLenum const GLvoid *pixels GLenum GLint GLint GLint GLint j2 GLdouble GLdouble GLdouble GLdouble GLdouble GLdouble zFar GLenum GLenum GLint *params GLenum GLenum GLint *params GLenum GLenum GLint *params GLenum GLenum GLfloat *params GLenum GLint GLenum GLenum GLvoid *pixels GLenum GLint GLenum GLint *params GLenum GLenum GLint *params GLenum GLsizei const GLvoid *pointer GLenum GLenum const GLint *params GLenum GLfloat GLfloat GLint GLint const GLfloat *points GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat *points GLint GLfloat GLfloat GLint GLfloat GLfloat v2 GLenum GLenum const GLint *params GLdouble GLdouble GLdouble GLdouble GLdouble GLdouble zFar GLenum map
#define SDL_COPY_RLE_DESIRED
SDL_PixelFormat * src_fmt
#define SDL_CPU_ALTIVEC_PREFETCH
int SDL_RLESurface(SDL_Surface *surface)
SDL_BlitFunc SDL_CalculateBlitA(SDL_Surface *surface)
SDL_BlitFuncEntry SDL_GeneratedBlitFuncTable[]
#define SDL_COPY_MODULATE_ALPHA
SDL_PixelFormat * dst_fmt
#define SDL_ISPIXELFORMAT_FOURCC(format)
SDL_BlitFunc SDL_CalculateBlitN(SDL_Surface *surface)
void SDL_InvalidateMap(SDL_BlitMap *map)
A rectangle, with the origin at the upper left (integer).
SDL_BlitFunc SDL_CalculateBlit0(SDL_Surface *surface)
SDL_BlitFunc SDL_CalculateBlit1(SDL_Surface *surface)
#define SDL_COPY_MODULATE_COLOR
static int SDL_SoftBlit(SDL_Surface *src, SDL_Rect *srcrect, SDL_Surface *dst, SDL_Rect *dstrect)
return Display return Display Bool Bool int int int return Display XEvent Bool(*) XPointer return Display return Display Drawable _Xconst char unsigned int unsigned int return Display Pixmap Pixmap XColor XColor unsigned int unsigned int return Display _Xconst char char int char return Display Visual unsigned int int int char unsigned int unsigned int in i)
void(* SDL_BlitFunc)(SDL_BlitInfo *info)
void SDL_BlitCopy(SDL_BlitInfo *info)