Commit Graph

29855 Commits

Author SHA1 Message Date
Matt Borgerson bb78ad0e2f nv2a: Rename zeta surface map 'int' to 'fixed' 2022-05-25 23:51:05 -07:00
Erik Abair 7c5d8b6546 nv2a: Implement shadow comparison for PROJECT2D mode 2022-05-25 14:38:32 -07:00
Erik Abair 9fe352c56c nv2a: Migrate surface dbg messages to trace framework 2022-05-24 16:42:23 -07:00
Matt Borgerson 280a1bb6a1 nv2a: Support compressed 2D texture padding 2022-05-24 01:46:38 -07:00
Matt Borgerson 14748d9bbb nv2a: Limit base, max mipmap level 2022-05-24 01:46:38 -07:00
Matt Borgerson 0efef88181 nv2a: Use soft 2D texture decompression 2022-05-24 01:46:38 -07:00
Erik Abair 66b57dca9c
nv2a: Invalidate zeta when constructing non-matching color surface 2022-05-19 18:07:03 -07:00
Erik Abair 397957a36c nv2a: Unbind dirty buffers on invalidate 2022-05-19 17:52:02 -07:00
Erik Abair 9a446a6544 nv2a: Add pitch to surface debug info 2022-05-18 16:52:32 -07:00
Erik Abair e64ffe8091 nv2a: Invalidate GL textures after surface blit 2022-05-18 16:51:51 -07:00
Matt Borgerson 9fafe92b25 nv2a: Don't add clip offset to swizzled surfaces 2022-05-18 16:19:10 -07:00
Matt Borgerson 38a0e46f8c nv2a: Don't bind unsampled textures 2022-05-18 03:40:04 -07:00
Matt Borgerson 2c1012ede4 nv2a: Add SHADOWCTL to shader dirty test 2022-05-17 18:13:35 -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
Erik Abair b9aef0c57c nv2a: Move palette offset behind texture reuse check 2022-05-17 17:32:32 -07:00
Erik Abair b0f20c9bba nv2a: Fix stale texture in surface input and output case 2022-05-17 17:18:15 -07:00
Matt Borgerson 3451fdb8c0 gloffscreen.h: Remove platform-specific includes 2022-05-17 16:55:41 -07:00
Erik Abair a6cd0c2110 nv2a: Prevent GPU download after blit operation 2022-05-17 16:29:16 -07:00
Erik Abair aec2883c6b
nv2a: Process pending surface uploads before render to texture 2022-05-10 17:56:58 -07:00
Erik Abair 2d50239832 nv2a: Fix subscreen pvideo overlay position 2022-05-10 14:51:51 -07:00
Erik Abair 989dbcc76d nv2a: Match HW behavior when setting window clip 2022-05-10 13:15:30 -07:00
Matt Borgerson 9c06980275 ui: Redesign user interface
Introduces a new user interface that looks much nicer, is easier to
navigate with controllers, provides more context to users, and is
scalable. Some additional features are included.

* Adds 'popup menu' with actions that can be used easily from controller
* Adds 'main menu', unifying other configuration dialogs
* Adds port-forwarding user interface
* Adds screenshot feature
* Adds volume control feature
* Adds gamepad auto-bind option
* Adds vsync configuration option
* Adds auto UI scaling
* Adds preferred window size selection
* Adds AV pack selection
* Exposes some existing config items in GUI
2022-05-07 16:09:34 -07:00
Erik Abair 306891b98c nv2a: Disable stderr print on image_blit when GL debugging is enabled 2022-05-05 14:50:07 -07:00
Erik Abair 6d7f329880 nv2a: Fix glsl ambiguous overload to prevent renderdoc failure 2022-04-26 22:08:51 -07:00
Antonio Abbatangelo 4bd1a07706 nv2a: adjust display resolution in 1080i mode 2022-04-26 13:46:28 -07:00
Erik Abair a654a1f99a nv2a: Prevent renderdoc from crashing xemu when capturing a frame 2022-04-26 13:44:13 -07:00
Erik Abair 8125e1302f nv2a: Fix renderdoc detection on macOS 2022-04-25 13:30:47 -07:00
Matt Borgerson d14cdbc7ba config: Migrate to genconfig system 2022-04-24 21:15:57 -07:00
Erik Abair 440f4c53ec nv2a: Ignore color/depth mask in CLEAR_SURFACE 2022-04-24 15:41:10 -07:00
Erik Abair 6dbd51fbe1 nv2a: Fix MAC/ILU independence 2022-04-24 15:34:14 -07:00
Erik Abair 4c8342725e nv2a: Make combiner assignment independent 2022-04-24 15:11:47 -07:00
Erik Abair f245e08560 nv2a: Set oFog.x with most significant oFog mutation 2022-04-24 15:02:39 -07:00
Erik Abair 6f507c80af nv2a: Fix handling of 0-stride vertex attributes 2022-03-22 17:35:26 -07:00
Matt Borgerson 6e1969001e nv2a: Rename sum to muxsum, simplify mux string build 2022-03-18 18:28:09 -07:00
Erik Abair cb0a92b46c nv2a: Handle LSB mux flag 2022-03-18 17:35:32 -07:00
Erik Abair f0abe3c4fc nv2a: Fix handling of R8B8 and G8B8 texture modes 2022-03-18 16:09:55 -07:00
wutno d58f4e7051 xbox: Add a dummy device in place of memory controller 2022-03-16 22:39:49 -07:00
Erik Abair 2ff5f23235 nv2a: Implement v1r0_sum flags 2022-03-16 21:22:16 -07:00
Erik Abair 4cff9c27f3 nv2a: Fix swapped R and Q texgen planes 2022-03-16 20:36:41 -07:00
wutno 5d02cdf512 pci: Set default subsys IDs to 0x0000 2022-03-12 23:03:43 -07:00
Erik Abair 83d4cbb418
nv2a: Update attribute inline_value as rendering side-effect 2022-02-22 15:01:46 -07:00
Antonio Abbatangelo 2218cdea67 nv2a/mcpx: fix freezing on loadvm failure 2022-02-22 14:40:26 -07:00
RageXbox 8919bae311
nv2a: Remove assertion in append_skinning_code 2022-02-10 22:31:22 -07:00
Erik Abair f3c7a3afd1 nv2a: Add --enable-renderdoc build config 2022-02-10 14:41:43 -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
Matt Borgerson 8d0d21bfd7 nvnet: Split out register defs 2022-02-01 23:34:53 -07:00
Matt Borgerson 2b05f7d50b nvnet: Start using tracing infrastructure for logging 2022-02-01 23:34:53 -07:00
Matt Borgerson d40a1c578d mcpx: Start using tracing infrastructure for logging 2022-02-01 23:34:53 -07:00
Matt Borgerson be23a674f3 nv2a: Start using tracing infrastructure for logging 2022-02-01 23:34:53 -07:00
Erik Abair a13f3f48a2 nv2a: Improve RenderDoc triggering 2022-01-31 20:46:41 -07:00
Erik Abair ef0a262efe nv2a: Fix swizzle_box for volumetric textures 2022-01-31 17:48:17 -07:00
Erik Abair 2d34f5108d nv2a: Support depth in volumetric palettized textures 2022-01-31 17:27:20 -07:00
Erik Abair caf84884c4 nv2a: Fix slots for vertex attribute setters 2022-01-24 18:22:16 -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 b3f56db428 nv2a: Match HW behavior when dealing with infinite fog coord 2022-01-18 18:13:54 -07:00
Matt Borgerson 3fd15218c7 nv2a: Init puserdac palette on startup 2022-01-12 19:51:14 -07:00
Matt Borgerson 42c44dc241 nv2a: Fix register print debug macro 2022-01-12 19:51:14 -07:00
Matt Borgerson 7bd68b4bfc nv2a: Specify method ranges in words 2022-01-12 19:51:14 -07:00
Matt Borgerson 0b838a6e4c nv2a: Bring back non-inc/inc loops to avoid dead code 2022-01-12 19:51:14 -07:00
Matt Borgerson 27afd42164 nv2a: Add puserdac.palette to vmstate 2022-01-12 01:53:12 -07:00
Matt Borgerson 1b5b14f8ba nv2a: Support local method loops for more methods 2022-01-12 01:13:02 -07:00
Matt Borgerson 909affdefe nv2a: Merge inc and non-inc method defs 2022-01-12 01:13:02 -07:00
Matt Borgerson a8fadd5a66 nv2a: Un-macroify loop wrappers 2022-01-11 22:03:08 -07:00
Matt Borgerson a3f077779f nv2a: Fold unnecessary macros 2022-01-11 22:03:08 -07:00
Matt Borgerson fb019d7c1f nv2a: Fold redundant loop macros 2022-01-11 15:07:48 -07:00
Matt Borgerson 7d101d5193 nv2a: Log exact method addr and name+offset if available 2022-01-11 14:20:00 -07:00
Matt Borgerson 13be29690a nv2a: Fix logging for looped methods 2022-01-11 14:20:00 -07:00
Erik Abair 01c2f0fa74 nv2a: Fix handling of NV097_SET_VERTEX_DATA4S_M 2022-01-09 16:42:38 -07:00
Matt Borgerson 057e7fcfa1 nv2a: Add kelvin method names to LUT 2022-01-09 03:19:56 -07:00
Matt Borgerson e2fc067073 nv2a: Fix debug printf warnings 2022-01-09 03:19:56 -07:00
Matt Borgerson 80fda910b1 nv2a: Batch process report queries 2022-01-09 02:47:58 -07:00
Matt Borgerson d54ce00f02 nv2a: Simplify swizzled<>linear logic 2022-01-08 19:50:20 -07:00
Matt Borgerson 62d04a3636 nv2a: Permit limited swizzled<>linear surface migration 2022-01-08 19:20:37 -07:00
Matt Borgerson 1871699c2e nv2a: Mark surface buffers dirty on DMA update 2022-01-08 19:20:37 -07:00
wutno d0fd0cb3e4 smbus: Add dummy encoders for Focus and Xcalibur 2022-01-08 13:26:17 -07:00
Matt Borgerson eb87feae2c nv2a: Only sync blit source surface if dirty 2022-01-08 02:45:48 -07:00
Matt Borgerson 76b26b13fc nv2a: Make beta value be strictly uint32_t 2022-01-08 02:45:48 -07:00
Matt Borgerson d91e6d304f nv2a: Refactor blit operation logic 2022-01-08 02:45:48 -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
Erik Abair 0d4e3d29b5 nv2a: Download destination surface for partial SRCCOPY blits 2022-01-08 02:45:48 -07:00
haxar aacae39aa0 xbox_pci: Map PCI device slots 0 & 1 to a corresponding IRQ nibble index 2022-01-07 16:19:30 -07:00
haxar 25b8fa8433 nv2a: Refactor VGA init 2022-01-07 16:19:30 -07:00
Dustin Holden edbe932d8c Add missing error flag on SMBus transactions 2022-01-06 01:32:42 -07:00
wutno 6454b7b9d4 xbox: Change PCI IDs for USB and IDE controllers to match Xbox 2021-12-28 17:42:23 -07:00
wutno 8f529d0d9c nv2a: Set frequency to 233MHz 2021-12-28 17:40:50 -07:00
Erik Abair 41ef1ca5e5
nv2a: Add option to suppress irq and dma_map debug messages 2021-12-28 17:39:36 -07:00
antangelo 57795d81cb
nv2a: Don't mark surface dirty on unchanged offset, pitch 2021-12-28 15:53:47 -07:00
Matt Borgerson 69ceec4446 nv2a: Support gamma correction 2021-11-23 17:49:44 -07:00
Ryzee119 ce6c51a591 xbox: Update LPC PCI revision for 1.0 Xbox 2021-11-19 20:07:41 -07:00
Erik Abair dcad9d62b3
nv2a: Discard unknown front face 2021-11-19 16:40:54 -07:00
Matt Borgerson 50a5368f47 Revert "nv2a/vsh: Use double precision in clip range remap"
This reverts commit 1a15d83c44.
2021-11-19 13:48:04 -07:00
Erik Abair 1a15d83c44
nv2a/vsh: Use double precision in clip range remap 2021-11-18 17:17:59 -07:00
Erik Abair 1c6e75885c
nv2a: Enable 16-bit floating point z-buffer mode 2021-11-18 16:46:50 -07:00
Erik Abair a3e507860e
nv2a: Respect pitch in YUV texture conversion, upload 2021-11-13 17:18:23 -07:00
Matt Borgerson 172e4768c6 xbox: Set default machine flag 2021-10-30 13:38:24 -07:00
Matt Borgerson 8602863f36 util: Add fast-hash.h to simplify xxHash usage 2021-10-25 16:30:38 -07:00