Go to the source code of this file.
◆ SDL_CalculateBlit()
Definition at line 216 of file SDL_blit.c.
223 if (
dst->format->BitsPerPixel < 8) {
235 map->info.dst_fmt =
dst->format;
236 map->info.dst_pitch =
dst->pitch;
248 }
else if (
surface->format->Rloss > 8 ||
dst->format->Rloss > 8) {
252 }
else if (
surface->format->BitsPerPixel < 8 &&
255 }
else if (
surface->format->BytesPerPixel == 1 &&
271 #ifndef TEST_SLOW_BLIT
References map, NULL, SDL_Blit_Slow(), SDL_BlitCopy(), SDL_CalculateBlit0(), SDL_CalculateBlit1(), SDL_CalculateBlitA(), SDL_CalculateBlitN(), SDL_ChooseBlitFunc(), SDL_COPY_BLEND, SDL_COPY_RLE_DESIRED, SDL_GeneratedBlitFuncTable, SDL_InvalidateMap(), SDL_ISPIXELFORMAT_FOURCC, SDL_ISPIXELFORMAT_INDEXED, SDL_RLEACCEL, SDL_RLESurface(), SDL_SetError, SDL_SoftBlit(), and SDL_UnRLESurface().
Referenced by SDL_MapSurface().
◆ SDL_ChooseBlitFunc()
Definition at line 128 of file SDL_blit.c.
132 static Uint32 features = 0xffffffff;
135 if (features == 0xffffffff) {
136 const char *
override =
SDL_getenv(
"SDL_BLIT_CPU_FEATURES");
166 for (
i = 0; entries[
i].
func; ++
i) {
168 if (src_format != entries[
i].src_format) {
171 if (dst_format != entries[
i].dst_format) {
178 if ((flagcheck & entries[
i].
flags) != flagcheck) {
186 if ((flagcheck & entries[
i].
flags) != flagcheck) {
192 if ((flagcheck & entries[
i].
flags) != flagcheck) {
198 if ((flagcheck & entries[
i].
flags) != flagcheck) {
203 flagcheck = entries[
i].
cpu;
204 if ((flagcheck & features) != flagcheck) {
209 return entries[
i].
func;
References SDL_BlitFuncEntry::cpu, SDL_BlitFuncEntry::func, i, NULL, SDL_COPY_ADD, SDL_COPY_BLEND, SDL_COPY_COLORKEY, SDL_COPY_MOD, SDL_COPY_MODULATE_ALPHA, SDL_COPY_MODULATE_COLOR, SDL_COPY_NEAREST, SDL_CPU_3DNOW, SDL_CPU_ALTIVEC_NOPREFETCH, SDL_CPU_ALTIVEC_PREFETCH, SDL_CPU_ANY, SDL_CPU_MMX, SDL_CPU_SSE, SDL_CPU_SSE2, SDL_getenv, SDL_Has3DNow, SDL_HasAltiVec, SDL_HasMMX, SDL_HasSSE, SDL_HasSSE2, SDL_sscanf, and SDL_UseAltivecPrefetch().
Referenced by SDL_CalculateBlit().
◆ SDL_SoftBlit()
Definition at line 34 of file SDL_blit.c.
99 return (okay ? 0 : -1);
References SDL_PixelFormat::BytesPerPixel, SDL_BlitInfo::dst, SDL_BlitInfo::dst_fmt, SDL_BlitInfo::dst_h, SDL_BlitInfo::dst_pitch, SDL_BlitInfo::dst_skip, SDL_BlitInfo::dst_w, SDL_Rect::h, SDL_LockSurface, SDL_MUSTLOCK, SDL_RectEmpty(), SDL_UnlockSurface, SDL_BlitInfo::src, SDL_BlitInfo::src_fmt, SDL_BlitInfo::src_h, SDL_BlitInfo::src_pitch, SDL_BlitInfo::src_skip, SDL_BlitInfo::src_w, SDL_Rect::w, SDL_Rect::x, and SDL_Rect::y.
Referenced by SDL_CalculateBlit().
◆ SDL_UseAltivecPrefetch()
static SDL_bool SDL_UseAltivecPrefetch |
( |
| ) |
|
|
static |
#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.
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)
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)