Commit Graph

  • bcd96ac77d Fixup A8R8G8B8 TIC format mapping Billy Laws 2022-10-21 21:57:56 +01:00
  • 90466b8830 Implement depth clamp rasterisation state Billy Laws 2022-10-21 21:57:12 +01:00
  • 1cfc4278f9 Disable preserve buffer/texture attachment opt for now Billy Laws 2022-10-21 21:56:12 +01:00
  • e483cf9634 Use shader memory mirror when reading guest shaders Billy Laws 2022-10-16 20:59:14 +01:00
  • f6e4328b5a Ensure blit src/dst textures are attached as execution cycle dependencies Billy Laws 2022-10-16 20:56:06 +01:00
  • 77a131df60 Support using in-app renderdoc API to capture individual executions Billy Laws 2022-10-16 20:54:43 +01:00
  • 576bc6f37e Add CommandExecutor slot count setting Billy Laws 2022-10-16 20:50:06 +01:00
  • 1a0819fb76 Use semaphores for presentation engine frame synchronisation Billy Laws 2022-10-16 20:47:17 +01:00
  • 0670e0e0dc Support using Vulkan semaphores with fence cycles Billy Laws 2022-10-16 20:31:36 +01:00
  • 5b72be88c3 Stub ldn:u service Billy Laws 2022-10-16 17:55:04 +01:00
  • 77d76ed05a Batch contiguous GMMU ranges into one Billy Laws 2022-10-16 17:53:52 +01:00
  • e52dbf202f Pass more Maxwell3D registers into interconnect Billy Laws 2022-10-09 16:47:17 +01:00
  • 83c7ed314e Setup KThread pthread handle in StartThread Billy Laws 2022-10-09 16:44:36 +01:00
  • 9784ae23e9 Skip checking affinity before taking load-balance WaitScheduler path Billy Laws 2022-10-09 16:43:15 +01:00
  • ad3195e06f Split out guest texture layer size calcs into a seperate func Billy Laws 2022-10-09 16:42:51 +01:00
  • 8fa83fdf13 Fix deswizzling non-pow2 block size formats Billy Laws 2022-10-09 16:40:37 +01:00
  • 27de42f8df Use surfaceClip as a hint for the underlying rendertarget size Billy Laws 2022-10-09 16:35:35 +01:00
  • 297597f697 Fix texture manager depth compat comparison Billy Laws 2022-10-09 16:35:13 +01:00
  • 500f817a28 Synchronize all non-matching textures back to host before recreation Billy Laws 2022-10-09 16:34:49 +01:00
  • 05581f2230 Remove now redundant buffer/texture/megabuffer manager locks Billy Laws 2022-10-09 16:32:59 +01:00
  • f5a141a621 Add dirty resource operator* Billy Laws 2022-10-09 14:07:56 +01:00
  • b72720e8db Finish off transform feedback implementation Billy Laws 2022-10-09 14:07:00 +01:00
  • 36fd885b49 Pack all draw state into a struct to avoid std::function allocations Billy Laws 2022-10-09 14:06:21 +01:00
  • b5d0060c3f Only use scissor for clear rect when enabled Billy Laws 2022-10-09 14:05:25 +01:00
  • f93df35e6c Only set line width when wideLines feature is supported Billy Laws 2022-10-09 14:03:23 +01:00
  • 4cebdfc8d3 Pass texture and cbuf state into pipeline manager for hades callbacks Billy Laws 2022-10-09 14:01:48 +01:00
  • 9ce848d4e0 Implement descriptor update batching and push descriptors Billy Laws 2022-10-09 13:58:50 +01:00
  • 62a165b51e Reformat maxwell3d interconnect codebase Billy Laws 2022-10-09 13:57:47 +01:00
  • 3766be59e7 Zero out vertex attribute state when disabled to avoid creating redundant pipelines Billy Laws 2022-10-09 13:54:26 +01:00
  • 751e3356e1 Keep shader trap lock held for the duration of an execution Billy Laws 2022-10-09 13:52:40 +01:00
  • 314a9bccbc Allow megabuffering readonly SSBOs Billy Laws 2022-10-09 13:51:49 +01:00
  • 4c2db0ba01 Implement ReadCbufValue and ReadTextureType hades callbacks Billy Laws 2022-10-09 13:50:19 +01:00
  • 2163f8cde6 Implement alpha test pipeline state Billy Laws 2022-10-09 13:49:26 +01:00
  • c86ad638c4 Keep track of transform feedback varyings pipeline state Billy Laws 2022-10-09 13:48:05 +01:00
  • 7ad2d94345 Zero out blend state when disabled to avoid creating redundant pipelines Billy Laws 2022-10-09 13:46:10 +01:00
  • 4052a93051 Force non-pushdescriptors for blit helper shader Billy Laws 2022-10-09 13:43:21 +01:00
  • cb2a8c6d24 Enable wideLines Vulkan feature Billy Laws 2022-10-09 13:42:36 +01:00
  • a3369637a9 Don't entirely wipe out per-index TIC cache efter each execution Billy Laws 2022-10-09 13:39:08 +01:00
  • 98c0cc3e7f Impl preserve attached buffers/textures to avoid GPFIFO lock thrashing Billy Laws 2022-10-09 13:23:42 +01:00
  • 0e8ccf1e99 Use memory_order_release for new descriptor set allocations Billy Laws 2022-10-09 13:16:50 +01:00
  • 34db5097da Avoid using a shared_ptr reference to cycle for command buffer submission Billy Laws 2022-10-09 13:14:04 +01:00
  • 0428e8c7da Support forcing regular descriptor sets in VK pipeline cache Billy Laws 2022-10-09 13:13:05 +01:00
  • 0f394d516b Lock FenceCycle inbetween waiting on chained cycles and checking signalled Billy Laws 2022-10-09 13:04:24 +01:00
  • a015fe753d Only write npad controllerInfo entry on the HID thread if it is valid Billy Laws 2022-10-09 13:04:03 +01:00
  • b5446846f7 Stub IsSixAxisSensorAtRest Billy Laws 2022-10-09 13:03:05 +01:00
  • 6719572b3b Keep track of how often textures/buffers are locked on the CPU Billy Laws 2022-10-09 12:57:59 +01:00
  • 993ffb56f4 Avoid waiting on texture/buffer fence with trapMutex locked Billy Laws 2022-10-09 12:55:56 +01:00
  • 3e8bd26978 Add a global gm20b channel lock Billy Laws 2022-10-09 12:51:27 +01:00
  • 57a4699bd1 Add IOCTL trace events Billy Laws 2022-09-29 21:52:38 +01:00
  • 7861968c05 Fix memory::Buffer move constructor Billy Laws 2022-09-29 21:51:56 +01:00
  • ef0ae30667 Implement Maxwell3D texture pool management and view creation Billy Laws 2022-09-29 21:44:46 +01:00
  • 5542459c75 Use a SpinLock for guest shader code cache trap mutex Billy Laws 2022-09-29 21:40:48 +01:00
  • 3e12cde4d5 Make active Vulkan pipeline public Billy Laws 2022-09-29 21:40:00 +01:00
  • 2556966ec5 Don't attach textures to the active cycle in AttachTexture Billy Laws 2022-09-29 21:39:08 +01:00
  • 7dc3dde815 Introduce support for waiting for submission to FenceCycle Billy Laws 2022-09-29 21:24:02 +01:00
  • 54b85583ae Fix layout transition in Texture::CopyFrom Billy Laws 2022-09-29 21:23:14 +01:00
  • 0f7c04ffb4 Use target format bpb when calculating linear mip level size Billy Laws 2022-09-29 21:22:51 +01:00
  • 849184452c Add function to check if any guest texture mappings are unmapped Billy Laws 2022-09-29 21:22:13 +01:00
  • 98cb94ca6c Bind an empty uniform buffer in place of unbound constant buffers Billy Laws 2022-09-29 21:20:42 +01:00
  • 55b85d0691 Implement combined image samplers and make descriptor code common between quick/normal updates Billy Laws 2022-09-29 21:17:25 +01:00
  • ccf2d59351 Fixup input rate reading from packed pipeline state Billy Laws 2022-09-29 21:16:57 +01:00
  • 13970a5644 Refresh pipeline cached storage buffer bindings after each execution Billy Laws 2022-09-29 21:16:31 +01:00
  • 6bb2853ca0 Keep track of combined image samplers for quick bind Billy Laws 2022-09-29 21:14:28 +01:00
  • 040db37a28 Fix descriptor copies to be one per descriptor type Billy Laws 2022-09-29 21:13:48 +01:00
  • d482e0ea98 Fix shader stage iteration to not miss the pixel stage Billy Laws 2022-09-29 21:11:46 +01:00
  • 0b808cc22b Use Sint/Uint attribute type in place of Sscaled/Uscaled Billy Laws 2022-09-29 21:09:58 +01:00
  • 92ce220d3a Ignore constant buffer selector size for updates Billy Laws 2022-09-29 21:05:04 +01:00
  • 33f16ca26e Handle unmapped blocks in CachedMappedBufferView Billy Laws 2022-09-29 21:04:20 +01:00
  • 5c0e4a839d Fix SW BC2 decoding pitch Billy Laws 2022-09-29 21:01:47 +01:00
  • 60863fa162 Make viewports fallback to viewport 0 when their dimensions are invalid Billy Laws 2022-09-29 20:57:41 +01:00
  • 586f872655 Update indexed quad conversion for new API Billy Laws 2022-09-29 20:56:45 +01:00
  • 498b4966d3 Avoid crashing on unmapped buffers Billy Laws 2022-09-29 20:56:11 +01:00
  • 9f2b20443b Implement Maxwell3D draws Billy Laws 2022-09-29 20:55:08 +01:00
  • 5020478ace Always rebind pipeline if it has changed from the previous draw Billy Laws 2022-09-29 20:54:17 +01:00
  • af1b4ca4f8 Skip clears if attachments are invalid Billy Laws 2022-09-29 20:53:41 +01:00
  • 01a5e95ce1 Implement non-indexed quad conversion support in new GPU Billy Laws 2022-09-29 20:50:47 +01:00
  • d42814bdc1 Add callback for when non-Maxwell3D engines alter pipeline state Billy Laws 2022-09-29 20:46:42 +01:00
  • 7133c5d6b3 Drop exclusiveSubpass in favour of only ending RPs when attachments change Billy Laws 2022-09-29 20:43:24 +01:00
  • a3f38c0cf7 Add perfetto tracepoints to async record Billy Laws 2022-09-29 20:43:03 +01:00
  • 6dfef095e8 Up default record slot count to 6 Billy Laws 2022-09-29 20:42:01 +01:00
  • 7d3a117a6f Use a spinlock for descriptor set allocator Billy Laws 2022-09-29 20:36:30 +01:00
  • 78ddd03d1f Mark newly allocated descriptor slots as active Billy Laws 2022-09-29 20:36:10 +01:00
  • 0867c593be Support binding pipelines in state updater Billy Laws 2022-09-29 20:35:34 +01:00
  • f42a0df72c Use ctSelect register for colour targets and impl null color attachments Billy Laws 2022-09-29 20:32:52 +01:00
  • 38aad21d29 Share single flag variable for Maxwell3D batch draw/constant buffer update Billy Laws 2022-09-29 20:29:29 +01:00
  • bd7eee8e2b Optimise GPFIFO command processing Billy Laws 2022-09-29 20:26:48 +01:00
  • 2cdf6c1fe6 Add branch hint attributes to a couple branches Billy Laws 2022-09-29 20:25:31 +01:00
  • b310b99bdc Handle unmapped ranges in TranslateRange Billy Laws 2022-09-29 20:20:57 +01:00
  • acfa58ea8c State uopdater MERGEBACK desC Billy Laws 2022-09-23 22:12:26 +01:00
  • 68b6b20f78 Bunch of cleanup/bugfixes for initial pipeline desc set impl Billy Laws 2022-09-23 22:10:36 +01:00
  • eb4a9bab11 Mark freshly allocated descriptor slots as active Billy Laws 2022-09-23 22:08:03 +01:00
  • f3184cdff1 Reorder active descriptor set slots to end of list Billy Laws 2022-09-23 22:06:50 +01:00
  • 128b68d8b2 Avoid resetting command buffers manually it's implicit Billy Laws 2022-09-23 22:05:52 +01:00
  • e1717ed811 Implement Maxwell samplers Billy Laws 2022-09-22 00:13:57 +01:00
  • f1600f5ad0 Support allocating into spans in the linear allocator Billy Laws 2022-09-22 00:12:30 +01:00
  • 04cea9239f Implement descriptor set updating through StateUpdater Billy Laws 2022-09-22 00:11:35 +01:00
  • d174ca950b Revert "Reset executor command buffers asynchronously" Billy Laws 2022-09-21 21:02:45 +01:00
  • 2bbe975ea7 Reset executor command buffers asynchronously Billy Laws 2022-09-19 17:44:52 +01:00
  • 054d32567d Allow mutation of input data by callback in CircularQueue::AppendTranform Billy Laws 2022-09-19 14:45:00 +01:00
  • 7c9212743c Implement asynchronous command recording Billy Laws 2022-09-19 14:38:36 +01:00