mirror of
https://github.com/libretro/RetroArch
synced 2025-03-06 04:13:52 +00:00
Start moving over to SDL_image rather than imlib2.
Imlib2 takes more space, and was a pure bitch to compile for Win32, so I gave up ... ;)
This commit is contained in:
parent
99a1784aaf
commit
d0ba59f8b5
6
Makefile
6
Makefile
@ -104,9 +104,9 @@ ifeq ($(HAVE_FREETYPE), 1)
|
|||||||
DEFINES += $(FREETYPE_CFLAGS)
|
DEFINES += $(FREETYPE_CFLAGS)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(HAVE_IMLIB), 1)
|
ifeq ($(HAVE_SDL_IMAGE), 1)
|
||||||
LIBS += $(IMLIB_LIBS)
|
LIBS += $(SDL_IMAGE_LIBS)
|
||||||
DEFINES += $(IMLIB_CFLAGS)
|
DEFINES += $(SDL_IMAGE_CFLAGS)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(HAVE_FFMPEG), 1)
|
ifeq ($(HAVE_FFMPEG), 1)
|
||||||
|
@ -16,9 +16,8 @@ HAVE_RSOUND = 1
|
|||||||
HAVE_DYLIB = 1
|
HAVE_DYLIB = 1
|
||||||
HAVE_NETPLAY = 1
|
HAVE_NETPLAY = 1
|
||||||
HAVE_FBO = 1
|
HAVE_FBO = 1
|
||||||
HAVE_CG = 0
|
HAVE_CG = 1
|
||||||
HAVE_IMLIB = 0
|
HAVE_PYTHON = 1
|
||||||
HAVE_PYTHON = 0
|
|
||||||
libsnes ?= -lsnes
|
libsnes ?= -lsnes
|
||||||
|
|
||||||
LIBS = -lm
|
LIBS = -lm
|
||||||
@ -95,11 +94,6 @@ ifeq ($(HAVE_DYLIB), 1)
|
|||||||
OBJ += gfx/ext.o audio/ext.o
|
OBJ += gfx/ext.o audio/ext.o
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(HAVE_IMLIB), 1)
|
|
||||||
LIBS += -lImlib2
|
|
||||||
DEFINES += -DHAVE_IMLIB
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(HAVE_PYTHON), 1)
|
ifeq ($(HAVE_PYTHON), 1)
|
||||||
LIBS += -lpython32
|
LIBS += -lpython32
|
||||||
DEFINES += -DHAVE_PYTHON -Ipython
|
DEFINES += -DHAVE_PYTHON -Ipython
|
||||||
|
@ -17,7 +17,6 @@ HAVE_DYLIB = 1
|
|||||||
HAVE_NETPLAY = 1
|
HAVE_NETPLAY = 1
|
||||||
HAVE_FBO = 1
|
HAVE_FBO = 1
|
||||||
HAVE_CG = 0
|
HAVE_CG = 0
|
||||||
HAVE_IMLIB = 0
|
|
||||||
HAVE_PYTHON = 0
|
HAVE_PYTHON = 0
|
||||||
libsnes ?= -lsnes
|
libsnes ?= -lsnes
|
||||||
|
|
||||||
@ -95,11 +94,6 @@ ifeq ($(HAVE_DYLIB), 1)
|
|||||||
OBJ += gfx/ext.o audio/ext.o
|
OBJ += gfx/ext.o audio/ext.o
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(HAVE_IMLIB), 1)
|
|
||||||
LIBS += -lImlib2
|
|
||||||
DEFINES += -DHAVE_IMLIB
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(HAVE_PYTHON), 1)
|
ifeq ($(HAVE_PYTHON), 1)
|
||||||
LIBS += -lpython32
|
LIBS += -lpython32
|
||||||
DEFINES += -DHAVE_PYTHON -Ipython
|
DEFINES += -DHAVE_PYTHON -Ipython
|
||||||
|
@ -80,10 +80,10 @@ static const bool _xml_supp = true;
|
|||||||
static const bool _xml_supp = false;
|
static const bool _xml_supp = false;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_IMLIB
|
#ifdef HAVE_SDL_IMAGE
|
||||||
static const bool _imlib_supp = true;
|
static const bool _sdl_image_supp = true;
|
||||||
#else
|
#else
|
||||||
static const bool _imlib_supp = false;
|
static const bool _sdl_image_supp = false;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef HAVE_FBO
|
#ifdef HAVE_FBO
|
||||||
|
20
gfx/image.c
20
gfx/image.c
@ -27,35 +27,33 @@
|
|||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
|
|
||||||
#ifdef HAVE_IMLIB
|
#ifdef HAVE_SDL_IMAGE
|
||||||
|
|
||||||
#include <Imlib2.h>
|
#include "SDL_image.h"
|
||||||
bool texture_image_load(const char *path, struct texture_image *out_img)
|
bool texture_image_load(const char *path, struct texture_image *out_img)
|
||||||
{
|
{
|
||||||
Imlib_Image img;
|
SDL_Surface *img = IMG_Load(path);
|
||||||
img = imlib_load_image(path);
|
|
||||||
if (!img)
|
if (!img)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
imlib_context_set_image(img);
|
out_img->width = img->w;
|
||||||
|
out_img->height = img->h;
|
||||||
out_img->width = imlib_image_get_width();
|
|
||||||
out_img->height = imlib_image_get_height();
|
|
||||||
|
|
||||||
size_t size = out_img->width * out_img->height * sizeof(uint32_t);
|
size_t size = out_img->width * out_img->height * sizeof(uint32_t);
|
||||||
out_img->pixels = malloc(size);
|
out_img->pixels = malloc(size);
|
||||||
if (!out_img->pixels)
|
if (!out_img->pixels)
|
||||||
{
|
{
|
||||||
imlib_free_image();
|
SDL_FreeSurface(img);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
const uint32_t *read = imlib_image_get_data_for_reading_only();
|
const uint32_t *read = img->pixels;
|
||||||
// Convert ARGB -> RGBA.
|
// Convert ARGB -> RGBA.
|
||||||
for (unsigned i = 0; i < size / sizeof(uint32_t); i++)
|
for (unsigned i = 0; i < size / sizeof(uint32_t); i++)
|
||||||
out_img->pixels[i] = (read[i] >> 24) | (read[i] << 8);
|
out_img->pixels[i] = (read[i] >> 24) | (read[i] << 8);
|
||||||
|
|
||||||
imlib_free_image();
|
SDL_FreeSurface(img);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -43,7 +43,7 @@ check_critical SDL "Cannot find SDL library."
|
|||||||
|
|
||||||
check_lib CG -lCg cgCreateContext
|
check_lib CG -lCg cgCreateContext
|
||||||
check_pkgconf XML libxml-2.0
|
check_pkgconf XML libxml-2.0
|
||||||
check_pkgconf IMLIB imlib2
|
check_pkgconf SDL_IMAGE SDL_image
|
||||||
|
|
||||||
if [ $HAVE_FFMPEG != no ]; then
|
if [ $HAVE_FFMPEG != no ]; then
|
||||||
check_pkgconf AVCODEC libavcodec
|
check_pkgconf AVCODEC libavcodec
|
||||||
@ -67,7 +67,7 @@ check_lib STRL -lc strlcpy
|
|||||||
check_pkgconf PYTHON python3
|
check_pkgconf PYTHON python3
|
||||||
|
|
||||||
# Creates config.mk and config.h.
|
# Creates config.mk and config.h.
|
||||||
VARS="ALSA OSS AL RSOUND ROAR JACK PULSE SDL DYLIB CG XML IMLIB DYNAMIC FFMPEG AVCODEC AVFORMAT AVCORE AVUTIL SWSCALE SRC CONFIGFILE FREETYPE XVIDEO NETPLAY FBO STRL PYTHON"
|
VARS="ALSA OSS AL RSOUND ROAR JACK PULSE SDL DYLIB CG XML SDL_IMAGE DYNAMIC FFMPEG AVCODEC AVFORMAT AVCORE AVUTIL SWSCALE SRC CONFIGFILE FREETYPE XVIDEO NETPLAY FBO STRL PYTHON"
|
||||||
create_config_make config.mk $VARS
|
create_config_make config.mk $VARS
|
||||||
create_config_header config.h $VARS
|
create_config_header config.h $VARS
|
||||||
|
|
||||||
|
@ -26,5 +26,5 @@ add_command_line_enable JACK "Enable JACK support" auto
|
|||||||
add_command_line_enable PULSE "Enable PulseAudio support" auto
|
add_command_line_enable PULSE "Enable PulseAudio support" auto
|
||||||
add_command_line_enable FREETYPE "Enable FreeType support" auto
|
add_command_line_enable FREETYPE "Enable FreeType support" auto
|
||||||
add_command_line_enable XVIDEO "Enable XVideo support" auto
|
add_command_line_enable XVIDEO "Enable XVideo support" auto
|
||||||
add_command_line_enable IMLIB "Enable imlib2 support" auto
|
add_command_line_enable SDL_IMAGE "Enable SDL_image support" auto
|
||||||
add_command_line_enable PYTHON "Enable Python 3 support for shaders" no
|
add_command_line_enable PYTHON "Enable Python 3 support for shaders" no
|
||||||
|
2
ssnes.c
2
ssnes.c
@ -355,7 +355,7 @@ static void print_features(void)
|
|||||||
_PSUPP(dylib, "External", "External filter and driver support");
|
_PSUPP(dylib, "External", "External filter and driver support");
|
||||||
_PSUPP(cg, "Cg", "Cg pixel shaders");
|
_PSUPP(cg, "Cg", "Cg pixel shaders");
|
||||||
_PSUPP(xml, "XML", "bSNES XML pixel shaders");
|
_PSUPP(xml, "XML", "bSNES XML pixel shaders");
|
||||||
_PSUPP(imlib, "Imlib2", "Imlib2 image loading");
|
_PSUPP(sdl_image, "SDL_image", "SDL_image image loading");
|
||||||
_PSUPP(fbo, "FBO", "OpenGL render-to-texture (multi-pass shaders)");
|
_PSUPP(fbo, "FBO", "OpenGL render-to-texture (multi-pass shaders)");
|
||||||
_PSUPP(dynamic, "Dynamic", "Dynamic run-time loading of libsnes library");
|
_PSUPP(dynamic, "Dynamic", "Dynamic run-time loading of libsnes library");
|
||||||
_PSUPP(ffmpeg, "FFmpeg", "On-the-fly recording of gameplay with libavcodec");
|
_PSUPP(ffmpeg, "FFmpeg", "On-the-fly recording of gameplay with libavcodec");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user