Matt Borgerson
0c2a617819
nv2a: Bump vmstate version for new NV2A_MAX_BATCH_LENGTH
2025-04-18 11:58:22 -07:00
Erik Abair
270dbe01ea
nv2a: Increase MAX_BATCH_LENGTH beyond highest known retail use
2025-04-18 10:46:43 -07:00
Erik Abair
69c8df2a3e
nv2a: Partial implementation of SET_SPECULAR_PARAMS
2025-04-16 18:24:46 -07:00
Erik Abair
7a34eedd6f
nv2a: Partially handle SET_LIGHT_CONTROL
2025-04-16 18:24:46 -07:00
Erik Abair
86c85023e6
nv2a: Handle SET_FOG_COORD and SET_WEIGHT* commands
2025-04-16 14:09:13 -07:00
Erik Abair
672e9cd553
nv2a: Handle SET_SPECULAR_ENABLE
2025-03-28 02:18:42 -07:00
Matt Borgerson
a830cc4526
xbox: Disable clang-format for deliberately aligned reg defs
2025-03-27 23:33:40 -07:00
Matt Borgerson
a5385803db
nv2a: Add Vulkan renderer
2024-12-31 01:37:05 -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
Erik Abair
f29c2ff42c
nv2a: Handle PVIDEO ds_dx and dt_dy registers
...
ds_dx and dt_dy describe how the PVIDEO content should be scaled to fit the
output area. Each is calculated via `((in - 1) << 20) / (out - 1)`, this
commit calculates the full frame scale (in / out) and applies that when
determining the texture coordinates for the overlay.
2022-07-18 10:59:08 -07:00
Matt Borgerson
83e16c996d
nv2a: Store shading mode in CONTROL_3
2022-06-25 21:11:30 -07:00
Erik Abair
4132845336
nv2a: Implement SET_SHADE_MODEL
2022-06-25 20:39:55 -07:00
Erik Abair
9d2d8691b5
nv2a: Implement NV097_LAUNCH_TRANSFORM_PROGRAM
2022-06-24 20:41:04 -07:00
Matt Borgerson
191f927517
nv2a: Store zclamp config to registers
2022-06-14 17:52:55 -07:00
Erik Abair
875c0659d6
nv2a: Implement gl_depth_clamp control
2022-06-14 17:05:21 -07:00
Matt Borgerson
0cdcdde70c
nv2a: Emulate floating Z24S8 with fixed Z24S8
2022-05-25 23:51:05 -07:00
Matt Borgerson
a1f34c339a
nv2a: Add SHADOWCTL register to store depth func
2022-05-17 18:13:35 -07:00
Erik Abair
c33d96127c
nv2a: Implement shadow samplers
2022-05-17 17:45:16 -07:00
Antonio Abbatangelo
4bd1a07706
nv2a: adjust display resolution in 1080i mode
2022-04-26 13:46:28 -07:00
Erik Abair
8689e640bd
nv2a: Add missing vertex attribute setters
2022-02-10 14:35:53 -07:00
Erik Abair
517e4b3414
nv2a: Implement SET_MATERIAL_ALPHA and diffuse color src
...
This adds support for the material alpha command and updates the fixed function
shader to respect the diffuse source parameter (which was already piped through
but not utilized).
2022-02-05 15:22:03 -07:00
Erik Abair
d17e019684
nv2a: Implement vertex attribute setters
2022-01-24 16:22:52 -07:00
Erik Abair
6b821d2062
nv2a: Implement pvideo color keying
2022-01-22 13:54:40 -07:00
Erik Abair
6e2446e91b
nv2a: Support XRGB_ZRGB blit surface format
2022-01-08 02:45:48 -07:00
Erik Abair
a546f07df7
nv2a: Implement BLEND_AND image blit operation
2022-01-08 02:45:48 -07:00
Matt Borgerson
69ceec4446
nv2a: Support gamma correction
2021-11-23 17:49:44 -07:00
Matt Borgerson
47b1487a71
nv2a: Move bump mat into pgraph register file
2021-10-12 01:32:08 -07:00
Mike Davis
0b9a2e1a8f
nv2a: Support NV062_SET_COLOR_FORMAT_LE_Y32 blitting
2021-07-18 22:58:16 -07:00
Mike Davis
0f9b862e37
nv2a: Support texture format SZ_DEPTH_Y16_FIXED
2021-07-12 12:15:49 -07:00
Mike Davis
be3df6ab8e
nv2a: Support texture format LC_IMAGE_YB8CR8YA8CB8
2021-07-10 23:29:01 -07:00
Mike Davis
ed7cbef976
nv2a: Support texture format COLOR_LU_IMAGE_G8B8
2021-07-10 02:58:18 -07:00
Matt Borgerson
203c76f89c
nv2a: Handle point sprites, scaling
2021-07-10 02:42:15 -07:00
Mike Davis
f03015e20e
nv2a: Support texture format COLOR_SZ_B8G8R8A8
2021-07-03 13:10:31 -07:00
Josef Šimánek
df940c0b3f
nv2a: Add NV062_SET_COLOR_FORMAT_LE_X8R8G8B8 definition
2021-05-18 13:34:18 -07:00
Matt Borgerson
0bec22318a
nv2a: Add Gaussian convolution filter for AA
2020-12-02 16:49:58 -07:00
Matt Borgerson
a34cab69dd
nv2a: Support line and poly anti-aliasing
2020-12-01 22:36:09 -07:00
Matt Borgerson
3c6596975d
nv2a: Implement dot texture modes and dotmapping
2020-10-28 15:59:20 -07:00
Matt Borgerson
0433c5e6bc
nv2a: Simulate PCRTC_RASTER register
2020-10-25 19:52:57 -07:00
Dalai
6936945afa
nv2a: Support texture format COLOR_LU_IMAGE_DEPTH_Y16_FLOAT
2020-10-23 13:38:57 -07:00
Matt Borgerson
fcd3764cce
nv2a: Handle color material ambient/emissive
2020-09-06 20:42:21 -07:00
Matt Borgerson
bb0fdef251
nv2a: Handle alignment padding between cubemap faces
2020-09-05 16:21:21 -07:00
Stanislav Motylkov
c230d77bc2
nv2a: Add some missing RAMDAC registers
...
Cromwell sets these registers on video initialization and
guest OS should be able to read them in order to obtain
current screen resolution set up by firmware.
2019-10-18 21:30:16 +01:00
Jannik Vogel
2dc570561e
nv2a: Fix VGA get_bpp for X1R5G5B5
2019-10-01 12:48:45 -07:00
Jannik Vogel
f9b9a9bad8
nv2a: Add support for PGRAPH RDI select 0xCC
2019-09-16 12:15:25 -07:00
Jannik Vogel
e42fb24752
nv2a: Add support for PGRAPH RDI select 0x17
2019-09-16 12:15:25 -07:00
Jannik Vogel
973f8db16a
nv2a: Support PGRAPH RDI
2019-09-16 12:15:25 -07:00
espes
e12aa122cf
relicense xbox components as LGPL
...
(with permission)
2018-10-10 13:38:16 +10:00
espes
3d33d8101b
cleanup nv2a
2018-09-26 17:42:41 +08:00