izzy2lost
14f020dd3b
a little more stable and a little better performance.
2026-02-13 03:45:50 -05:00
Matt Borgerson and izzy2lost
999e1a421c
nv2a/vk: Target Vulkan >=1.1
2026-02-12 05:23:59 -05:00
Matt Borgerson and izzy2lost
6321e42e91
nv2a/vk: Drop SDL window
2026-02-12 05:23:14 -05:00
Matt Borgerson and izzy2lost
46b93ede3b
nv2a: Drop now-unused winding test
2026-02-12 05:21:44 -05:00
Matt Borgerson and izzy2lost
2a0b800dcd
nv2a: Move primitive rewriting to client
2026-02-12 05:20:58 -05:00
izzy2lost
612a401408
a little better performance
2026-02-11 15:55:44 -05:00
izzy2lost
a1c5f41807
beginning of touch controls
2026-02-09 19:29:00 -05:00
izzy2lost
b75429b103
Video working slow bad audio
2026-02-06 19:51:23 -05:00
Matt Borgerson
704ece9ac6
Merge QEMU v10.2.0
2026-01-18 16:36:55 -07:00
Erik Abair and GitHub
24087af22a
nv2a: Clip image blits to GPU tile bounds
...
Hardware blits that overlap an active GPU tile are clipped to the bounds of
that tile. This change checks blits against registered PFB tiles (which are
mirrored to PGRAPH via RDI) and clips blits as needed.
2026-01-15 14:04:14 -07:00
Erik Abair and mborgerson
71e5f2477e
nv2a: Fix calculation of palette length
...
pgraph_get_texture_palette_phys_addr_length returns the length of the palette in
entries whereas the use of the returned data expects bytes. This leads to a
situation where textures that are rendered without any changes to the lower
palette entries will erroneously reuse stale data.
Test: https://github.com/abaire/nxdk_pgraph_tests/blob/0b1ae640fa76ecfc5b7b4f2b5f870404ed106114/src/tests/texture_palette_tests.cpp#L234
HW results: https://abaire.github.io/nxdk_pgraph_tests_golden_results/results/Texture_palette/index.html
Fixes #2646
2026-01-14 23:42:04 -07:00
Erik Abair and GitHub
973e7f9f31
nv2a: Handle zero sized surfaces
2026-01-14 22:17:54 -07:00
Matt Borgerson
739520523f
xid: Fix USB_XID_GAMEPAD_S VMState minimum_version_id
2026-01-12 20:01:31 -07:00
Erik Abair and mborgerson
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
2025-12-26 14:57:31 -07:00
Erik Abair and GitHub
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.
2025-12-18 16:11:23 -07:00
Erik Abair and GitHub
eb8e4519ed
nv2a/vk: Add preferred physical device to config
2025-11-29 13:56:36 -07:00
Erik Abair and GitHub
aa496f863f
nv2a: Improve handling of SET_POINT_SIZE
2025-11-28 15:17:11 -07:00
Erik Abair and mborgerson
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
2025-11-16 13:13:21 -07:00
Erik Abair and mborgerson
a4b8caf743
nv2a: Prevent GL assert on END without BEGIN
2025-11-14 12:01:13 -07:00
Erik Abair and Matt Borgerson
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
2025-11-10 10:50:21 -07:00
Erik Abair and GitHub
24b4b99a54
nv2a/gl: Prevent depth surface being used as display source
2025-11-06 11:53:21 -07:00
Erik Abair and mborgerson
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
2025-10-29 13:21:58 -07:00
Erik Abair and GitHub
dc672ab87b
nv2a/gl: Move GPU property check context creation to main thread
...
GL context must be created from main thread on macOS.
2025-10-28 11:39:19 -07:00
coldhex and mborgerson
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.
2025-10-24 15:31:28 -04:00
coldhex and mborgerson
46741f23cc
nv2a/glsl: Delete deprecated FIXME comment about about vertex order
2025-10-24 15:31:28 -04:00