Merge pull request #1732 from r3claimer/next

Update Xemu-sa to latest release
This commit is contained in:
r3claimer
2025-08-04 07:01:56 -07:00
committed by GitHub
13 changed files with 92 additions and 1088 deletions

View File

@@ -20,6 +20,7 @@ vsync = true
show_menubar = false
fit = 'stretch'
aspect_ratio = 'native'
scale = 2
[sys]
mem_limit = '128'

View File

@@ -20,6 +20,7 @@ vsync = true
show_menubar = false
fit = 'stretch'
aspect_ratio = 'native'
scale = 2
[sys]
mem_limit = '128'

View File

@@ -20,6 +20,7 @@ vsync = true
show_menubar = false
fit = 'stretch'
aspect_ratio = 'native'
scale = 2
[sys]
mem_limit = '128'

View File

@@ -20,6 +20,7 @@ vsync = true
show_menubar = false
fit = 'stretch'
aspect_ratio = 'native'
scale = 2
[sys]
mem_limit = '128'

View File

@@ -2,7 +2,7 @@
# Copyright (C) 2024-present ROCKNIX (https://github.com/ROCKNIX)
PKG_NAME="xemu-sa"
PKG_VERSION="02d35be3030119099f45f2ff56a4a911ab7e6c34"
PKG_VERSION="98a3974290618086de5132d27c8ede736f9d93ea"
PKG_LICENSE="GPLv3"
PKG_SITE="https://github.com/xemu-project/xemu"
PKG_URL="${PKG_SITE}.git"
@@ -29,11 +29,23 @@ pre_configure_target() {
export TARGET_CXXFLAGS=$(echo ${TARGET_CXXFLAGS} | sed -e "s|-DNDEBUG||g")
export CFLAGS=$(echo ${CFLAGS} | sed -e "s|-DNDEBUG||g")
export CXXFLAGS=$(echo ${CXXFLAGS} | sed -e "s|-DNDEBUG||g")
export DONT_BUILD_LEGACY_PYC=1
# Download Sub Modules
### xxHash
mkdir -p ${PKG_BUILD}/subprojects/
curl -Lo ${PKG_BUILD}/subprojects/xxhash.tar.gz http://github.com/mesonbuild/wrapdb/releases/download/xxhash_0.8.3-1/xxHash-0.8.3.tar.gz
tar -xvf ${PKG_BUILD}/subprojects/xxhash.tar.gz -C ${PKG_BUILD}/subprojects/
curl -Lo ${PKG_BUILD}/subprojects/xxhash_0.8.3-1_patch.zip https://wrapdb.mesonbuild.com/v2/xxhash_0.8.3-1/get_patch
unzip -o ${PKG_BUILD}/subprojects/xxhash_0.8.3-1_patch.zip -d ${PKG_BUILD}/subprojects
rm -rf ${PKG_BUILD}/subprojects/xxhash.tar.gz
rm -rf ${PKG_BUILD}/subprojects/xxhash_0.8.3-1_patch.zip
}
make_target() {
cd ${PKG_BUILD}
./build.sh --cross-prefix="${TARGET_PREFIX}" \
./build.sh --target-list=i386-softmmu \
--cross-prefix="${TARGET_PREFIX}" \
--host="${TARGET_NAME}" \
--enable-sdl \
--enable-opengl \
@@ -48,7 +60,6 @@ make_target() {
--disable-tools \
--disable-guest-agent \
--disable-tpm \
--disable-live-block-migration \
--disable-rdma \
--disable-replication \
--disable-capstone \
@@ -83,11 +94,9 @@ make_target() {
--disable-qcow1 \
--disable-qed \
--disable-parallels \
--disable-hax \
--disable-hvf \
--disable-whpx \
--with-default-devices \
--disable-renderdoc
--with-default-devices
}
makeinstall_target() {

View File

@@ -0,0 +1,24 @@
diff --git a/meson.build b/meson.build
index b9fc4cacb6..a931a0af14 100644
--- a/meson.build
+++ b/meson.build
@@ -2326,8 +2326,8 @@ elif host_os == 'linux'
endif
if vulkan.found()
- libglslang = dependency('glslang', version: '>=15.0.0', required: false)
- if not libglslang.found()
+ #libglslang = dependency('glslang', version: '>=15.0.0', required: false)
+ #if not libglslang.found()
# FIXME: Get spirv-tools to enable opt.
glslang_opts = cmake.subproject_options()
glslang_opts.add_cmake_defines({'ENABLE_OPT': false, 'ENABLE_HLSL': false})
@@ -2339,7 +2339,7 @@ if vulkan.found()
glslang_subpro.target('SPIRV'),
], include_directories: glslang_subpro.include_directories('glslang')
)
- endif
+ #endif
volk_opts = cmake.subproject_options()
volk_opts.add_cmake_defines({'VOLK_STATIC_DEFINES': 'VK_NO_PROTOTYPES'})

View File

@@ -1,30 +0,0 @@
diff --git a/hw/xbox/nv2a/pgraph/vk/instance.c b/hw/xbox/nv2a/pgraph/vk/instance.c
index 9df440930c..8f5cc0f99b 100644
--- a/hw/xbox/nv2a/pgraph/vk/instance.c
+++ b/hw/xbox/nv2a/pgraph/vk/instance.c
@@ -222,8 +222,7 @@ static bool create_instance(PGRAPHState *pg, Error **errp)
VkApplicationInfo app_info = {
.sType = VK_STRUCTURE_TYPE_APPLICATION_INFO,
.pApplicationName = "xemu",
- .applicationVersion = VK_MAKE_VERSION(
- xemu_version_major, xemu_version_minor, xemu_version_patch),
+ .applicationVersion = VK_MAKE_VERSION(1, 0, 0),
.pEngineName = "No Engine",
.engineVersion = VK_MAKE_VERSION(1, 0, 0),
.apiVersion = VK_API_VERSION_1_3,
diff --git a/xemu-version.c b/xemu-version.c
index f2e7a958e9..d4148603e2 100644
--- a/xemu-version.c
+++ b/xemu-version.c
@@ -1,8 +1,8 @@
#include "xemu-version-macro.h"
-const int xemu_version_major = XEMU_VERSION_MAJOR;
-const int xemu_version_minor = XEMU_VERSION_MINOR;
-const int xemu_version_patch = XEMU_VERSION_PATCH;
+//const int xemu_version_major = XEMU_VERSION_MAJOR;
+//const int xemu_version_minor = XEMU_VERSION_MINOR;
+//const int xemu_version_patch = XEMU_VERSION_PATCH;
const char *xemu_version = XEMU_VERSION;
const char *xemu_branch = XEMU_BRANCH;;
const char *xemu_commit = XEMU_COMMIT;

View File

@@ -0,0 +1,19 @@
diff --git a/hw/xbox/xid.c b/hw/xbox/xid.c
index c37142bc0d..3f2b3d0526 100644
--- a/hw/xbox/xid.c
+++ b/hw/xbox/xid.c
@@ -64,10 +64,10 @@ void update_input(USBXIDGamepadState *s)
xemu_input_update_controller(state);
const int button_map_analog[6][2] = {
- { GAMEPAD_A, CONTROLLER_BUTTON_A },
- { GAMEPAD_B, CONTROLLER_BUTTON_B },
- { GAMEPAD_X, CONTROLLER_BUTTON_X },
- { GAMEPAD_Y, CONTROLLER_BUTTON_Y },
+ { GAMEPAD_A, CONTROLLER_BUTTON_B },
+ { GAMEPAD_B, CONTROLLER_BUTTON_A },
+ { GAMEPAD_X, CONTROLLER_BUTTON_Y },
+ { GAMEPAD_Y, CONTROLLER_BUTTON_X },
{ GAMEPAD_BLACK, CONTROLLER_BUTTON_BLACK },
{ GAMEPAD_WHITE, CONTROLLER_BUTTON_WHITE },
};

View File

@@ -1,55 +1,19 @@
diff --git a/hw/xbox/xid.c b/hw/xbox/xid.c
index 86f34f7de2..935c809cfd 100644
index c37142bc0d..3f2b3d0526 100644
--- a/hw/xbox/xid.c
+++ b/hw/xbox/xid.c
@@ -171,10 +171,10 @@ static const XIDDesc desc_xid_xbox_gamepad = {
.wAlternateProductIds = { 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF },
};
@@ -64,10 +64,10 @@ void update_input(USBXIDGamepadState *s)
xemu_input_update_controller(state);
-#define GAMEPAD_A 0
-#define GAMEPAD_B 1
-#define GAMEPAD_X 2
-#define GAMEPAD_Y 3
+#define GAMEPAD_B 0
+#define GAMEPAD_A 1
+#define GAMEPAD_Y 2
+#define GAMEPAD_X 3
#define GAMEPAD_BLACK 4
#define GAMEPAD_WHITE 5
#define GAMEPAD_LEFT_TRIGGER 6
diff --git a/ui/xui/gl-helpers.cc b/ui/xui/gl-helpers.cc
index 6c07d087b4..448b5d51af 100644
--- a/ui/xui/gl-helpers.cc
+++ b/ui/xui/gl-helpers.cc
@@ -473,10 +473,10 @@ void RenderController(float frame_x, float frame_y, uint32_t primary_color,
const struct rect lstick_ctr = { 93, 246, 0, 0 };
const struct rect rstick_ctr = { 342, 148, 0, 0 };
const struct rect buttons[12] = {
- { 367, 187, 30, 38 }, // A
{ 368, 229, 30, 38 }, // B
- { 330, 204, 30, 38 }, // X
+ { 367, 187, 30, 38 }, // A
{ 331, 247, 30, 38 }, // Y
+ { 330, 204, 30, 38 }, // X
{ 82, 121, 31, 47 }, // D-Left
{ 104, 160, 44, 25 }, // D-Up
{ 141, 121, 31, 47 }, // D-Right
diff --git a/ui/xui/input-manager.cc b/ui/xui/input-manager.cc
index 786b54b176..43736e32f8 100644
--- a/ui/xui/input-manager.cc
+++ b/ui/xui/input-manager.cc
@@ -60,10 +60,10 @@ void InputManager::Update()
const int thumb_dead_zone = 8000; // SDL_gamecontroller.h suggests using this value.
MAP_BUTTON(ImGuiKey_GamepadStart, CONTROLLER_BUTTON_START);
MAP_BUTTON(ImGuiKey_GamepadBack, CONTROLLER_BUTTON_BACK);
- MAP_BUTTON(ImGuiKey_GamepadFaceDown, CONTROLLER_BUTTON_A); // Xbox A, PS Cross
- MAP_BUTTON(ImGuiKey_GamepadFaceRight, CONTROLLER_BUTTON_B); // Xbox B, PS Circle
- MAP_BUTTON(ImGuiKey_GamepadFaceLeft, CONTROLLER_BUTTON_X); // Xbox X, PS Square
- MAP_BUTTON(ImGuiKey_GamepadFaceUp, CONTROLLER_BUTTON_Y); // Xbox Y, PS Triangle
+ MAP_BUTTON(ImGuiKey_GamepadFaceDown, CONTROLLER_BUTTON_B); // Xbox A, PS Cross
+ MAP_BUTTON(ImGuiKey_GamepadFaceRight, CONTROLLER_BUTTON_A); // Xbox B, PS Circle
+ MAP_BUTTON(ImGuiKey_GamepadFaceLeft, CONTROLLER_BUTTON_Y); // Xbox X, PS Square
+ MAP_BUTTON(ImGuiKey_GamepadFaceUp, CONTROLLER_BUTTON_X); // Xbox Y, PS Triangle
MAP_BUTTON(ImGuiKey_GamepadDpadLeft, CONTROLLER_BUTTON_DPAD_LEFT);
MAP_BUTTON(ImGuiKey_GamepadDpadRight, CONTROLLER_BUTTON_DPAD_RIGHT);
MAP_BUTTON(ImGuiKey_GamepadDpadUp, CONTROLLER_BUTTON_DPAD_UP);
const int button_map_analog[6][2] = {
- { GAMEPAD_A, CONTROLLER_BUTTON_A },
- { GAMEPAD_B, CONTROLLER_BUTTON_B },
- { GAMEPAD_X, CONTROLLER_BUTTON_X },
- { GAMEPAD_Y, CONTROLLER_BUTTON_Y },
+ { GAMEPAD_A, CONTROLLER_BUTTON_B },
+ { GAMEPAD_B, CONTROLLER_BUTTON_A },
+ { GAMEPAD_X, CONTROLLER_BUTTON_Y },
+ { GAMEPAD_Y, CONTROLLER_BUTTON_X },
{ GAMEPAD_BLACK, CONTROLLER_BUTTON_BLACK },
{ GAMEPAD_WHITE, CONTROLLER_BUTTON_WHITE },
};

View File

@@ -1,19 +0,0 @@
diff --git a/ui/xemu-input.h b/ui/xemu-input.h
index 330ae58a7c..f643a124a6 100644
--- a/ui/xemu-input.h
+++ b/ui/xemu-input.h
@@ -31,10 +31,10 @@
#include "qemu/queue.h"
enum controller_state_buttons_mask {
- CONTROLLER_BUTTON_A = (1 << 0),
- CONTROLLER_BUTTON_B = (1 << 1),
- CONTROLLER_BUTTON_X = (1 << 2),
- CONTROLLER_BUTTON_Y = (1 << 3),
+ CONTROLLER_BUTTON_B = (1 << 0),
+ CONTROLLER_BUTTON_A = (1 << 1),
+ CONTROLLER_BUTTON_Y = (1 << 2),
+ CONTROLLER_BUTTON_X = (1 << 3),
CONTROLLER_BUTTON_DPAD_LEFT = (1 << 4),
CONTROLLER_BUTTON_DPAD_UP = (1 << 5),
CONTROLLER_BUTTON_DPAD_RIGHT = (1 << 6),

View File

@@ -1,55 +1,19 @@
diff --git a/hw/xbox/xid.c b/hw/xbox/xid.c
index 86f34f7de2..935c809cfd 100644
index c37142bc0d..3f2b3d0526 100644
--- a/hw/xbox/xid.c
+++ b/hw/xbox/xid.c
@@ -171,10 +171,10 @@ static const XIDDesc desc_xid_xbox_gamepad = {
.wAlternateProductIds = { 0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF },
};
@@ -64,10 +64,10 @@ void update_input(USBXIDGamepadState *s)
xemu_input_update_controller(state);
-#define GAMEPAD_A 0
-#define GAMEPAD_B 1
-#define GAMEPAD_X 2
-#define GAMEPAD_Y 3
+#define GAMEPAD_B 0
+#define GAMEPAD_A 1
+#define GAMEPAD_Y 2
+#define GAMEPAD_X 3
#define GAMEPAD_BLACK 4
#define GAMEPAD_WHITE 5
#define GAMEPAD_LEFT_TRIGGER 6
diff --git a/ui/xui/gl-helpers.cc b/ui/xui/gl-helpers.cc
index 6c07d087b4..448b5d51af 100644
--- a/ui/xui/gl-helpers.cc
+++ b/ui/xui/gl-helpers.cc
@@ -473,10 +473,10 @@ void RenderController(float frame_x, float frame_y, uint32_t primary_color,
const struct rect lstick_ctr = { 93, 246, 0, 0 };
const struct rect rstick_ctr = { 342, 148, 0, 0 };
const struct rect buttons[12] = {
- { 367, 187, 30, 38 }, // A
{ 368, 229, 30, 38 }, // B
- { 330, 204, 30, 38 }, // X
+ { 367, 187, 30, 38 }, // A
{ 331, 247, 30, 38 }, // Y
+ { 330, 204, 30, 38 }, // X
{ 82, 121, 31, 47 }, // D-Left
{ 104, 160, 44, 25 }, // D-Up
{ 141, 121, 31, 47 }, // D-Right
diff --git a/ui/xui/input-manager.cc b/ui/xui/input-manager.cc
index 786b54b176..43736e32f8 100644
--- a/ui/xui/input-manager.cc
+++ b/ui/xui/input-manager.cc
@@ -60,10 +60,10 @@ void InputManager::Update()
const int thumb_dead_zone = 8000; // SDL_gamecontroller.h suggests using this value.
MAP_BUTTON(ImGuiKey_GamepadStart, CONTROLLER_BUTTON_START);
MAP_BUTTON(ImGuiKey_GamepadBack, CONTROLLER_BUTTON_BACK);
- MAP_BUTTON(ImGuiKey_GamepadFaceDown, CONTROLLER_BUTTON_A); // Xbox A, PS Cross
- MAP_BUTTON(ImGuiKey_GamepadFaceRight, CONTROLLER_BUTTON_B); // Xbox B, PS Circle
- MAP_BUTTON(ImGuiKey_GamepadFaceLeft, CONTROLLER_BUTTON_X); // Xbox X, PS Square
- MAP_BUTTON(ImGuiKey_GamepadFaceUp, CONTROLLER_BUTTON_Y); // Xbox Y, PS Triangle
+ MAP_BUTTON(ImGuiKey_GamepadFaceDown, CONTROLLER_BUTTON_B); // Xbox A, PS Cross
+ MAP_BUTTON(ImGuiKey_GamepadFaceRight, CONTROLLER_BUTTON_A); // Xbox B, PS Circle
+ MAP_BUTTON(ImGuiKey_GamepadFaceLeft, CONTROLLER_BUTTON_Y); // Xbox X, PS Square
+ MAP_BUTTON(ImGuiKey_GamepadFaceUp, CONTROLLER_BUTTON_X); // Xbox Y, PS Triangle
MAP_BUTTON(ImGuiKey_GamepadDpadLeft, CONTROLLER_BUTTON_DPAD_LEFT);
MAP_BUTTON(ImGuiKey_GamepadDpadRight, CONTROLLER_BUTTON_DPAD_RIGHT);
MAP_BUTTON(ImGuiKey_GamepadDpadUp, CONTROLLER_BUTTON_DPAD_UP);
const int button_map_analog[6][2] = {
- { GAMEPAD_A, CONTROLLER_BUTTON_A },
- { GAMEPAD_B, CONTROLLER_BUTTON_B },
- { GAMEPAD_X, CONTROLLER_BUTTON_X },
- { GAMEPAD_Y, CONTROLLER_BUTTON_Y },
+ { GAMEPAD_A, CONTROLLER_BUTTON_B },
+ { GAMEPAD_B, CONTROLLER_BUTTON_A },
+ { GAMEPAD_X, CONTROLLER_BUTTON_Y },
+ { GAMEPAD_Y, CONTROLLER_BUTTON_X },
{ GAMEPAD_BLACK, CONTROLLER_BUTTON_BLACK },
{ GAMEPAD_WHITE, CONTROLLER_BUTTON_WHITE },
};

View File

@@ -1,19 +0,0 @@
diff --git a/ui/xemu-input.h b/ui/xemu-input.h
index 330ae58a7c..f643a124a6 100644
--- a/ui/xemu-input.h
+++ b/ui/xemu-input.h
@@ -31,10 +31,10 @@
#include "qemu/queue.h"
enum controller_state_buttons_mask {
- CONTROLLER_BUTTON_A = (1 << 0),
- CONTROLLER_BUTTON_B = (1 << 1),
- CONTROLLER_BUTTON_X = (1 << 2),
- CONTROLLER_BUTTON_Y = (1 << 3),
+ CONTROLLER_BUTTON_B = (1 << 0),
+ CONTROLLER_BUTTON_A = (1 << 1),
+ CONTROLLER_BUTTON_Y = (1 << 2),
+ CONTROLLER_BUTTON_X = (1 << 3),
CONTROLLER_BUTTON_DPAD_LEFT = (1 << 4),
CONTROLLER_BUTTON_DPAD_UP = (1 << 5),
CONTROLLER_BUTTON_DPAD_RIGHT = (1 << 6),