mirror of
https://github.com/libretro/RetroArch
synced 2025-03-03 04:14:00 +00:00
Merge pull request #10378 from phcoder/qnx-rb
Several fixes for QNX/Blackberry10
This commit is contained in:
commit
83958a4402
@ -75,15 +75,22 @@ ifeq ($(WHOLE_ARCHIVE_LINK), 1)
|
||||
WHOLE_END := -Wl,--no-whole-archive
|
||||
endif
|
||||
|
||||
STATIC_BUILD = 1
|
||||
ifneq (,$(findstring msvc,$(platform)))
|
||||
LIBS := $(WHOLE_START) $(WHOLE_END)
|
||||
else
|
||||
STATIC_BUILD = 0
|
||||
endif
|
||||
ifneq (,$(findstring unix,$(platform)))
|
||||
STATIC_BUILD = 0
|
||||
endif
|
||||
ifeq (qnx, $(platform))
|
||||
STATIC_BUILD = 0
|
||||
endif
|
||||
|
||||
ifeq ($(STATIC_BUILD), 0)
|
||||
LIBS := $(WHOLE_START) $(WHOLE_END)
|
||||
else
|
||||
LIBS := $(WHOLE_START) -lretro_$(platform) $(WHOLE_END)
|
||||
endif
|
||||
endif
|
||||
|
||||
libogc_platform :=
|
||||
|
||||
@ -791,6 +798,44 @@ else ifneq (,$(findstring windows_msvc2015,$(platform)))
|
||||
export INCLUDE := $(INCLUDE);libretro-common\include;libretro-common\include\compat\msvc;gfx\include;deps;deps\stb
|
||||
export LIB := $(LIB)
|
||||
endif
|
||||
else ifeq (qnx,$(platform))
|
||||
HAVE_AUDIOMIXER := 1
|
||||
HAVE_RPNG := 1
|
||||
HAVE_RJPEG := 1
|
||||
HAVE_RBMP := 1
|
||||
HAVE_RTGA := 1
|
||||
HAVE_ZLIB := 1
|
||||
HAVE_7ZIP := 1
|
||||
HAVE_NETWORKING := 1
|
||||
HAVE_NETWORK_CMD := 1
|
||||
HAVE_NETPLAYDISCOVERY := 1
|
||||
HAVE_OVERLAY := 1
|
||||
HAVE_VIDEO_LAYOUT := 0
|
||||
HAVE_MATERIALUI := 1
|
||||
HAVE_XMB := 1
|
||||
HAVE_STB_FONT := 1
|
||||
HAVE_THREADS := 1
|
||||
HAVE_LIBRETRODB := 1
|
||||
HAVE_COMMAND := 1
|
||||
HAVE_STDIN_CMD := 1
|
||||
HAVE_CMD := 1
|
||||
HAVE_DYLIB := 1
|
||||
HAVE_DYNAMIC := 1
|
||||
HAVE_GRIFFIN_CPP := 0
|
||||
WANT_GLSLANG := 0
|
||||
HAVE_CONFIGFILE := 1
|
||||
CC=qcc -Vgcc_ntoarmv7le
|
||||
CXX=QCC -Vgcc_ntoarmv7le
|
||||
|
||||
ifeq ($(DEBUG), 1)
|
||||
LDFLAGS += -g
|
||||
endif
|
||||
|
||||
PLATCFLAGS += -DHAVE_SHADERPIPELINE -DHAVE_OPENGL -DHAVE_OPENGLES -DHAVE_OPENGLES2 -DHAVE_OZONE -DHAVE_CC_RESAMPLER -DHAVE_CHEEVOS -DRC_DISABLE_LUA -DHAVE_FBO -DHAVE_GL_SYNC -DHAVE_GLSLANG -DHAVE_BUILTINGLSLANG -DHAVE_IMAGEVIEWER -DHAVE_LANGEXTRA -DHAVE_RUNAHEAD -DHAVE_GFX_WIDGETS -DHAVE_CONFIGFILE -DHAVE_SPIRV_CROSS -DHAVE_STB_FONT -DHAVE_ONLINE_UPDATER -DHAVE_UPDATE_ASSETS -DHAVE_UPDATE_CORES -DHAVE_XMB -DRARCH_INTERNAL -DWANT_GLSLANG -DHAVE_XCB -DHAVE_EGL -DHAVE_BB10 -DHAVE_GLSL -DHAVE_AL -DRARCH_MOBILE
|
||||
EXT_TARGET := $(TARGET_NAME)
|
||||
EXT_INTER_TARGET := $(TARGET_NAME)
|
||||
INCLUDE += -Ilibretro-common/include -Igfx/include -Ideps -Ideps/stb -Ideps/rcheevos/include -Ideps/SPIRV-Cross -Ideps/glslang -I.
|
||||
LIBS += -lEGL -lbps -lscreen -lsocket -lm -lGLESv2 -lOpenAL
|
||||
else ifneq (,$(findstring unix,$(platform)))
|
||||
HAVE_AUDIOMIXER := 1
|
||||
HAVE_RPNG := 1
|
||||
@ -1096,7 +1141,12 @@ $(APP_BOOTER_DIR)/app_booter.bin:
|
||||
$(MAKE) -C $(APP_BOOTER_DIR)
|
||||
|
||||
pkg: all
|
||||
ifeq ($(platform), wii)
|
||||
ifeq ($(platform), qnx)
|
||||
mkdir -p pkg/qnx/pkg
|
||||
cp -r $(EXT_TARGET) pkg/qnx/pkg/RetroArch
|
||||
cp -r media/canvas.png pkg/qnx/pkg/canvas.png
|
||||
cp -r media/retroarch-96x96.png pkg/qnx/pkg/retroarch-96x96.png
|
||||
else ifeq ($(platform), wii)
|
||||
cp -r $(EXT_TARGET) pkg/wii/CORE.dol
|
||||
else ifeq ($(platform), ngc)
|
||||
cp -r $(EXT_TARGET) pkg/ngc/CORE.dol
|
||||
@ -1104,6 +1154,18 @@ else ifeq ($(platform), psp1)
|
||||
psp-fixup-imports$(EXT) $(EXT_TARGET)
|
||||
endif
|
||||
|
||||
ifeq ($(platform), qnx)
|
||||
retroarch-dev.bar: pkg
|
||||
ifeq ($(QNX_DEBUGTOKEN),)
|
||||
blackberry-nativepackager -package $@ -devMode pkg/qnx/bar-descriptor.xml -C pkg/qnx/pkg pkg/qnx/pkg/*
|
||||
else
|
||||
blackberry-nativepackager -package $@ -devMode -debugToken $(QNX_DEBUGTOKEN) pkg/qnx/bar-descriptor.xml -C pkg/qnx/pkg pkg/qnx/pkg/*
|
||||
endif
|
||||
|
||||
retroarch-release.bar: pkg
|
||||
blackberry-nativepackager -package $@ pkg/qnx/bar-descriptor.xml -C pkg/qnx/pkg pkg/qnx/pkg/*
|
||||
endif
|
||||
|
||||
shaders-checkout:
|
||||
@if test -d $(SHADER_CG_DIR); then \
|
||||
echo "[SHADER CHECKOUT::] Git pulling common-shaders..."; \
|
||||
|
@ -102,8 +102,6 @@ static void frontend_qnx_get_environment_settings(int *argc, char *argv[],
|
||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_VIDEO_LAYOUT], data_path,
|
||||
"layouts", sizeof(g_defaults.dirs[DEFAULT_DIR_VIDEO_LAYOUT]));
|
||||
#endif
|
||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_SHADERS], data_path,
|
||||
"shaders", sizeof(g_defaults.dirs[DEFAULT_DIR_SHADERS]));
|
||||
|
||||
/* user data */
|
||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_CHEATS], user_path,
|
||||
@ -116,8 +114,6 @@ static void frontend_qnx_get_environment_settings(int *argc, char *argv[],
|
||||
"downloads", sizeof(g_defaults.dirs[DEFAULT_DIR_CORE_ASSETS]));
|
||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER], user_path,
|
||||
"filters/audio", sizeof(g_defaults.dirs[DEFAULT_DIR_AUDIO_FILTER]));
|
||||
fill_pathname_join(g_defaults.dirs[DEFAULT_VIDEO_FILTER], user_path,
|
||||
"filters/video", sizeof(g_defaults.dirs[DEFAULT_VIDEO_FILTER]));
|
||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_PLAYLIST], user_path,
|
||||
"playlists", sizeof(g_defaults.dirs[DEFAULT_DIR_PLAYLIST]));
|
||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_REMAP], user_path,
|
||||
@ -130,8 +126,6 @@ static void frontend_qnx_get_environment_settings(int *argc, char *argv[],
|
||||
"states", sizeof(g_defaults.dirs[DEFAULT_DIR_SAVESTATE]));
|
||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_SYSTEM], user_path,
|
||||
"system", sizeof(g_defaults.dirs[DEFAULT_DIR_SYSTEM]));
|
||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_THUMBNAIL], user_path,
|
||||
"thumbnails", sizeof(g_defaults.dirs[DEFAULT_DIR_THUMBNAIL]));
|
||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_WALLPAPERS], user_path,
|
||||
"wallpapers", sizeof(g_defaults.dirs[DEFAULT_DIR_WALLPAPERS]));
|
||||
fill_pathname_join(g_defaults.dirs[DEFAULT_DIR_LOGS], user_path,
|
||||
|
@ -135,7 +135,6 @@ static void qnx_process_gamepad_event(
|
||||
int i;
|
||||
screen_device_t device;
|
||||
qnx_input_device_t* controller = NULL;
|
||||
uint64_t *state_cur = NULL;
|
||||
|
||||
(void)type;
|
||||
|
||||
@ -307,18 +306,35 @@ static void qnx_handle_device(qnx_input_t *qnx,
|
||||
}
|
||||
|
||||
/* Find currently connected gamepads. */
|
||||
static void qnx_discover_controllers(qnx_input_t *qnx)
|
||||
static int qnx_discover_controllers(qnx_input_t *qnx)
|
||||
{
|
||||
/* Get an array of all available devices. */
|
||||
int deviceCount;
|
||||
int deviceCount = 0;
|
||||
int ret;
|
||||
unsigned i;
|
||||
|
||||
screen_get_context_property_iv(screen_ctx,
|
||||
ret = screen_get_context_property_iv(screen_ctx,
|
||||
SCREEN_PROPERTY_DEVICE_COUNT, &deviceCount);
|
||||
if (ret < 0) {
|
||||
RARCH_ERR("Error querying SCREEN_PROPERTY_DEVICE_COUNT: [%d] %s\n",
|
||||
errno, strerror(errno));
|
||||
return false;
|
||||
}
|
||||
screen_device_t* devices_found = (screen_device_t*)
|
||||
calloc(deviceCount, sizeof(screen_device_t));
|
||||
screen_get_context_property_pv(screen_ctx,
|
||||
if (!devices_found) {
|
||||
RARCH_ERR("Error allocating devices_found, deviceCount=%d\n",
|
||||
deviceCount);
|
||||
return false;
|
||||
}
|
||||
|
||||
ret = screen_get_context_property_pv(screen_ctx,
|
||||
SCREEN_PROPERTY_DEVICES, (void**)devices_found);
|
||||
if (ret < 0) {
|
||||
RARCH_ERR("Error querying SCREEN_PROPERTY_DEVICES: [%d] %s\n",
|
||||
errno, strerror(errno));
|
||||
return false;
|
||||
}
|
||||
|
||||
/* Scan the list for gamepad and joystick devices. */
|
||||
for(i = 0; i < qnx->pads_connected; ++i)
|
||||
@ -348,6 +364,8 @@ static void qnx_discover_controllers(qnx_input_t *qnx)
|
||||
}
|
||||
|
||||
free(devices_found);
|
||||
|
||||
return true;
|
||||
}
|
||||
#endif
|
||||
|
||||
@ -596,7 +614,6 @@ static void qnx_handle_screen_event(qnx_input_t *qnx, bps_event_t *event)
|
||||
static void qnx_handle_navigator_event(
|
||||
qnx_input_t *qnx, bps_event_t *event)
|
||||
{
|
||||
navigator_window_state_t state;
|
||||
bps_event_t *event_pause = NULL;
|
||||
|
||||
switch (bps_event_get_code(event))
|
||||
@ -652,9 +669,6 @@ static void qnx_handle_navigator_event(
|
||||
|
||||
return;
|
||||
|
||||
togglemenu:
|
||||
command_event(CMD_EVENT_MENU_TOGGLE, NULL);
|
||||
return;
|
||||
shutdown:
|
||||
rarch_ctl(RARCH_CTL_SET_SHUTDOWN, NULL);
|
||||
return;
|
||||
@ -808,7 +822,7 @@ static int16_t qnx_input_state(void *data,
|
||||
for (i = 0; i < RARCH_FIRST_CUSTOM_BIND; i++)
|
||||
{
|
||||
if (qnx_is_pressed(
|
||||
qnx, joypad_info, port, binds[port], i))
|
||||
qnx, joypad_info, binds[port], port, i))
|
||||
{
|
||||
ret |= (1 << i);
|
||||
continue;
|
||||
@ -818,9 +832,14 @@ static int16_t qnx_input_state(void *data,
|
||||
return ret;
|
||||
}
|
||||
else
|
||||
if (qnx_is_pressed(qnx, joypad_info, port, binds[port], id))
|
||||
if (qnx_is_pressed(qnx, joypad_info, binds[port], port, id))
|
||||
return true;
|
||||
break;
|
||||
case RETRO_DEVICE_ANALOG:
|
||||
if (binds[port])
|
||||
return input_joypad_analog(qnx->joypad, joypad_info,
|
||||
port, idx, id, binds[port]);
|
||||
return 0;
|
||||
case RETRO_DEVICE_KEYBOARD:
|
||||
return qnx_keyboard_pressed(qnx, id);
|
||||
case RETRO_DEVICE_POINTER:
|
||||
|
Loading…
x
Reference in New Issue
Block a user