mirror of
https://github.com/RPCSX/rpcsx.git
synced 2026-01-06 08:40:28 +01:00
ps3/android: do not use qt video encoder for savedata
fix build
This commit is contained in:
parent
79633a7740
commit
16e11b1f8c
79
3rdparty/CMakeLists.txt
vendored
79
3rdparty/CMakeLists.txt
vendored
|
|
@ -35,7 +35,7 @@ option(SPIRV_CROSS_SKIP_INSTALL "" on)
|
|||
add_subdirectory(SPIRV-Cross)
|
||||
|
||||
add_subdirectory(glslang)
|
||||
if(NOT TARGET glslang::glslang-standalone)
|
||||
if(NOT TARGET glslang::glslang-standalone AND TARGET glslang-standalone)
|
||||
add_executable(glslang::glslang-standalone ALIAS glslang-standalone)
|
||||
endif()
|
||||
|
||||
|
|
@ -49,49 +49,50 @@ target_link_libraries(3rdparty_json INTERFACE nlohmann_json)
|
|||
|
||||
add_subdirectory(LibAtrac9)
|
||||
|
||||
set(FFMPEG_PATH ${CMAKE_CURRENT_SOURCE_DIR}/FFmpeg)
|
||||
add_custom_command(
|
||||
OUTPUT ${FFMPEG_PATH}/config.h
|
||||
COMMAND ./configure --disable-libdrm --disable-vaapi --disable-vdpau --disable-zlib --disable-lzma
|
||||
COMMENT "Configuring FFmpeg..."
|
||||
WORKING_DIRECTORY ${FFMPEG_PATH}
|
||||
)
|
||||
add_custom_target(ffmpeg-configure DEPENDS ${FFMPEG_PATH}/config.h)
|
||||
if (COMPILE_FFMPEG)
|
||||
set(FFMPEG_PATH ${CMAKE_CURRENT_SOURCE_DIR}/FFmpeg)
|
||||
add_custom_command(
|
||||
OUTPUT ${FFMPEG_PATH}/config.h
|
||||
COMMAND ./configure --disable-libdrm --disable-vaapi --disable-vdpau --disable-zlib --disable-lzma
|
||||
COMMENT "Configuring FFmpeg..."
|
||||
WORKING_DIRECTORY ${FFMPEG_PATH}
|
||||
)
|
||||
add_custom_target(ffmpeg-configure DEPENDS ${FFMPEG_PATH}/config.h)
|
||||
|
||||
function(import_ffmpeg_library name)
|
||||
if (${CMAKE_GENERATOR} STREQUAL "Unix Makefiles")
|
||||
set(MAKE_COMMAND $(MAKE) -j$(nproc))
|
||||
elseif (${CMAKE_GENERATOR} STREQUAL "Ninja")
|
||||
set(MAKE_COMMAND make -j$$(nproc))
|
||||
else()
|
||||
set(MAKE_COMMAND make)
|
||||
endif()
|
||||
function(import_ffmpeg_library name)
|
||||
if (${CMAKE_GENERATOR} STREQUAL "Unix Makefiles")
|
||||
set(MAKE_COMMAND $(MAKE) -j$(nproc))
|
||||
elseif (${CMAKE_GENERATOR} STREQUAL "Ninja")
|
||||
set(MAKE_COMMAND make -j$$(nproc))
|
||||
else()
|
||||
set(MAKE_COMMAND make)
|
||||
endif()
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT "${FFMPEG_PATH}/lib${name}/lib${name}.a"
|
||||
COMMAND ${MAKE_COMMAND} -C ${FFMPEG_PATH} "lib${name}/lib${name}.a"
|
||||
COMMENT "Building lib${name}/lib${name}.a"
|
||||
DEPENDS ffmpeg-configure
|
||||
WORKING_DIRECTORY ${FFMPEG_PATH}
|
||||
)
|
||||
add_custom_command(
|
||||
OUTPUT "${FFMPEG_PATH}/lib${name}/lib${name}.a"
|
||||
COMMAND ${MAKE_COMMAND} -C ${FFMPEG_PATH} "lib${name}/lib${name}.a"
|
||||
COMMENT "Building lib${name}/lib${name}.a"
|
||||
DEPENDS ffmpeg-configure
|
||||
WORKING_DIRECTORY ${FFMPEG_PATH}
|
||||
)
|
||||
|
||||
add_custom_target(ffmpeg-build-${name} DEPENDS "${FFMPEG_PATH}/lib${name}/lib${name}.a")
|
||||
add_custom_target(ffmpeg-build-${name} DEPENDS "${FFMPEG_PATH}/lib${name}/lib${name}.a")
|
||||
|
||||
add_library(ffmpeg::${name} STATIC IMPORTED GLOBAL)
|
||||
set_property(TARGET ffmpeg::${name} PROPERTY IMPORTED_LOCATION "${FFMPEG_PATH}/lib${name}/lib${name}.a")
|
||||
set_property(TARGET ffmpeg::${name} PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${FFMPEG_PATH}")
|
||||
add_dependencies(ffmpeg::${name} ffmpeg-build-${name})
|
||||
endfunction()
|
||||
|
||||
import_ffmpeg_library(avcodec)
|
||||
import_ffmpeg_library(avformat)
|
||||
import_ffmpeg_library(avfilter)
|
||||
import_ffmpeg_library(avdevice)
|
||||
import_ffmpeg_library(avutil)
|
||||
import_ffmpeg_library(swscale)
|
||||
import_ffmpeg_library(swresample)
|
||||
import_ffmpeg_library(postproc)
|
||||
add_library(ffmpeg::${name} STATIC IMPORTED GLOBAL)
|
||||
set_property(TARGET ffmpeg::${name} PROPERTY IMPORTED_LOCATION "${FFMPEG_PATH}/lib${name}/lib${name}.a")
|
||||
set_property(TARGET ffmpeg::${name} PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${FFMPEG_PATH}")
|
||||
add_dependencies(ffmpeg::${name} ffmpeg-build-${name})
|
||||
endfunction()
|
||||
|
||||
import_ffmpeg_library(avcodec)
|
||||
import_ffmpeg_library(avformat)
|
||||
import_ffmpeg_library(avfilter)
|
||||
import_ffmpeg_library(avdevice)
|
||||
import_ffmpeg_library(avutil)
|
||||
import_ffmpeg_library(swscale)
|
||||
import_ffmpeg_library(swresample)
|
||||
import_ffmpeg_library(postproc)
|
||||
endif()
|
||||
|
||||
# Dummy target to use when lib isn't available
|
||||
add_library(3rdparty_dummy_lib INTERFACE)
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ option(WITH_RPCS3_QT_UI "Enable RPCS3 UI" OFF)
|
|||
option(WITHOUT_OPENGL "Disable OpenGL" OFF)
|
||||
option(WITHOUT_OPENGLEW "Disable OpenGLEW" OFF)
|
||||
option(WITHOUT_OPENAL "Disable OpenAL" OFF)
|
||||
option(COMPILE_FFMPEG "Compile FFmpeg" ON)
|
||||
|
||||
# rpcs3 options
|
||||
option(USE_NATIVE_INSTRUCTIONS "USE_NATIVE_INSTRUCTIONS makes rpcs3 compile with -march=native, which is useful for local builds, but not good for packages." ON)
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ set(ADDITIONAL_LIBS "")
|
|||
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||
#on some Linux distros shm_unlink and similar functions are in librt only
|
||||
set(ADDITIONAL_LIBS ${ADDITIONAL_LIBS} "rt")
|
||||
elseif(NOT WIN32 AND NOT CMAKE_CXX_FLAGS MATCHES "LIBICONV_PLUG")
|
||||
elseif(NOT WIN32 AND NOT CMAKE_CXX_FLAGS MATCHES "LIBICONV_PLUG" AND NOT ANDROID)
|
||||
#it seems like glibc includes the iconv functions we use but other libc
|
||||
#implementations like the one on OSX don't seem implement them
|
||||
set(ADDITIONAL_LIBS ${ADDITIONAL_LIBS} "iconv")
|
||||
|
|
|
|||
|
|
@ -8,10 +8,41 @@ namespace rsx
|
|||
{
|
||||
namespace overlays
|
||||
{
|
||||
save_dialog::save_dialog_entry::save_dialog_entry(const std::string& text1, const std::string& text2, const std::string& text3, u8 resource_id, const std::vector<u8>& icon_buf, const std::string& video_path)
|
||||
save_dialog::save_dialog_entry::save_dialog_entry(const std::string& text1, const std::string& text2, const std::string& text3, u8 resource_id, const std::vector<u8>& icon_buf, [[maybe_unused]] const std::string& video_path)
|
||||
{
|
||||
std::unique_ptr<overlay_element> image = resource_id != image_resource_id::raw_image ? std::make_unique<video_view>(video_path, resource_id) : !icon_buf.empty() ? std::make_unique<video_view>(video_path, icon_buf) :
|
||||
std::make_unique<video_view>(video_path, resource_config::standard_image_resource::save); // Fallback
|
||||
std::unique_ptr<overlay_element> image;
|
||||
#ifndef ANDROID
|
||||
if (resource_id != image_resource_id::raw_image)
|
||||
{
|
||||
image = std::make_unique<video_view>(video_path, resource_id);
|
||||
}
|
||||
else if (!icon_buf.empty())
|
||||
{
|
||||
image = std::make_unique<video_view>(video_path, icon_buf);
|
||||
}
|
||||
else
|
||||
{
|
||||
image = std::make_unique<video_view>(video_path, resource_config::standard_image_resource::save); // Fallback
|
||||
}
|
||||
#else
|
||||
image = std::make_unique<image_view>();
|
||||
|
||||
if (resource_id != image_resource_id::raw_image)
|
||||
{
|
||||
static_cast<image_view*>(image.get())->set_image_resource(resource_id);
|
||||
}
|
||||
else if (!icon_buf.empty())
|
||||
{
|
||||
image->set_padding(0, 0, 11, 11); // Half sized icon, 320x176->160x88
|
||||
icon_data = std::make_unique<image_info>(icon_buf);
|
||||
static_cast<image_view*>(image.get())->set_raw_image(icon_data.get());
|
||||
}
|
||||
else
|
||||
{
|
||||
static_cast<image_view*>(image.get())->set_image_resource(resource_config::standard_image_resource::save);
|
||||
}
|
||||
#endif
|
||||
|
||||
image->set_size(160, 110);
|
||||
image->set_padding(36, 36, 11, 11); // Square image, 88x88
|
||||
|
||||
|
|
@ -71,10 +102,12 @@ namespace rsx
|
|||
|
||||
void save_dialog::save_dialog_entry::set_selected(bool selected)
|
||||
{
|
||||
#ifndef ANDROID
|
||||
if (m_image)
|
||||
{
|
||||
static_cast<video_view*>(m_image)->set_active(selected);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
save_dialog::save_dialog()
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@ namespace rsx
|
|||
void set_selected(bool selected) override;
|
||||
|
||||
private:
|
||||
std::unique_ptr<image_info> icon_data;
|
||||
overlay_element* m_image = nullptr;
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue