Commit graph

  • 37ff0ab814 Add buffer manager support for accelerated copies Billy Laws 2022-10-25 21:03:29 +01:00
  • cac287d9fd Implement accelerated uploads/copies through buffer manager Billy Laws 2022-10-25 20:57:30 +01:00
  • c5ec484d9a Avoid redundantly passing executor in ctors when it's already in ChannelCtx Billy Laws 2022-10-25 20:55:50 +01:00
  • 463394ba72 Pass correct size for XFB buffers Billy Laws 2022-10-25 20:53:29 +01:00
  • bd976676f4 Fix SNorm vertex formats Billy Laws 2022-10-25 20:52:37 +01:00
  • b74098570f Zero-out unused XFB varyings before passing to hades Billy Laws 2022-10-25 20:52:14 +01:00
  • 22f3ba6b93 Mark XFB buffers as GPU dirty Billy Laws 2022-10-25 20:51:38 +01:00
  • 26aeeaecf5 Add constant buffer GPU write pipeline barrier Billy Laws 2022-10-25 20:50:43 +01:00
  • 0b5d9308c4 Be more careful about potentially-unneeded GPU->CPU syncs Billy Laws 2022-10-25 20:48:38 +01:00
  • e6530e2386 Delete graphics_context Billy Laws 2022-10-23 20:52:46 +01:00
  • ac2e6c125b Switch to Roboto for Korean font Billy Laws 2022-10-23 20:50:23 +01:00
  • b24a8465da Don't require depthClamp Billy Laws 2022-10-23 20:49:35 +01:00
  • 9055c98e09 Only enable debug/verbose logs in (rel)debug builds Billy Laws 2022-10-22 14:58:27 +01:00
  • 0ebdbcf0ff Don't lock stateMutex when updating buffer cycle Billy Laws 2022-10-22 14:55:01 +01:00
  • dd360b8f75 Pass correct wait semaphore array size to queue submit Billy Laws 2022-10-22 14:53:25 +01:00
  • c78a4b9699 Fixup buffer recreation to avoid deadlock when waiting on srcs Billy Laws 2022-10-22 14:53:03 +01:00
  • d236bfe454 Enable depthClamp VK device feature Billy Laws 2022-10-22 14:52:27 +01:00
  • 95d849e1f6 Check FenceCycle signalled flag immediately before waiting Billy Laws 2022-10-22 13:25:51 +01:00
  • 1a23b929a7 Avoid chaining cycles in buffer recreation Billy Laws 2022-10-22 13:24:16 +01:00
  • a15db9cb06 Update hades submodule Billy Laws 2022-10-21 23:06:13 +01:00
  • cfc55e60b0 Add robin map submodule Billy Laws 2022-10-21 22:48:02 +01:00
  • 6c0f084aae Introduce hack to ignore frequently read-back textures Billy Laws 2022-10-21 21:53:26 +01:00
  • e45e7546c8 Redesign buffer megabuffering Billy Laws 2022-10-21 22:10:09 +01:00
  • 7ea9aa52f5 Speed up reported guest GPU time Billy Laws 2022-10-21 22:08:38 +01:00
  • 31c2fb7d7a Fixup IDirectory read Billy Laws 2022-10-21 22:07:31 +01:00
  • 7491178a9e Pass base array layer to texture views Billy Laws 2022-10-21 22:07:00 +01:00
  • ff57d2fbbf Enforce stronger format and weaker dimension texture compat checks Billy Laws 2022-10-21 22:03:13 +01:00
  • 14af383238 Only allow submitting swapchainImageCount images for host present at a time Billy Laws 2022-10-21 21:58:52 +01:00
  • 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