antangelo
47b25fb8fb
ui: Fix use-after-free when new controller mapping is added
...
When a new controller mapping is added to the controller mapping array
in the xemu config, the array is reallocated, and any existing pointers
become invalid and must be reset.
v0.8.129
2025-12-27 23:34:39 -07:00
Matt Borgerson
289e4db0bd
ui: Replace xemu_open_web_browser with SDL_OpenURL
v0.8.128
2025-12-27 13:36:44 -07:00
Erik Abair
c086cd107a
nv2a: Handle cubemap textures passed to 2D projective samplers
...
Tests: https://github.com/abaire/nxdk_pgraph_tests/blob/bb915c94798906b325cc011383e1c2c270515d50/src/tests/texture_3d_as_2d_tests.cpp#L39
HW results: https://abaire.github.io/nxdk_pgraph_tests_golden_results/results/Texture_3D_as_2D/index.html
Fixes #2384
v0.8.127
2025-12-26 14:57:31 -07:00
jyetcv
0c2462c5d7
ui: Add display filter configuration
v0.8.126
2025-12-26 14:22:28 -07:00
antangelo
7b465bda3f
ui: Fix rumble setting migration overwriting controller rumble with default
v0.8.125
2025-12-26 12:08:56 -07:00
Fred Hallock
e8b69b676a
build: Add libusb support to builds
v0.8.124
2025-12-25 15:24:42 -07:00
antangelo
aed1fa4ac6
ui: Add controller/keyboard input mapping configuration
v0.8.123
2025-12-25 14:54:30 -07:00
oltolm
d0478b6154
ui: Support fullscreen toggle via F11
v0.8.122
2025-12-23 14:46:51 -07:00
dependabot[bot]
6ec7fa8a30
ci: bump docker/setup-buildx-action from 3.11.1 to 3.12.0
...
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action ) from 3.11.1 to 3.12.0.
- [Release notes](https://github.com/docker/setup-buildx-action/releases )
- [Commits](https://github.com/docker/setup-buildx-action/compare/e468171a9de216ec08956ac3ada2f0791b6bd435...8d2750c68a42422c14e847fe6c8ac0403b4cbd6f )
---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
dependency-version: 3.12.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-12-23 14:01:28 -07:00
Igor Leonovich
2cf036ec7f
ui: Remove legacy macOS-specific shortcut handling
...
Ctrl/Cmd mapping on macOS is now handled internally by Dear ImGui
v0.8.121
2025-12-18 16:53:55 -07:00
Erik Abair
658f01865f
nv2a/gl: Check GL_LINK_STATUS when loading cached shaders
...
The GL docs indicate that GL_LINK_STATUS will be set to false in cases where
the cached binary cannot be loaded successfully. This seems to be separate
from the listed glGetError failure modes, indicating that both likely need to
be tested.
v0.8.120
2025-12-18 16:11:23 -07:00
dependabot[bot]
b27f54789c
ci: bump astral-sh/setup-uv from 7.1.5 to 7.1.6
...
Bumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv ) from 7.1.5 to 7.1.6.
- [Release notes](https://github.com/astral-sh/setup-uv/releases )
- [Commits](https://github.com/astral-sh/setup-uv/compare/ed21f2f24f8dd64503750218de024bcf64c7250a...681c641aba71e4a1c380be3ab5e12ad51f415867 )
---
updated-dependencies:
- dependency-name: astral-sh/setup-uv
dependency-version: 7.1.6
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-12-15 13:24:19 -07:00
dependabot[bot]
0b3af22fb4
ci: bump actions/download-artifact from 6.0.0 to 7.0.0
...
Bumps [actions/download-artifact](https://github.com/actions/download-artifact ) from 6.0.0 to 7.0.0.
- [Release notes](https://github.com/actions/download-artifact/releases )
- [Commits](https://github.com/actions/download-artifact/compare/018cc2cf5baa6db3ef3c5f8a56943fffe632ef53...37930b1c2abaa49bbe596cd826c3c89aef350131 )
---
updated-dependencies:
- dependency-name: actions/download-artifact
dependency-version: 7.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-12-15 13:24:14 -07:00
dependabot[bot]
a8c7edde86
ci: bump actions/upload-artifact from 5.0.0 to 6.0.0
...
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact ) from 5.0.0 to 6.0.0.
- [Release notes](https://github.com/actions/upload-artifact/releases )
- [Commits](https://github.com/actions/upload-artifact/compare/330a01c490aca151604b8cf639adc76d48f6c5d4...b7c566a772e6b6bfb58ed0dc250532a479d7789f )
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-version: 6.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-12-15 13:24:04 -07:00
dependabot[bot]
9eb7163f0d
ci: bump actions/cache from 4.3.0 to 5.0.1
...
Bumps [actions/cache](https://github.com/actions/cache ) from 4.3.0 to 5.0.1.
- [Release notes](https://github.com/actions/cache/releases )
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md )
- [Commits](https://github.com/actions/cache/compare/0057852bfaa89a56745cba8c7296529d2fc39830...9255dc7a253b0ccc959486e2bca901246202afeb )
---
updated-dependencies:
- dependency-name: actions/cache
dependency-version: 5.0.1
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-12-15 13:23:56 -07:00
xemu-robot
d7b3af14f6
meson: Bump glslang to 16.1.0
v0.8.119
2025-12-09 21:20:07 -07:00
dependabot[bot]
07bf751d05
ci: bump softprops/action-gh-release from 2.4.2 to 2.5.0
...
Bumps [softprops/action-gh-release](https://github.com/softprops/action-gh-release ) from 2.4.2 to 2.5.0.
- [Release notes](https://github.com/softprops/action-gh-release/releases )
- [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md )
- [Commits](https://github.com/softprops/action-gh-release/compare/5be0e66d93ac7ed76da52eca8bb058f665c3a5fe...a06a81a03ee405af7f2048a818ed3f03bbf83c7b )
---
updated-dependencies:
- dependency-name: softprops/action-gh-release
dependency-version: 2.5.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-12-09 17:37:55 -07:00
dependabot[bot]
c28fadd9f7
ci: bump actions/checkout from 6.0.0 to 6.0.1
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 6.0.0 to 6.0.1.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/1af3b93b6815bc44a9784bd300feb67ff0d1eeb3...8e8c483db84b4bee98b60c0593521ed34d9990e8 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: 6.0.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-12-09 17:37:12 -07:00
dependabot[bot]
248f6bdc5a
ci: bump astral-sh/setup-uv from 7.1.4 to 7.1.5
...
Bumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv ) from 7.1.4 to 7.1.5.
- [Release notes](https://github.com/astral-sh/setup-uv/releases )
- [Commits](https://github.com/astral-sh/setup-uv/compare/1e862dfacbd1d6d858c55d9b792c756523627244...ed21f2f24f8dd64503750218de024bcf64c7250a )
---
updated-dependencies:
- dependency-name: astral-sh/setup-uv
dependency-version: 7.1.5
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-12-09 17:35:39 -07:00
dependabot[bot]
9b7a43f489
ci: bump actions/setup-python from 6.0.0 to 6.1.0
...
Bumps [actions/setup-python](https://github.com/actions/setup-python ) from 6.0.0 to 6.1.0.
- [Release notes](https://github.com/actions/setup-python/releases )
- [Commits](https://github.com/actions/setup-python/compare/v6.0.0...v6.1.0 )
---
updated-dependencies:
- dependency-name: actions/setup-python
dependency-version: 6.1.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-12-05 14:27:32 -07:00
dependabot[bot]
ed728e1dd9
ci: bump docker/metadata-action from 5.9.0 to 5.10.0
...
Bumps [docker/metadata-action](https://github.com/docker/metadata-action ) from 5.9.0 to 5.10.0.
- [Release notes](https://github.com/docker/metadata-action/releases )
- [Commits](https://github.com/docker/metadata-action/compare/318604b99e75e41977312d83839a89be02ca4893...c299e40c65443455700f0fdfc63efafe5b349051 )
---
updated-dependencies:
- dependency-name: docker/metadata-action
dependency-version: 5.10.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-12-01 11:01:58 -07:00
Erik Abair
eb8e4519ed
nv2a/vk: Add preferred physical device to config
v0.8.118
2025-11-29 13:56:36 -07:00
Erik Abair
aa496f863f
nv2a: Improve handling of SET_POINT_SIZE
v0.8.117
2025-11-28 15:17:11 -07:00
Kolja
7ebabd852a
xemu.desktop: Add Keywords
v0.8.116
2025-11-27 12:55:20 -07:00
Matt Borgerson
994de84d83
xemu.metainfo.xml: Run xmllint auto-formatter
2025-11-27 12:10:16 -07:00
Matt Borgerson
33fec7c863
xemu.metainfo.xml: Caption remaining screenshots
2025-11-27 12:10:16 -07:00
Julien Reichardt
12a6969925
xemu.metainfo.xml: Add screenshot caption
...
Required to pass Flatpak linter.
2025-11-27 12:10:16 -07:00
dependabot[bot]
10ff2d2f62
ci: bump actions/checkout from 5.0.0 to 6.0.0
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 5.0.0 to 6.0.0.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/08c6903cd8c0fde910a37f88322edcfb5dd907a8...1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: 6.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-11-27 11:34:39 -07:00
dependabot[bot]
bfe21daae9
ci: bump astral-sh/setup-uv from 7.1.2 to 7.1.4
...
Bumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv ) from 7.1.2 to 7.1.4.
- [Release notes](https://github.com/astral-sh/setup-uv/releases )
- [Commits](https://github.com/astral-sh/setup-uv/compare/85856786d1ce8acfbcc2f13a5f3fbd6b938f9f41...1e862dfacbd1d6d858c55d9b792c756523627244 )
---
updated-dependencies:
- dependency-name: astral-sh/setup-uv
dependency-version: 7.1.4
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-11-27 11:34:32 -07:00
Erik Abair
e6e828362e
nv2a: Handle 2D textures given to 3D texture modes
...
Hardware transparently supports passing 2D textures to operations that
are intended to operate on cubemaps. This change introduces a remapping
function to mimic the hardware behavior in cases where the texture
sampler does not match the expectations of the texture mode.
Fixes #1622
Tests: https://github.com/abaire/nxdk_pgraph_tests/blob/4a1fde90854f318a4725178c9c6a7f1fcd016d05/src/tests/texture_2d_as_cubemap_tests.cpp#L79
HW results: https://abaire.github.io/nxdk_pgraph_tests_golden_results/results/Texture_2D_as_cubemap/index.html
v0.8.115
2025-11-16 13:13:21 -07:00
Erik Abair
a4b8caf743
nv2a: Prevent GL assert on END without BEGIN
v0.8.114
2025-11-14 12:01:13 -07:00
Erik Abair
febb54bd4d
nv2a: Enforce point params min/max size
...
[Tests](https://github.com/abaire/nxdk_pgraph_tests/blob/5920c89548e47675f28c7e347f07fc3ee54a4709/src/tests/point_sprite_tests.cpp#L27 )
[HW results](https://abaire.github.io/nxdk_pgraph_tests_golden_results/results/Point_sprite/index.html )
Fixes #2378
v0.8.113
2025-11-10 10:50:21 -07:00
dependabot[bot]
a9c699d6ec
ci: bump docker/metadata-action from 5.8.0 to 5.9.0
...
Bumps [docker/metadata-action](https://github.com/docker/metadata-action ) from 5.8.0 to 5.9.0.
- [Release notes](https://github.com/docker/metadata-action/releases )
- [Commits](https://github.com/docker/metadata-action/compare/c1e51972afc2121e065aed6d45c65596fe445f3f...318604b99e75e41977312d83839a89be02ca4893 )
---
updated-dependencies:
- dependency-name: docker/metadata-action
dependency-version: 5.9.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-11-10 10:33:49 -07:00
dependabot[bot]
c034d7ae60
ci: bump softprops/action-gh-release from 2.4.1 to 2.4.2
...
Bumps [softprops/action-gh-release](https://github.com/softprops/action-gh-release ) from 2.4.1 to 2.4.2.
- [Release notes](https://github.com/softprops/action-gh-release/releases )
- [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md )
- [Commits](https://github.com/softprops/action-gh-release/compare/6da8fa9354ddfdc4aeace5fc48d7f679b5214090...5be0e66d93ac7ed76da52eca8bb058f665c3a5fe )
---
updated-dependencies:
- dependency-name: softprops/action-gh-release
dependency-version: 2.4.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-11-10 10:32:49 -07:00
Erik Abair
24b4b99a54
nv2a/gl: Prevent depth surface being used as display source
v0.8.112
2025-11-06 11:53:21 -07:00
Erik Abair
db8d27b9f4
nv2a: More accurate handling of exceptional fog values in VSH
...
The handling of infinite fog coordinates in #660 does not exactly
match HW behavior for all bias and multiplier values. Further testing
indicates that the handling of the infinite value appears to override
all combinations of FOG_PARAM bias/multipliers, rather than keeping
the bias. This change emulates this behavior and also fixes NaN
handling, which similarly seems to be fog-mode dependent.
Fixes #2474
Fixes #2412
Fixes #2200
Fixes #632
v0.8.111
2025-10-29 13:21:58 -07:00
dependabot[bot]
95fdb7cd32
ci: bump actions/download-artifact from 5.0.0 to 6.0.0
...
Bumps [actions/download-artifact](https://github.com/actions/download-artifact ) from 5.0.0 to 6.0.0.
- [Release notes](https://github.com/actions/download-artifact/releases )
- [Commits](https://github.com/actions/download-artifact/compare/634f93cb2916e3fdff6788551b99b062d0335ce0...018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 )
---
updated-dependencies:
- dependency-name: actions/download-artifact
dependency-version: 6.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-10-28 17:14:09 -07:00
dependabot[bot]
ed85a7c211
ci: bump astral-sh/setup-uv from 7.1.1 to 7.1.2
...
Bumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv ) from 7.1.1 to 7.1.2.
- [Release notes](https://github.com/astral-sh/setup-uv/releases )
- [Commits](https://github.com/astral-sh/setup-uv/compare/2ddd2b9cb38ad8efd50337e8ab201519a34c9f24...85856786d1ce8acfbcc2f13a5f3fbd6b938f9f41 )
---
updated-dependencies:
- dependency-name: astral-sh/setup-uv
dependency-version: 7.1.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-10-28 17:14:03 -07:00
dependabot[bot]
fc72163692
ci: bump actions/upload-artifact from 4.6.2 to 5.0.0
...
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact ) from 4.6.2 to 5.0.0.
- [Release notes](https://github.com/actions/upload-artifact/releases )
- [Commits](https://github.com/actions/upload-artifact/compare/ea165f8d65b6e75b540449e92b4886f43607fa02...330a01c490aca151604b8cf639adc76d48f6c5d4 )
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-version: 5.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-10-28 17:13:56 -07:00
Erik Abair
dc672ab87b
nv2a/gl: Move GPU property check context creation to main thread
...
GL context must be created from main thread on macOS.
v0.8.110
2025-10-28 11:39:19 -07:00
coldhex
5eb603b28d
nv2a: Emit separate triangles and line segment from geometry shader
...
Mesa OpenGL radeonsi driver has a bug where triangles in triangle strips
emitted from geometry shader may have provoking vertices not corresponding
to either first or last vertex convention when GL_FIRST_VERTEX_CONVENTION
is used.
This commit changes geometry shader such that it always emits separate
triangles and line segments and it doesn't matter what vertex OpenGL or
Vulkan implementation chooses as provoking.
v0.8.109
2025-10-24 15:31:28 -04:00
coldhex
46741f23cc
nv2a/glsl: Delete deprecated FIXME comment about about vertex order
2025-10-24 15:31:28 -04:00
coldhex
ba9761fc97
nv2a/vk: Apply the Nvidia geometry shader bug work around with Vulkan too
...
This is possibly not needed with Vulkan, but apply it anyway just in case.
2025-10-24 15:31:28 -04:00
coldhex
834c4bbfda
nv2a/gl: Work around an Nvidia geometry shader compiler bug
...
This adds redundant computation to the simple geometry shader for winding
testing based on the assumption that Nvidia GeForce compiler has a bug
which may incorrectly detect a simple geometry shader as a passthrough
shader.
2025-10-24 15:31:28 -04:00
coldhex
36e4772996
nv2a: Vertex reordering for flat shading in geometry shader
...
Test OpenGL/Vulkan geometry shader triangle, strip and fan vertex ordering
during backend initialization. OpenGL/Vulkan does not guarantee absolute
vertex order for geometry shader input triangles. The test results are
used to reorder input triangle vertices into the first vertex convention
order so that correct provoking vertex can be chosen for flat shading.
Also, this removes use of the Vulkan provoking vertex extension. The
default first vertex convention is now used when emitting line strips
in geometry shader. (It would of course be possible to always emit only
separate line segments and then the convention wouldn't matter at all.)
2025-10-24 15:31:28 -04:00
coldhex
b2ded13f6b
nv2a: Fix polygon line mode and implement flat shading provoking vertex
...
Xbox draws lines in polygon mode without trying to avoid overlaps, e.g.
internal edge lines are drawn twice for triangle strips and fans. This is
evidenced by using additive blending and also stencil adds. This commit
removes the gl_PrimitiveIDIn==0 checks which were there to avoid drawing
lines twice.
This commit also implements flat shading first/last provoking vertex
handling. This fixes triangle strip and fan flat shading in
nxdk_pgraph_tests shade model tests.
2025-10-24 15:31:28 -04:00
coldhex
d6cb7536a2
nv2a: Depth buffer precision improvements and polygon offset slope factor
...
1. Use barycentric coordinates to interpolate depth values. Linux, Mesa
and AMD Radeon RX 6600 with Vulkan driver currently has quite poor
interpolation precision, which results in artifacts in at least Chronicles
of Riddick. Intel integrated UHD 770 has much better precision, for
example. This commit handles depth interpolation manually. Also note that
the previous w-buffer interpolation used gl_FragCoord.w which can't produce
all w-values, e.g. 1.0f/16777046.0f equals 1.0f/16777047.0f with 32-bit
floats. This also uses depth value differences in interpolation which has
the desired property that a triangle with the same z-value on all vertices
will result in exactly that same z-value when interpolated. At least the
game Shenmue II sky rendering relies on this.
2. Computes polygon depth bias slope for both z-buffering and w-buffering.
These are computed by taking the max and abs of partial derivatives of
either of the functions z=z(x,y) or w=w(x,y), where x,y,z,w are
screen-space coordinates. This matches Xbox hardware for z-buffering where
the partial derivatives are constants over any fixed triangle. However,
for w-buffering the partial derivatives vary over any fixed triangle, but
Xbox appears to compute just a single depth slope at the first visible
pixel (where "first" means something like first in top-left order) and uses
that over the whole triangle. This commit computes the slope per-pixel.
The way to compute the partial derivatives is by using the chain-rule, e.g.
dw/dx = -w^2 * d(1/w)/dx. This is useful since 1/w is linear in
screen-space and therefore d(1/w)/dx is constant over any fixed triangle.
But, as mentioned, finding out the w-value for the first visible pixel
of a triangle is difficult in OpenGL/Vulkan and is not done here. Instead
we calculate depth slope per-pixel.
2025-10-24 15:31:28 -04:00
coldhex
594f787343
nv2a: Fix vertex ordering of triangle strips in polygon line mode
...
This fixes nxdk_pgraph_tests W_param tests a bit more. Note that the
geometry shader approach in Xemu for polygon line mode doesn't currently
implement face culling. It could be improved by using the built-in
gl_FrontFacing variable in the geometry shader.
2025-10-24 15:31:28 -04:00
dependabot[bot]
a18240e897
ci: bump astral-sh/setup-uv from 7.1.0 to 7.1.1
...
Bumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv ) from 7.1.0 to 7.1.1.
- [Release notes](https://github.com/astral-sh/setup-uv/releases )
- [Commits](https://github.com/astral-sh/setup-uv/compare/3259c6206f993105e3a61b142c2d97bf4b9ef83d...2ddd2b9cb38ad8efd50337e8ab201519a34c9f24 )
---
updated-dependencies:
- dependency-name: astral-sh/setup-uv
dependency-version: 7.1.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-10-24 14:43:00 -04:00
Erik Abair
19f18873d9
ui: Add xiso files to loader menu
v0.8.108
2025-10-15 21:17:27 -04:00