Commit Graph

38497 Commits

Author SHA1 Message Date
Matt Borgerson 23312f384b nv2a: Separate VshState and PshState generation 2025-06-28 00:18:28 -07:00
Matt Borgerson 9020913e29 nv2a: Extract GLSL generation options from {Vsh,Psh}State 2025-06-28 00:18:28 -07:00
Matt Borgerson c575b08b5f nv2a: Extract VshState from ShaderState 2025-06-28 00:18:28 -07:00
Matt Borgerson 9d9c88f71d nv2a: Unset some FF ShaderState if unnecessary 2025-06-28 00:18:28 -07:00
Matt Borgerson 3ad4eb3101 nv2a: Remove colorkey_mask from PshState
It's a uniform, so we don't want it to be part of the PSH setup state,
which used as the shader cache key.
2025-06-28 00:18:28 -07:00
Erik Abair 634577c753 nv2a: Clamp fog factor to valid float range 2025-06-26 14:20:20 -07:00
Matt Borgerson 1fa242bd00 nv2a/vk: Only include palette in texture key when necessary
Fixes degraded performance due to garbage palette details polluting the
texture cache.
2025-06-23 01:09:51 -07:00
Matt Borgerson a242964793 nv2a/vk: Require fillModeNonSolid feature 2025-06-22 16:44:14 -07:00
Matt Borgerson cbcfd1d1d6 nv2a/vk: Enable wideLines feature before use 2025-06-22 16:44:14 -07:00
Matt Borgerson df1ac31eb2 nv2a/vk: Set line width state dynamically 2025-06-22 16:44:14 -07:00
specialfred453@gmail.com d8afb35c40 nv2a/vk: Scale line width by surface scale 2025-06-22 16:44:14 -07:00
Erik Abair 348b03d6ce
nv2a: Handle PGRAPH color keying 2025-06-21 13:25:24 -07:00
Matt Borgerson 14a0a5f481 nvnet: Drop unnecessary switch 2025-06-21 09:55:26 -07:00
Ryan Wendland fe93634c78 nvnet: Return MII status on MMIO reads 2025-06-21 09:51:35 -07:00
Matt Borgerson 7d9739df4c apu/vp: Make number of voice workers dynamic
Adds a new config option to control number of workers. If the value of
the option is 0 (default), then the logical CPU count, as reported by
SDL, is used.
2025-06-20 17:41:24 -07:00
Matt Borgerson 8881537de2 nvnet: Reduce auto-negotiation duration to 250ms 2025-06-20 16:11:01 -07:00
Matt Borgerson 6a99c038b1 nvnet: Assert MMIO writes are 32b aligned 2025-06-20 16:11:01 -07:00
Matt Borgerson 78a45f2955 nvnet: Drop useless assert 2025-06-20 16:11:01 -07:00
Matt Borgerson 4794f9d543 nvnet: Define auto-negotiation duration constant 2025-06-20 16:11:01 -07:00
Matt Borgerson 4b310661b1 nvnet: Fixup some trace formatting 2025-06-20 16:11:01 -07:00
Matt Borgerson 19bb45d9d7 nvnet: Add trace for packet send 2025-06-20 16:11:01 -07:00
Matt Borgerson 1d2f75fb76 nvnet: Drop more useless dprintfs 2025-06-20 16:11:01 -07:00
Matt Borgerson 0c7a352c31 nvnet: Add traces for tx/rx dma 2025-06-20 16:11:01 -07:00
Matt Borgerson 00f828111d nvnet: Use load_ring_desc in dump_ring_descriptors 2025-06-20 16:11:01 -07:00
Matt Borgerson 556b08cd88 nvnet: Add trace for descriptor stores 2025-06-20 16:11:01 -07:00
Matt Borgerson 8bfefd4a27 nvnet: Add trace for irq updates 2025-06-20 16:11:01 -07:00
Matt Borgerson 36b8db38b5 nvnet: Add trace for tx/rx blockers 2025-06-20 16:11:01 -07:00
Matt Borgerson f86e79a500 nvnet: Move ring descriptor load/store out to function 2025-06-20 16:11:01 -07:00
Matt Borgerson 6bbd86a293 nvnet: Drop useless dprintf 2025-06-20 16:11:01 -07:00
Matt Borgerson 2f78df32af nvnet: Move dma idle status update out to function 2025-06-20 16:11:01 -07:00
Matt Borgerson 40712109c5 nvnet: Move tx descriptor pointer updates out 2025-06-20 16:11:01 -07:00
Matt Borgerson 2e625e6cce nvnet: Check for rx buffer availability in can_receive 2025-06-20 16:11:01 -07:00
Matt Borgerson d7a1773755 nvnet: Clean up tx/rx prechecks 2025-06-20 16:11:01 -07:00
Matt Borgerson 0200224d7e nvnet: Idle before interrupt in dma_packet_from_guest 2025-06-20 16:11:01 -07:00
Matt Borgerson e6c8b2ebf7 nvnet: Drop return value from dma_packet_from_guest 2025-06-20 16:11:01 -07:00
Matt Borgerson c16bfd84fd nvnet: Check for dma disable before tx/rx 2025-06-20 16:11:01 -07:00
Matt Borgerson c75d746a34 nvnet: Fix mmio write unconditional passthru 2025-06-20 16:11:01 -07:00
Matt Borgerson 5a9b5d8e5d nvnet: Set idle bit on reset 2025-06-20 16:11:01 -07:00
Matt Borgerson 9d15439634 nvnet: Don't expect higher bits clear in test for tx kick bit 2025-06-20 16:11:01 -07:00
Matt Borgerson 9ab352dcd0 nvnet: Fix bit clear nit in mdio_read 2025-06-20 16:11:01 -07:00
Matt Borgerson 0ea109bcf1 nvnet: Rename net_nvnet_info -> nvnet_client_info 2025-06-20 03:34:28 -07:00
Matt Borgerson 065e95b924 nvnet: Check for link-up in nvnet_can_receive 2025-06-20 03:34:28 -07:00
Matt Borgerson 5f78df058c nvnet: Simplify some function names, register access 2025-06-20 03:34:28 -07:00
Matt Borgerson b4c66e0511 nvnet: Factor interrupt assertion out to common function 2025-06-20 03:34:28 -07:00
Matt Borgerson d9ed689cc7 nvnet: Add some traces for link status and AN 2025-06-20 03:34:28 -07:00
Matt Borgerson 43c68c22a0 nvnet: Handle link status changes 2025-06-20 03:34:28 -07:00
Matt Borgerson 3d5ab7d5f8 nvnet: Drop unnecessary call to reset_descriptor_ring_pointers 2025-06-20 03:34:28 -07:00
Matt Borgerson b22f42ff95 nvnet: Move tx_dma_buf_offset field up 2025-06-19 01:56:05 -07:00
Matt Borgerson 0eb0a315b8 nvnet: Migrate ring index tracking to device registers 2025-06-19 01:56:05 -07:00
Matt Borgerson e75c5f3e8f nvnet: Simplify length adjustment in nvnet_dma_packet_from_guest 2025-06-19 01:56:05 -07:00
Matt Borgerson d4a5e78ba7 nvnet: Drop post-tx descriptor length increase 2025-06-19 01:56:05 -07:00
Matt Borgerson 59d98ed3be nvnet: Drop some useless debug prints 2025-06-19 01:56:05 -07:00
Matt Borgerson 389f7ad577 nvnet: Rename RingDesc::packet_buffer -> buffer_addr 2025-06-19 01:56:05 -07:00
Matt Borgerson 9e00beaffa nvnet: Migrate ring size tracking to registers 2025-06-19 01:56:05 -07:00
Matt Borgerson bfe9f659d2 nvnet: Shrink some debug printfs 2025-06-19 01:56:05 -07:00
Matt Borgerson 3fd776d98e nvnet: Convert descriptor fields to host byte order and back 2025-06-19 01:56:05 -07:00
Matt Borgerson 1dbda16970 nvnet: Simplify nvnet_dma_packet_to_guest 2025-06-19 01:56:05 -07:00
Matt Borgerson fded775222 nvnet: Clean up idle bit management 2025-06-19 01:56:05 -07:00
Matt Borgerson bf72b3b33a nvnet: Remove more useless comments 2025-06-19 01:56:05 -07:00
Matt Borgerson 3fc128d929 nvnet: Fix phy_{addr,reg} sizes in nvnet_mdio_{read,write} 2025-06-19 01:56:05 -07:00
Matt Borgerson e43cf90c74 nvnet: Simplify nvnet_mmio_write 2025-06-19 01:56:05 -07:00
Matt Borgerson 14a95ddb7f nvnet: Move nvnet_dump_ring_descriptors down 2025-06-19 01:56:05 -07:00
Matt Borgerson 86cda64f70 nvnet: Fix register stringification 2025-06-19 01:56:05 -07:00
Matt Borgerson 59cec6599d nvnet: Move NetClientInfo handlers up 2025-06-18 01:32:27 -07:00
Matt Borgerson 2e8a08b5e5 nvnet: Fix spacing in NvNetState 2025-06-18 01:32:27 -07:00
Matt Borgerson 5e4d7a1dba nvnet: Fix nvnet_phy_reg_* trace addr/value size 2025-06-18 01:32:27 -07:00
Matt Borgerson 4e5a1fa157 nvnet: Copyright update 2025-06-18 01:32:27 -07:00
Matt Borgerson c0fa7e9ec4 nvnet: Rename mii reg traces to nvnet_phy_reg_{read,write} 2025-06-18 01:32:27 -07:00
Matt Borgerson 3eff7dd7fe nvnet: Run clang-format 2025-06-18 01:32:27 -07:00
Matt Borgerson bd7a6d7b31 nvnet: Make phy registers 16b 2025-06-18 01:32:27 -07:00
Matt Borgerson 3649593c73 nvnet: Factor out phy register read/write from mdio 2025-06-18 01:32:27 -07:00
Matt Borgerson f640a9969a nvnet: Rename mdio addr/data registers 2025-06-18 01:32:27 -07:00
Matt Borgerson 04bd92df40 nvnet: Migrate ring size shifts to GET_MASK macro 2025-06-18 01:32:27 -07:00
Matt Borgerson f4ab3ab830 nvnet: Format the register list 2025-06-18 01:32:27 -07:00
Matt Borgerson 144d3049a9 nvnet: Drop more useless comments 2025-06-18 01:32:27 -07:00
Matt Borgerson e180a11d04 nvnet: Simplify register stringification 2025-06-18 01:32:27 -07:00
Matt Borgerson 8d2ea10ef0 nvnet: Use QEMU_PACKED macro 2025-06-18 01:32:27 -07:00
Matt Borgerson 936730bb98 nvnet: Drop dead code 2025-06-18 01:32:27 -07:00
Matt Borgerson 1fd4cc7dd4 nvnet: Simplify debug macro 2025-06-18 01:32:27 -07:00
Matt Borgerson bf76e3f666 nvnet: Eliminate redundant declarations 2025-06-18 01:32:27 -07:00
Matt Borgerson 361809d623 nvnet: Use OBJECT_DECLARE_SIMPLE_TYPE 2025-06-18 01:32:27 -07:00
Matt Borgerson 6fc9925dc9 nvnet: Drop custom packet hexdump 2025-06-18 01:32:27 -07:00
Matt Borgerson c9f794c277 nvnet: Use is_broadcast_ether_addr 2025-06-18 01:32:27 -07:00
Matt Borgerson 1312b7e683 nvnet: Drop some useless comments 2025-06-18 01:32:27 -07:00
Matt Borgerson 62b8e789f4 nvnet: Move NVNET_DEVICE macro up 2025-06-18 01:32:27 -07:00
Matt Borgerson 92bc16f015 nvnet: Reorganize for more prototype elimination 2025-06-18 01:32:27 -07:00
Matt Borgerson ea6d2fc050 nvnet: Drop some useless protos 2025-06-18 01:32:27 -07:00
Matt Borgerson 12127b469d nvnet: Clean up mii read and write handling 2025-06-18 01:32:27 -07:00
Matt Borgerson bc4dbcf4bb nvnet: Fix mii inuse/write bits 2025-06-18 01:32:27 -07:00
Matt Borgerson 928be451d9 nvnet: Drop unnecessary comment 2025-06-18 01:32:27 -07:00
Matt Borgerson 2027d5bc67 nvnet: Use hw/net/mii.h
hw/net/mii.h provides common definitions for MII.
2025-06-18 01:32:27 -07:00
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