mirror of https://github.com/encounter/SDL.git
Added a single SDL_LEAN_AND_MEAN define to turn on minimal SDL builds
Protected more code with #ifdefs to reduce the size of minimal shared library builds
This commit is contained in:
parent
b1c6e7c244
commit
b5e3d264f2
|
@ -54,46 +54,67 @@
|
|||
/* A few #defines to reduce SDL2 footprint.
|
||||
Only effective when library is statically linked.
|
||||
You have to manually edit this file. */
|
||||
#ifndef SDL_LEAN_AND_MEAN
|
||||
#define SDL_LEAN_AND_MEAN 1
|
||||
#endif
|
||||
|
||||
/* Optimized functions from 'SDL_blit_0.c'
|
||||
- blit with source BitsPerPixel < 8, palette */
|
||||
#define SDL_HAVE_BLIT_0 1
|
||||
#ifndef SDL_HAVE_BLIT_0
|
||||
#define SDL_HAVE_BLIT_0 !SDL_LEAN_AND_MEAN
|
||||
#endif
|
||||
|
||||
/* Optimized functions from 'SDL_blit_1.c'
|
||||
- blit with source BytesPerPixel == 1, palette */
|
||||
#define SDL_HAVE_BLIT_1 1
|
||||
#ifndef SDL_HAVE_BLIT_1
|
||||
#define SDL_HAVE_BLIT_1 !SDL_LEAN_AND_MEAN
|
||||
#endif
|
||||
|
||||
/* Optimized functions from 'SDL_blit_A.c'
|
||||
- blit with 'SDL_BLENDMODE_BLEND' blending mode */
|
||||
#define SDL_HAVE_BLIT_A 1
|
||||
#ifndef SDL_HAVE_BLIT_A
|
||||
#define SDL_HAVE_BLIT_A !SDL_LEAN_AND_MEAN
|
||||
#endif
|
||||
|
||||
/* Optimized functions from 'SDL_blit_N.c'
|
||||
- blit with COLORKEY mode, or nothing */
|
||||
#define SDL_HAVE_BLIT_N 1
|
||||
#ifndef SDL_HAVE_BLIT_N
|
||||
#define SDL_HAVE_BLIT_N !SDL_LEAN_AND_MEAN
|
||||
#endif
|
||||
|
||||
/* Optimized functions from 'SDL_blit_N.c'
|
||||
- RGB565 conversion with Lookup tables */
|
||||
#define SDL_HAVE_BLIT_N_RGB565 1
|
||||
#ifndef SDL_HAVE_BLIT_N_RGB565
|
||||
#define SDL_HAVE_BLIT_N_RGB565 !SDL_LEAN_AND_MEAN
|
||||
#endif
|
||||
|
||||
/* Optimized functions from 'SDL_blit_AUTO.c'
|
||||
- blit with modulate color, modulate alpha, any blending mode
|
||||
- scaling or not */
|
||||
#define SDL_HAVE_BLIT_AUTO 1
|
||||
#ifndef SDL_HAVE_BLIT_AUTO
|
||||
#define SDL_HAVE_BLIT_AUTO !SDL_LEAN_AND_MEAN
|
||||
#endif
|
||||
|
||||
/* Run-Length-Encoding
|
||||
- SDL_SetColorKey() called with SDL_RLEACCEL flag */
|
||||
#define SDL_HAVE_RLE 1
|
||||
#ifndef SDL_HAVE_RLE
|
||||
#define SDL_HAVE_RLE !SDL_LEAN_AND_MEAN
|
||||
#endif
|
||||
|
||||
/* Software SDL_Renderer
|
||||
- creation of software renderer
|
||||
- *not* general blitting functions
|
||||
- {blend,draw}{fillrect,line,point} internal functions */
|
||||
#define SDL_VIDEO_RENDER_SW 1
|
||||
#ifndef SDL_VIDEO_RENDER_SW
|
||||
#define SDL_VIDEO_RENDER_SW !SDL_LEAN_AND_MEAN
|
||||
#endif
|
||||
|
||||
/* YUV formats
|
||||
- handling of YUV surfaces
|
||||
- blitting and conversion functions */
|
||||
#define SDL_HAVE_YUV 1
|
||||
#ifndef SDL_HAVE_YUV
|
||||
#define SDL_HAVE_YUV !SDL_LEAN_AND_MEAN
|
||||
#endif
|
||||
|
||||
#endif /* SDL_internal_h_ */
|
||||
|
||||
|
|
|
@ -1426,6 +1426,7 @@ SDL_GetTextureScaleMode(SDL_Texture * texture, SDL_ScaleMode *scaleMode)
|
|||
return 0;
|
||||
}
|
||||
|
||||
#if SDL_HAVE_YUV
|
||||
static int
|
||||
SDL_UpdateTextureYUV(SDL_Texture * texture, const SDL_Rect * rect,
|
||||
const void *pixels, int pitch)
|
||||
|
@ -1471,6 +1472,7 @@ SDL_UpdateTextureYUV(SDL_Texture * texture, const SDL_Rect * rect,
|
|||
}
|
||||
return 0;
|
||||
}
|
||||
#endif /* SDL_HAVE_YUV */
|
||||
|
||||
static int
|
||||
SDL_UpdateTextureNative(SDL_Texture * texture, const SDL_Rect * rect,
|
||||
|
@ -1553,6 +1555,7 @@ SDL_UpdateTexture(SDL_Texture * texture, const SDL_Rect * rect,
|
|||
}
|
||||
}
|
||||
|
||||
#if SDL_HAVE_YUV
|
||||
static int
|
||||
SDL_UpdateTextureYUVPlanar(SDL_Texture * texture, const SDL_Rect * rect,
|
||||
const Uint8 *Yplane, int Ypitch,
|
||||
|
@ -1604,6 +1607,7 @@ SDL_UpdateTextureYUVPlanar(SDL_Texture * texture, const SDL_Rect * rect,
|
|||
}
|
||||
return 0;
|
||||
}
|
||||
#endif /* SDL_HAVE_YUV */
|
||||
|
||||
int SDL_UpdateYUVTexture(SDL_Texture * texture, const SDL_Rect * rect,
|
||||
const Uint8 *Yplane, int Ypitch,
|
||||
|
@ -1672,12 +1676,14 @@ int SDL_UpdateYUVTexture(SDL_Texture * texture, const SDL_Rect * rect,
|
|||
#endif
|
||||
}
|
||||
|
||||
#if SDL_HAVE_YUV
|
||||
static int
|
||||
SDL_LockTextureYUV(SDL_Texture * texture, const SDL_Rect * rect,
|
||||
void **pixels, int *pitch)
|
||||
{
|
||||
return SDL_SW_LockYUVTexture(texture->yuv, rect, pixels, pitch);
|
||||
}
|
||||
#endif /* SDL_HAVE_YUV */
|
||||
|
||||
static int
|
||||
SDL_LockTextureNative(SDL_Texture * texture, const SDL_Rect * rect,
|
||||
|
@ -1767,6 +1773,7 @@ SDL_LockTextureToSurface(SDL_Texture *texture, const SDL_Rect *rect,
|
|||
return 0;
|
||||
}
|
||||
|
||||
#if SDL_HAVE_YUV
|
||||
static void
|
||||
SDL_UnlockTextureYUV(SDL_Texture * texture)
|
||||
{
|
||||
|
@ -1787,6 +1794,7 @@ SDL_UnlockTextureYUV(SDL_Texture * texture)
|
|||
rect.w, rect.h, native_pixels, native_pitch);
|
||||
SDL_UnlockTexture(native);
|
||||
}
|
||||
#endif /* SDL_HAVE_YUV */
|
||||
|
||||
static void
|
||||
SDL_UnlockTextureNative(SDL_Texture * texture)
|
||||
|
|
|
@ -22,6 +22,8 @@
|
|||
|
||||
/* This is the software implementation of the YUV texture support */
|
||||
|
||||
#if SDL_HAVE_YUV
|
||||
|
||||
#include "SDL_assert.h"
|
||||
|
||||
#include "SDL_yuv_sw_c.h"
|
||||
|
@ -411,4 +413,6 @@ SDL_SW_DestroyYUVTexture(SDL_SW_YUVTexture * swdata)
|
|||
}
|
||||
}
|
||||
|
||||
#endif /* SDL_HAVE_YUV */
|
||||
|
||||
/* vi: set ts=4 sw=4 expandtab: */
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
*/
|
||||
#include "../../SDL_internal.h"
|
||||
|
||||
#if !SDL_RENDER_DISABLED
|
||||
#if SDL_VIDEO_RENDER_SW && !SDL_RENDER_DISABLED
|
||||
|
||||
#include "SDL_draw.h"
|
||||
#include "SDL_blendfillrect.h"
|
||||
|
@ -352,6 +352,6 @@ SDL_BlendFillRects(SDL_Surface * dst, const SDL_Rect * rects, int count,
|
|||
return status;
|
||||
}
|
||||
|
||||
#endif /* !SDL_RENDER_DISABLED */
|
||||
#endif /* SDL_VIDEO_RENDER_SW && !SDL_RENDER_DISABLED */
|
||||
|
||||
/* vi: set ts=4 sw=4 expandtab: */
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
*/
|
||||
#include "../../SDL_internal.h"
|
||||
|
||||
#if !SDL_RENDER_DISABLED
|
||||
#if SDL_VIDEO_RENDER_SW && !SDL_RENDER_DISABLED
|
||||
|
||||
#include "SDL_draw.h"
|
||||
#include "SDL_blendline.h"
|
||||
|
@ -870,6 +870,6 @@ SDL_BlendLines(SDL_Surface * dst, const SDL_Point * points, int count,
|
|||
return 0;
|
||||
}
|
||||
|
||||
#endif /* !SDL_RENDER_DISABLED */
|
||||
#endif /* SDL_VIDEO_RENDER_SW && !SDL_RENDER_DISABLED */
|
||||
|
||||
/* vi: set ts=4 sw=4 expandtab: */
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
*/
|
||||
#include "../../SDL_internal.h"
|
||||
|
||||
#if !SDL_RENDER_DISABLED
|
||||
#if SDL_VIDEO_RENDER_SW && !SDL_RENDER_DISABLED
|
||||
|
||||
#include "SDL_draw.h"
|
||||
#include "SDL_blendpoint.h"
|
||||
|
@ -357,6 +357,6 @@ SDL_BlendPoints(SDL_Surface * dst, const SDL_Point * points, int count,
|
|||
return status;
|
||||
}
|
||||
|
||||
#endif /* !SDL_RENDER_DISABLED */
|
||||
#endif /* SDL_VIDEO_RENDER_SW && !SDL_RENDER_DISABLED */
|
||||
|
||||
/* vi: set ts=4 sw=4 expandtab: */
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
*/
|
||||
#include "../../SDL_internal.h"
|
||||
|
||||
#if !SDL_RENDER_DISABLED
|
||||
#if SDL_VIDEO_RENDER_SW && !SDL_RENDER_DISABLED
|
||||
|
||||
#include "SDL_draw.h"
|
||||
#include "SDL_drawline.h"
|
||||
|
@ -204,6 +204,6 @@ SDL_DrawLines(SDL_Surface * dst, const SDL_Point * points, int count,
|
|||
return 0;
|
||||
}
|
||||
|
||||
#endif /* !SDL_RENDER_DISABLED */
|
||||
#endif /* SDL_VIDEO_RENDER_SW && !SDL_RENDER_DISABLED */
|
||||
|
||||
/* vi: set ts=4 sw=4 expandtab: */
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
*/
|
||||
#include "../../SDL_internal.h"
|
||||
|
||||
#if !SDL_RENDER_DISABLED
|
||||
#if SDL_VIDEO_RENDER_SW && !SDL_RENDER_DISABLED
|
||||
|
||||
#include "SDL_draw.h"
|
||||
#include "SDL_drawpoint.h"
|
||||
|
@ -109,6 +109,6 @@ SDL_DrawPoints(SDL_Surface * dst, const SDL_Point * points, int count,
|
|||
return 0;
|
||||
}
|
||||
|
||||
#endif /* !SDL_RENDER_DISABLED */
|
||||
#endif /* SDL_VIDEO_RENDER_SW && !SDL_RENDER_DISABLED */
|
||||
|
||||
/* vi: set ts=4 sw=4 expandtab: */
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
*/
|
||||
#include "../../SDL_internal.h"
|
||||
|
||||
#if !SDL_RENDER_DISABLED
|
||||
#if SDL_VIDEO_RENDER_SW && !SDL_RENDER_DISABLED
|
||||
|
||||
#include "../SDL_sysrender.h"
|
||||
#include "SDL_render_sw_c.h"
|
||||
|
@ -889,6 +889,6 @@ SDL_RenderDriver SW_RenderDriver = {
|
|||
0}
|
||||
};
|
||||
|
||||
#endif /* !SDL_RENDER_DISABLED */
|
||||
#endif /* SDL_VIDEO_RENDER_SW && !SDL_RENDER_DISABLED */
|
||||
|
||||
/* vi: set ts=4 sw=4 expandtab: */
|
||||
|
|
|
@ -30,6 +30,8 @@ Andreas Schiffler -- aschiffler at ferzkopp dot net
|
|||
*/
|
||||
#include "../../SDL_internal.h"
|
||||
|
||||
#if SDL_VIDEO_RENDER_SW && !SDL_RENDER_DISABLED
|
||||
|
||||
#if defined(__WIN32__)
|
||||
#include "../../core/windows/SDL_windows.h"
|
||||
#endif
|
||||
|
@ -532,3 +534,5 @@ SDLgfx_rotateSurface(SDL_Surface * src, double angle, int centerx, int centery,
|
|||
/* Return rotated surface */
|
||||
return rz_dst;
|
||||
}
|
||||
|
||||
#endif /* SDL_VIDEO_RENDER_SW && !SDL_RENDER_DISABLED */
|
||||
|
|
|
@ -20,6 +20,8 @@
|
|||
*/
|
||||
#include "../SDL_internal.h"
|
||||
|
||||
#if SDL_HAVE_RLE
|
||||
|
||||
/*
|
||||
* RLE encoding for software colorkey and alpha-channel acceleration
|
||||
*
|
||||
|
@ -1584,4 +1586,6 @@ SDL_UnRLESurface(SDL_Surface * surface, int recode)
|
|||
}
|
||||
}
|
||||
|
||||
#endif /* SDL_HAVE_RLE */
|
||||
|
||||
/* vi: set ts=4 sw=4 expandtab: */
|
||||
|
|
|
@ -99,6 +99,8 @@ SDL_SoftBlit(SDL_Surface * src, SDL_Rect * srcrect,
|
|||
return (okay ? 0 : -1);
|
||||
}
|
||||
|
||||
#if SDL_HAVE_BLIT_AUTO
|
||||
|
||||
#ifdef __MACOSX__
|
||||
#include <sys/sysctl.h>
|
||||
|
||||
|
@ -187,6 +189,7 @@ SDL_ChooseBlitFunc(Uint32 src_format, Uint32 dst_format, int flags,
|
|||
}
|
||||
return NULL;
|
||||
}
|
||||
#endif /* SDL_HAVE_BLIT_AUTO */
|
||||
|
||||
/* Figure out which of many blit routines to set up on a surface */
|
||||
int
|
||||
|
|
|
@ -20,6 +20,8 @@
|
|||
*/
|
||||
#include "../SDL_internal.h"
|
||||
|
||||
#if SDL_HAVE_BLIT_0
|
||||
|
||||
#include "SDL_video.h"
|
||||
#include "SDL_blit.h"
|
||||
|
||||
|
@ -480,4 +482,6 @@ SDL_CalculateBlit0(SDL_Surface * surface)
|
|||
return (SDL_BlitFunc) NULL;
|
||||
}
|
||||
|
||||
#endif /* SDL_HAVE_BLIT_0 */
|
||||
|
||||
/* vi: set ts=4 sw=4 expandtab: */
|
||||
|
|
|
@ -20,6 +20,8 @@
|
|||
*/
|
||||
#include "../SDL_internal.h"
|
||||
|
||||
#if SDL_HAVE_BLIT_1
|
||||
|
||||
#include "SDL_video.h"
|
||||
#include "SDL_blit.h"
|
||||
#include "SDL_sysvideo.h"
|
||||
|
@ -549,4 +551,6 @@ SDL_CalculateBlit1(SDL_Surface * surface)
|
|||
return (SDL_BlitFunc) NULL;
|
||||
}
|
||||
|
||||
#endif /* SDL_HAVE_BLIT_1 */
|
||||
|
||||
/* vi: set ts=4 sw=4 expandtab: */
|
||||
|
|
|
@ -20,6 +20,8 @@
|
|||
*/
|
||||
#include "../SDL_internal.h"
|
||||
|
||||
#if SDL_HAVE_BLIT_A
|
||||
|
||||
#include "SDL_video.h"
|
||||
#include "SDL_blit.h"
|
||||
|
||||
|
@ -1489,4 +1491,6 @@ SDL_CalculateBlitA(SDL_Surface * surface)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
#endif /* SDL_HAVE_BLIT_A */
|
||||
|
||||
/* vi: set ts=4 sw=4 expandtab: */
|
||||
|
|
|
@ -20,6 +20,8 @@
|
|||
*/
|
||||
#include "../SDL_internal.h"
|
||||
|
||||
#if SDL_HAVE_BLIT_N
|
||||
|
||||
#include "SDL_video.h"
|
||||
#include "SDL_endian.h"
|
||||
#include "SDL_cpuinfo.h"
|
||||
|
@ -1450,6 +1452,8 @@ Blit_RGB888_RGB565(SDL_BlitInfo * info)
|
|||
}
|
||||
|
||||
|
||||
#if SDL_HAVE_BLIT_N_RGB565
|
||||
|
||||
/* Special optimized blit for RGB 5-6-5 --> 32-bit RGB surfaces */
|
||||
#define RGB565_32(dst, src, map) (map[src[LO]*2] + map[src[HI]*2+1])
|
||||
static void
|
||||
|
@ -2068,6 +2072,8 @@ Blit_RGB565_BGRA8888(SDL_BlitInfo * info)
|
|||
Blit_RGB565_32(info, RGB565_BGRA8888_LUT);
|
||||
}
|
||||
|
||||
#endif /* SDL_HAVE_BLIT_N_RGB565 */
|
||||
|
||||
static void
|
||||
BlitNto1(SDL_BlitInfo * info)
|
||||
{
|
||||
|
@ -3461,4 +3467,6 @@ SDL_CalculateBlitN(SDL_Surface * surface)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
#endif /* SDL_HAVE_BLIT_N */
|
||||
|
||||
/* vi: set ts=4 sw=4 expandtab: */
|
||||
|
|
|
@ -21,6 +21,8 @@
|
|||
*/
|
||||
#include "../SDL_internal.h"
|
||||
|
||||
#if SDL_HAVE_BLIT_AUTO
|
||||
|
||||
/* *INDENT-OFF* */
|
||||
|
||||
#include "SDL_video.h"
|
||||
|
@ -7674,4 +7676,6 @@ SDL_BlitFuncEntry SDL_GeneratedBlitFuncTable[] = {
|
|||
|
||||
/* *INDENT-ON* */
|
||||
|
||||
#endif /* SDL_HAVE_BLIT_AUTO */
|
||||
|
||||
/* vi: set ts=4 sw=4 expandtab: */
|
||||
|
|
|
@ -21,10 +21,14 @@
|
|||
*/
|
||||
#include "../SDL_internal.h"
|
||||
|
||||
#if SDL_HAVE_BLIT_AUTO
|
||||
|
||||
/* *INDENT-OFF* */
|
||||
|
||||
extern SDL_BlitFuncEntry SDL_GeneratedBlitFuncTable[];
|
||||
|
||||
/* *INDENT-ON* */
|
||||
|
||||
#endif /* SDL_HAVE_BLIT_AUTO */
|
||||
|
||||
/* vi: set ts=4 sw=4 expandtab: */
|
||||
|
|
|
@ -56,6 +56,8 @@ SDL_YUV_CONVERSION_MODE SDL_GetYUVConversionModeForResolution(int width, int hei
|
|||
return mode;
|
||||
}
|
||||
|
||||
#if SDL_HAVE_YUV
|
||||
|
||||
static int GetYUVConversionType(int width, int height, YCbCrType *yuv_type)
|
||||
{
|
||||
switch (SDL_GetYUVConversionModeForResolution(width, height)) {
|
||||
|
@ -1809,11 +1811,14 @@ SDL_ConvertPixels_Packed4_to_Planar2x2(int width, int height,
|
|||
return 0;
|
||||
}
|
||||
|
||||
#endif /* SDL_HAVE_YUV */
|
||||
|
||||
int
|
||||
SDL_ConvertPixels_YUV_to_YUV(int width, int height,
|
||||
Uint32 src_format, const void *src, int src_pitch,
|
||||
Uint32 dst_format, void *dst, int dst_pitch)
|
||||
{
|
||||
#if SDL_HAVE_YUV
|
||||
if (src_format == dst_format) {
|
||||
if (src == dst) {
|
||||
/* Nothing to do */
|
||||
|
@ -1833,6 +1838,9 @@ SDL_ConvertPixels_YUV_to_YUV(int width, int height,
|
|||
} else {
|
||||
return SDL_SetError("SDL_ConvertPixels_YUV_to_YUV: Unsupported YUV conversion: %s -> %s", SDL_GetPixelFormatName(src_format), SDL_GetPixelFormatName(dst_format));
|
||||
}
|
||||
#else
|
||||
return SDL_SetError("SDL not built with YUV support");
|
||||
#endif
|
||||
}
|
||||
|
||||
/* vi: set ts=4 sw=4 expandtab: */
|
||||
|
|
|
@ -112,6 +112,8 @@ sub open_file {
|
|||
*/
|
||||
#include "../SDL_internal.h"
|
||||
|
||||
#if SDL_HAVE_BLIT_AUTO
|
||||
|
||||
/* *INDENT-OFF* */
|
||||
|
||||
__EOF__
|
||||
|
@ -122,6 +124,8 @@ sub close_file {
|
|||
print FILE <<__EOF__;
|
||||
/* *INDENT-ON* */
|
||||
|
||||
#endif /* SDL_HAVE_BLIT_AUTO */
|
||||
|
||||
/* vi: set ts=4 sw=4 expandtab: */
|
||||
__EOF__
|
||||
close FILE;
|
||||
|
|
|
@ -2,6 +2,8 @@
|
|||
// Distributed under BSD 3-Clause License
|
||||
#include "../../SDL_internal.h"
|
||||
|
||||
#if SDL_HAVE_YUV
|
||||
|
||||
#include "yuv_rgb.h"
|
||||
|
||||
#include "SDL_cpuinfo.h"
|
||||
|
@ -685,3 +687,4 @@ void rgb24_yuv420_sseu(uint32_t width, uint32_t height,
|
|||
|
||||
#endif //__SSE2__
|
||||
|
||||
#endif /* SDL_HAVE_YUV */
|
||||
|
|
Loading…
Reference in New Issue