Mostly acts as a checklist on future work so it's not forgotten ### Command processor - [ ] Replace coroutines with a manual stack frame management for easier debugging - [ ] Rewrite graphics and CE submissions to use primary ring and IBs - [ ] Rewrite compute submissions to use read/write pointers instead of range list - [ ] Host gpu sync by writing labels from host GPU instead of at parsing time ### Shader recompiler - [ ] Implement MBCNT properly without heuristics - [ ] SGPR/VGPR/VCC type tracking (scalar or thread-bit) - [ ] IMAGE_STORE_MIP on NVIDIA - [ ] Ordered appends - [ ] Implement LEGACY instruction variant NaN/Inf behaviors - [ ] Implement proper NEG/ABS modifiers on integer instructions - [ ] Support variable vector and bit sizes in IR instructions for de-duplication purposes - [ ] Min/Max blending factor emulation - [ ] Blending emulation with incompatible COMP_SWAP setting - [ ] Bindless buffers and images ### GPU Memory - [ ] Allocate vulkan device memory according to guest memory type - [ ] Use sparse resident buffer for guest GPU address space - [ ] (Linux) Use VK_EXT_map_memory_placed to directly map host GPU memory to guest and bypass memory tracker - [ ] (Windows) Rework memory tracker and its locking to improve performance for large ranges ### Texture cache - [ ] Implement per-subresource image state tracking - [ ] Support partial overlap handling and resolution - [ ] Test and implement PRT tiling modes ### Reason Make stuff go brrr
Mostly acts as a checklist on future work so it's not forgotten
Command processor
Shader recompiler
GPU Memory
Texture cache
Reason
Make stuff go brrr