Matt Borgerson
e02e41ccaa
nvnet: Move to hw/xbox/mcpx/nvnet
2025-06-03 19:36:08 -07:00
Matt Borgerson
ba297f3b69
mcpx: Move APU components to hw/xbox/mcpx/apu
2025-06-03 19:36:08 -07:00
Matt Borgerson
395d136364
mcpx: Cleanup monitor
2025-06-03 19:36:08 -07:00
Matt Borgerson
829ec66757
mcpx: Rename {dsp->gp_ep}.c,h for clarity
2025-06-03 19:36:08 -07:00
Matt Borgerson
2f99d04730
mcpx: Minor cleanup
2025-06-03 19:36:08 -07:00
Matt Borgerson
979499ffe5
mcpx: Move SGE handles to VP struct
2025-06-03 19:36:08 -07:00
Matt Borgerson
04273de749
mcpx: Move DSP state structs to dsp.h
2025-06-03 19:36:08 -07:00
Matt Borgerson
7ab7f65cdf
mcpx: Reorder functions, drop some protos
2025-06-03 19:36:08 -07:00
Matt Borgerson
068a623c54
mcpx: Move VP state struct to vp.h
2025-06-03 19:36:08 -07:00
Matt Borgerson
ba6f7f360e
mcpx: Move VP files into vp/
2025-06-03 19:36:08 -07:00
Matt Borgerson
2321dbfeb6
mcpx: Split some VP structs out to vp.h
2025-06-03 19:36:08 -07:00
Matt Borgerson
8ee8732aad
mcpx: Drop some redundant protos
2025-06-03 19:36:08 -07:00
Matt Borgerson
9bdeb2d793
mcpx: Add inline keyword to float conversion helpers
2025-06-03 19:36:08 -07:00
Matt Borgerson
bf9985e7bf
mcpx: Move DSP functions to dsp.c
2025-06-03 19:36:08 -07:00
Matt Borgerson
2d5c4fa34d
mcpx: Move VP functions to vp.c
2025-06-03 19:36:08 -07:00
Matt Borgerson
bee1cb6006
mcpx: Move debug functions to debug.c
2025-06-03 19:36:08 -07:00
Matt Borgerson
eb88acf4c0
mcpx: Move some definitions to apu_int.h
2025-06-03 19:36:08 -07:00
Erik Abair
9732026aca
nv2a: Ignore unsupported depth funcs to match HW
2025-06-03 12:11:46 -07:00
Matt Borgerson
26c451fc36
mcpx: Process voices concurrently
2025-06-03 01:54:09 -07:00
dependabot[bot]
549861a247
ci: bump docker/build-push-action from 6.17.0 to 6.18.0
...
Bumps [docker/build-push-action](https://github.com/docker/build-push-action ) from 6.17.0 to 6.18.0.
- [Release notes](https://github.com/docker/build-push-action/releases )
- [Commits](1dc7386353...263435318d
)
---
updated-dependencies:
- dependency-name: docker/build-push-action
dependency-version: 6.18.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-06-02 11:43:17 -07:00
Matt Borgerson
344f7da132
mcpx: Support 3D voice HRTF filtering
2025-05-31 17:16:54 -07:00
Matt Borgerson
05b1f2c13d
mcpx: Define a constant for 3D voice count
2025-05-31 17:16:54 -07:00
Matt Borgerson
38d33367ea
xbox: Move xbox machine property creation to class init handler
2025-05-27 19:38:54 -07:00
dependabot[bot]
e00aa20106
ci: bump astral-sh/setup-uv from 6.0.1 to 6.1.0
...
Bumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv ) from 6.0.1 to 6.1.0.
- [Release notes](https://github.com/astral-sh/setup-uv/releases )
- [Commits](6b9c6063ab...f0ec1fc3b3
)
---
updated-dependencies:
- dependency-name: astral-sh/setup-uv
dependency-version: 6.1.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-05-27 12:44:01 -07:00
Erik Abair
8667193001
nv2a: Prevent NaN in specular power factor calculation
2025-05-20 13:28:39 -07:00
coldhex
ce936bccdd
nv2a/gl: y-flipped rendering to framebuffer object
...
Render scenes upside-down to framebuffer objects (FBO). The strange thing
about rendering to OpenGL FBO is that it follows the bottom-left triangle
rasterization rule with common PC GPUs. At least Intel and AMD. NVIDIA to
be tested. My raster-rule-test github gist demonstrates this.
This commit flips coordinates in y-direction, which effectively turns the
bottom-left rule into top-left rule needed for Xbox compatibility.
This (together with the previous commit) fixes Midtown Madness 3 Seine
water rectangular seam rendering artifacts (and the remaining seams are
present with Xbox hardware too.) May fix similar artifacts in other games.
2025-05-20 13:15:12 -07:00
coldhex
a316d74872
nv2a: Use trunc in vertex rounding instead of floor
...
Xbox seems to truncate instead of flooring, which can be inferred from
interpolated depth buffer values.
2025-05-20 13:15:12 -07:00
coldhex
11dcae01b9
nv2a: implement screen coordinate rounding to 4 bit fractional precision
...
Xbox triangle rasterization appears to follow the usual top-left rule.
However, since Xemu renders to an OpenGL framebuffer object (FBO) instead
of directly to the default framebuffer, Xemu actually has what could be
called the bottom-left triangle rasterization rule. I'll address that in
another commit.
Also, note that the ProjAdjacentGeometry_0.5625 test in nxdk_pgraph_tests
is very sensitive to floating point rounding errors. For example, the
nxdk_pgraph_tests commit 66b32a0b1feba32a0db7a95d6358e84f7a6246ad changed
the math library which caused the test result to change also on real Xbox
hardware due to floating point rounding error differences in matrix
inverse computation. Apart from the bottom-left rasterization issue, the
differing result between Xbox and the rounding I am proposing here for
Xemu seems to stem from floating point rounding that happens in screen
coordinate calculations before the rounding to 4 bit precision takes place.
Fixing such rounding issues would require carrying all preceding floating
point computations exactly in the same order and with same precision as
Xbox. Note that Xbox Direct3D library seems to add 0.03125 (1/32) to
screen coordinates by default. Likely the idea there was to make floating
point screen coordinates round to the nearest screen coordinates in
4 bit fixed point precision. So the Xbox Direct3D library (and therefore
games) already mitigate against precarious rounding when exactly
half-integer coordinates are used by games. Actually they would use
integer coordinates because it is Direct3D 8, but since nv2a appears to
rasterize at half-integer coordinates like OpenGL, Xbox Direct3D
also adds 0.5 to screen coordinates in addition to 1/32.
2025-05-20 13:15:12 -07:00
Shiralyn
ef1b08d79d
ui: Add "allow vibration" input setting
2025-05-20 11:37:29 -07:00
xemu-robot
c9cdd76102
meson: Bump VulkanMemoryAllocator to v3.3.0
2025-05-19 22:34:54 -07:00
dependabot[bot]
d8b1cae1fd
ci: bump docker/build-push-action from 6.16.0 to 6.17.0
...
Bumps [docker/build-push-action](https://github.com/docker/build-push-action ) from 6.16.0 to 6.17.0.
- [Release notes](https://github.com/docker/build-push-action/releases )
- [Commits](14487ce63c...1dc7386353
)
---
updated-dependencies:
- dependency-name: docker/build-push-action
dependency-version: 6.17.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-05-19 22:29:41 -07:00
Erik Abair
c720af00bb
nv2a/vsh: Replace NaN with 1.0 for Bx, Dx, Fog outputs and MUL zero-check
2025-05-15 12:54:56 -07:00
Erik Abair
bd3cd78ae4
ui: Toggle fullscreen on mouse double click
2025-05-15 09:06:55 -07:00
Erik Abair
428c975f09
nv2a: Allow multiframe RenderDoc captures with nv2a traces
...
Allows multiple frames to be captured at once by holding shift while pressing
F10.
Temporarily toggles nv2a trace messages if control is held while pressing F10.
2025-05-15 08:37:13 -07:00
xemu-robot
f7e40b2b80
meson: Bump SPIRV-Reflect to vulkan-sdk-1.4.313.0
2025-05-15 07:14:36 -07:00
dependabot[bot]
687bf62972
ci: bump astral-sh/setup-uv from 6.0.0 to 6.0.1
...
Bumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv ) from 6.0.0 to 6.0.1.
- [Release notes](https://github.com/astral-sh/setup-uv/releases )
- [Commits](c7f87aa956...6b9c6063ab
)
---
updated-dependencies:
- dependency-name: astral-sh/setup-uv
dependency-version: 6.0.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-05-05 14:50:27 -07:00
Erik Abair
d593869429
nv2a: Move point params to uniforms
...
Co-authored-by: Matt Borgerson <contact@mborgerson.com>
2025-04-30 23:43:38 -07:00
Matt Borgerson
6e513ed948
nv2a/psh: Fix 2D texture addressing in DOT_STR_3D mode
2025-04-29 23:41:05 -07:00
dependabot[bot]
b48f84af79
ci: bump docker/build-push-action from 6.15.0 to 6.16.0
...
Bumps [docker/build-push-action](https://github.com/docker/build-push-action ) from 6.15.0 to 6.16.0.
- [Release notes](https://github.com/docker/build-push-action/releases )
- [Commits](471d1dc4e0...14487ce63c
)
---
updated-dependencies:
- dependency-name: docker/build-push-action
dependency-version: 6.16.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-04-27 23:24:10 -07:00
dependabot[bot]
7108c7a37c
ci: bump actions/setup-python from 5.5.0 to 5.6.0
...
Bumps [actions/setup-python](https://github.com/actions/setup-python ) from 5.5.0 to 5.6.0.
- [Release notes](https://github.com/actions/setup-python/releases )
- [Commits](https://github.com/actions/setup-python/compare/v5.5.0...v5.6.0 )
---
updated-dependencies:
- dependency-name: actions/setup-python
dependency-version: 5.6.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-04-27 23:21:47 -07:00
dependabot[bot]
5af43523ab
ci: bump actions/download-artifact from 4.2.1 to 4.3.0
...
Bumps [actions/download-artifact](https://github.com/actions/download-artifact ) from 4.2.1 to 4.3.0.
- [Release notes](https://github.com/actions/download-artifact/releases )
- [Commits](95815c38cf...d3f86a106a
)
---
updated-dependencies:
- dependency-name: actions/download-artifact
dependency-version: 4.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-04-27 23:20:59 -07:00
Matt Borgerson
8f89ef14d7
ci: Use XEMU_ROBOT_TOKEN for PR creation to trigger build workflow
2025-04-26 16:46:55 -07:00
xemu-robot
4dfbe29cbd
meson: Bump SPIRV-Reflect to vulkan-sdk-1.4.309.0
2025-04-26 16:23:43 -07:00
xemu-robot
a3dc079706
meson: Bump glslang to 15.3.0
2025-04-26 16:23:12 -07:00
xemu-robot
668017518a
meson: Bump tomlplusplus to v3.4.0
2025-04-26 16:20:59 -07:00
mborgerson
c4b554fd80
meson: Add tag regex for subproject wrap auto-updater
2025-04-26 16:13:13 -07:00
xemu-robot
1e1ef6fbb9
meson: Bump volk to 1.4.304
2025-04-26 16:04:34 -07:00
xemu-robot
c035ff9f5d
meson: Bump VulkanMemoryAllocator to v3.2.1
2025-04-26 16:04:16 -07:00
Matt Borgerson
362c27b235
ci: Auto-update subproject wraps periodically
2025-04-26 16:02:21 -07:00
Erik Abair
89185e6937
nv2a/psh: Fix default alpha for unbound texture samplers
2025-04-22 20:16:15 -07:00