Matt Borgerson
25afb8603d
nv2a: Handle renderer init errors more gracefully
2024-12-31 01:37:05 -07:00
Matt Borgerson
c1bbe39f22
nv2a/gl: Rename some functions for clarity
2024-12-31 01:37:05 -07:00
Matt Borgerson
f3b6d50d99
nv2a: Merge renderer init, init_thread methods
2024-12-31 01:37:05 -07:00
Matt Borgerson
98fa394f84
nv2a: Add note about downloading dirty surfaces during flush
2024-12-31 01:37:05 -07:00
Matt Borgerson
6fd0f175b4
nv2a: Support switching renderers at runtime
2024-12-31 01:37:05 -07:00
Matt Borgerson
7b6b5f396c
nv2a/vk: Release report queue nodes at finalize
2024-12-31 01:37:05 -07:00
Matt Borgerson
3ccea5fa12
nv2a/vk: Release renderer state at finalize
2024-12-31 01:37:05 -07:00
Matt Borgerson
d6e8307950
nv2a/vk: Always provide early_context_init
2024-12-31 01:37:05 -07:00
Matt Borgerson
c4ac083d3d
nv2a/vk: Sync RAM buffer during renderer init
2024-12-31 01:37:05 -07:00
Matt Borgerson
71d00d2208
nv2a/vk: Ensure texture bindings exist before dirty check
2024-12-31 01:37:05 -07:00
Matt Borgerson
4bd0406797
nv2a/gl: Make sure vulkan is not set on ShaderState
2024-12-31 01:37:05 -07:00
Matt Borgerson
cd2278dd62
nv2a/gl: Ensure shader_binding exists before dirty check
2024-12-31 01:37:05 -07:00
Matt Borgerson
84dd112186
nv2a/gl: Improve renderer teardown
2024-12-31 01:37:05 -07:00
Matt Borgerson
c1eb48b62f
nv2a/vk: Fix snode->geometry init
2024-12-31 01:37:05 -07:00
Matt Borgerson
40526389f6
nv2a/vk: Clear bindings before tearing down cache
2024-12-31 01:37:05 -07:00
Matt Borgerson
6403c69326
nv2a/vk: Fix shader cache node init flag
2024-12-31 01:37:05 -07:00
Matt Borgerson
fadaf19cdd
nv2a/vk: Fix GArray free
2024-12-31 01:37:05 -07:00
Matt Borgerson
1973ed7f58
n2va/vk: Drop debug message
2024-12-31 01:37:05 -07:00
Matt Borgerson
27531ec1ca
nv2a: Wrap nv2a_vm_state_change direct renderer calls
2024-12-31 01:37:05 -07:00
Matt Borgerson
093e654725
nv2a: Wrap pfifo direct renderer calls
2024-12-31 01:37:05 -07:00
Matt Borgerson
2800b8d22a
meson: Move VMA options into meson config
2024-12-31 01:37:05 -07:00
Matt Borgerson
2bc8cb3050
nv2a/vk: Remove extraneous VK_NO_PROTOTYPES defn
2024-12-31 01:37:05 -07:00
Matt Borgerson
a5385803db
nv2a: Add Vulkan renderer
2024-12-31 01:37:05 -07:00
Matt Borgerson
212988421f
mcpx: Remove set but not used count variable
2024-12-29 18:42:12 -07:00
Fred Hallock
79441500fe
nv2a: Check supported line width
...
* Added logic to check for the supported line width range before setting the line width to avoid errors.
I also moved the glLineWidth call so that it could be after the call to get the supported line width range for the desired line type.
* Moved the glLineWidth call outside the if/else
* Moved the code to query line GL_SMOOTH_LINE_WIDTH_RANGE and GL_ALIASED_LINE_WIDTH_RANGE to nv2a_gl_context_init(void) so that it's just called while OpenGL is being initialized.
* Removed the lineWidth local variable. It's simpler to just call glLineWidth in the if and else blocks
2024-11-23 11:49:01 +13:00
Fred Hallock
7f5176bc5f
nv2a: Scale line thickness by surface scale factor
2024-11-14 21:48:22 -07:00
Matt Borgerson
a8d8ef5484
nv2a: Drop unused ShaderState field material_alpha
2024-07-22 23:52:43 -07:00
Ryzee119
e7633ed4a5
eeprom: Use sha1 and rc4 util for hashing functions
2024-06-12 17:29:02 -07:00
Matt Borgerson
2be220df98
nv2a: Implement HILO texture modifier
2024-05-21 00:44:29 -07:00
Matt Borgerson
b3fc80b3a8
nv2a: Implement ZCLIP_MIN,MAX with gl_ClipDistance
2023-10-22 00:22:03 -07:00
Matt Borgerson
5fa08d20d6
nv2a: Scale Z by full depth range in inverse viewport transform
2023-10-22 00:22:03 -07:00
Matt Borgerson
d6e5342f89
nvnet: Add unicast and multicast filtering
2023-10-18 01:33:40 -07:00
Matt Borgerson
ccb1211cd6
nvnet: Use HWADDR_PRIx for debug hwaddr printing
2023-10-18 01:33:40 -07:00
Matt Borgerson
de611d611b
nv2a: Left-align surface type in nv2a_pgraph_surface_target trace
2023-07-27 22:23:52 -07:00
Matt Borgerson
5c495db618
nv2a: Add [last_]surface_shape.clip_y to vmstate
2023-07-27 22:09:02 -07:00
Matt Borgerson
8da35b81a8
Merge remote-tracking branch 'origin/master' into sync/qemu-7.2.0
2023-07-15 17:24:01 -07:00
Erik Abair
7bfb7c8537
nv2a: Remove assert on TEXGEN_OBJECT_LINEAR
...
The behavior seems to match HW.
[Test](https://github.com/abaire/nxdk_pgraph_tests/blob/main/src/tests/texgen_tests.cpp#L22 )

Fixes #379
2023-07-09 21:19:43 -07:00
Erik Abair
22aaac801c
nv2a: Compile fix for DEBUG_NV2A enabled
2023-07-08 21:52:41 -07:00
Matt Borgerson
976319b391
Merge remote-tracking branch 'origin/master' into sync/qemu-7.2.0
2023-06-18 01:19:02 -07:00
Matt Borgerson
0ee7502c23
ui: Make aspect ratio config independent, add autodetect
2023-06-18 00:58:39 -07:00
mborgerson
129c48dd6e
ui: Blank screen when VGA SCREEN_OFF is set
2023-06-14 03:36:47 -07:00
Matt Borgerson
bb05a4f181
nv2a: Fix SET_ANTI_ALIASING_CONTROL
...
- Rename from SET_SMOOTHING_CONTROL
- Use correct register
2023-06-11 22:52:32 -07:00
Erik Abair
5cd1e3cbca
nv2a: (Probably partial) handling for `1D7C`
...
Implements handling for the unknown 0x1D7C command in order to match observed
behavior in the MS Dashboard and Tenchu: Return from Darkness.
Setting 1D7C's low bit appears to disable the line and poly smoothing commands.
Fixes #1162
[Test](https://github.com/abaire/nxdk_pgraph_tests/blob/main/src/tests/three_d_primitive_tests.cpp )
[HW Results](https://github.com/abaire/nxdk_pgraph_tests_golden_results/wiki/Results-3D_primitive )
2023-06-11 22:44:13 -07:00
Antonio Abbatangelo
546fe068de
nv2a: Ignore nop draws in SET_BEGIN_END_OP_END
2023-05-17 00:15:47 +08:00
Erik Abair
9723b435fb
nv2a: Make multiplication by 0 match HW behavior.
...
Fixes #1008
The nv2a returns 0 for anything multiplied by zero, including exceptional
values such as Inf and NaN. Desktop GPUs do not enforce this, leading to
conditions where NaNs wipe out calculations and lead to erroneous behavior.
[Test](https://github.com/abaire/nxdk_vsh_tests/blob/main/src/tests/americasarmyshader.cpp )
[HW Results](https://github.com/abaire/nxdk_vsh_tests_golden_results/wiki/Results-AmericasArmyShader )
2023-05-01 13:58:48 -07:00
wutno
065c74a00f
nv2a: Don't manually set NV_PFB_CFG0 reg
2023-03-06 14:02:41 -07:00
Dustin Holden
d8fa50e524
smc: Implement read/write of SMC error code storage
2023-02-14 17:10:40 -07:00
Matt Borgerson
3afd8456d5
xbox.c: Fix null string warning
2023-01-23 00:30:40 -07:00
Matt Borgerson
8e3a1b2b2c
xbox: Drop old pcms->pit_enabled setting
2023-01-23 00:30:40 -07:00
Matt Borgerson
b1a59ba2e9
nv2a: Add missing vga headers
2023-01-23 00:30:40 -07:00