Commit Graph

  • 90cd6adb91 Implement tessellation pipeline state Billy Laws 2022-09-02 13:18:24 +01:00
  • 3649d4c779 Adapt Maxwell 3D engine to new interconnect code Billy Laws 2022-09-02 12:24:58 +01:00
  • ef11900a39 Introduce reworked Maxwell 3D core interconnect Billy Laws 2022-09-02 12:21:39 +01:00
  • 37b821a4dc Introduce Maxwell 3D interconnect active state Billy Laws 2022-09-02 12:17:17 +01:00
  • 5fdda78073 Introduce Maxwell 3D interconnect pipeline state Billy Laws 2022-09-02 12:11:16 +01:00
  • 21f5611231 Rewrite constant buffer interconnect code Billy Laws 2022-09-02 12:02:25 +01:00
  • d1e7bbc1d8 Introduce common code for Maxwell 3D interconnect rewrite Billy Laws 2022-09-02 11:58:50 +01:00
  • a6c49115f9 Rewrite all Maxwell 3D registers up to clears to match Nvidia docs Billy Laws 2022-09-02 11:10:49 +01:00
  • d7eab40f1c Introduce resource based dirty tracking infrastructure Billy Laws 2022-09-01 15:57:03 +01:00
  • 8471ab754d Introduce a spin lock for resources locked at a very high frequency Billy Laws 2022-08-31 16:38:04 +01:00
  • d810619203 Drop 3D engine method calling fast path in GPFIFO Billy Laws 2022-08-31 15:20:56 +01:00
  • ded02e3eac Small engine.h fixups Billy Laws 2022-08-31 15:19:52 +01:00
  • 38ba963311 Drop usage of unique_ptr for Maxwell3D Billy Laws 2022-08-31 15:18:10 +01:00
  • 90db743c56 Source AsGpu GMMU page sizes from GMMU class Billy Laws 2022-08-31 15:14:59 +01:00
  • e72fe02c15 Add inline fast-path for Buffer::FindOrCreate() Billy Laws 2022-08-31 15:04:31 +01:00
  • 49478e178a Avoid redundantly syncing buffers before every Write in an execution Billy Laws 2022-08-31 14:55:22 +01:00
  • f7a726e452 Allow attempting to write to buffers without passing a GPU copy callback Billy Laws 2022-08-31 14:45:55 +01:00
  • 5dca5cc10e Redesign buffer view infra to remarkably reduce creation overhead Billy Laws 2022-08-31 14:15:56 +01:00
  • 09f376e500 Add const accessors to OffsetMember Billy Laws 2022-08-31 14:01:58 +01:00
  • 64a9db2e82 Introduce MergeInto helper for simplified construction of arrays of structs Billy Laws 2022-08-31 13:39:16 +01:00
  • 2c682f19a6 Add untracked linear allocator emplace/allocate functions Billy Laws 2022-08-31 13:34:13 +01:00
  • 6359852652 Introduce page size constants and replace all usages of PAGE_SIZE Billy Laws 2022-08-31 13:08:28 +01:00
  • 30ec844a1b Use GPFIFO pushbuffer contents in-place if possible Billy Laws 2022-08-31 13:00:15 +01:00
  • be825b7aad Utilise SegmentTable for rapid FlatMemoryManager lookups Billy Laws 2022-08-31 12:50:59 +01:00
  • 6ac1a066eb Stub nsd:u/nsd:a and sfdnsres services Dima 2022-10-31 18:38:46 +03:00
  • 67d19cb48b Update AndroidX / Material support libraries #1942 Abandoned Cart 2022-10-31 10:57:57 -04:00
  • f34e033e45 Add compatibility for hiding system bars < API 30 Abandoned Cart 2022-10-31 10:32:19 -04:00
  • 8b84749ca1 Update submodules #1917 Billy Laws 2022-10-30 19:33:59 +00:00
  • c0825dfe4a Impl some more texture formats Billy Laws 2022-10-30 19:33:46 +00:00
  • 512441af3c Stash new register value before executing deferred draws/updates Billy Laws 2022-10-30 16:39:19 +00:00
  • eee9bb6b4e Implement the draw(...)BeginEnd Maxwell3D draw registers Billy Laws 2022-10-30 16:38:22 +00:00
  • ff9a81ce1c Implement GPFIFO semaphore acquire operations Billy Laws 2022-10-30 16:37:37 +00:00
  • 0c0ee57fc2 Don't crash on the Grp0SetSubDevMask TertOp Billy Laws 2022-10-30 16:41:04 +00:00
  • 8183fed0cf Drop size restruction bypass for frequently synced buffers Billy Laws 2022-10-30 16:06:44 +00:00
  • 59edddf73b Introduce texture usage system to ensure RPs are split when necessary Billy Laws 2022-10-30 16:15:00 +00:00
  • 4db48ac00c Adjust texture matching hacks Billy Laws 2022-10-30 16:24:43 +00:00
  • 2c6ae90a8b Add some additional texture formats used by Vulkan games Billy Laws 2022-10-30 16:24:00 +00:00
  • 6901588072 Use shader-compiler side {S,U}Scaled format emulation Billy Laws 2022-10-30 16:23:24 +00:00
  • 2b445e9089 Fixup ReadTextureType shader compiler callback Billy Laws 2022-10-30 16:22:31 +00:00
  • f2f4090081 Add support for split mappings to I2M uploads Billy Laws 2022-10-30 16:21:13 +00:00
  • 1f355fb647 Clear images even when aspects mismatch Billy Laws 2022-10-30 16:20:31 +00:00
  • 16eaf1c693 Fixup subpass barriers and flags Billy Laws 2022-10-30 16:18:50 +00:00
  • 93e6aaf742 Drop some debug code Billy Laws 2022-10-30 16:19:32 +00:00
  • 5b4bfc29b6 GPU NEW MARGEBAC Billy Laws 2022-10-25 22:14:21 +01:00
  • 6fba236287 Ensure textures are clean before paging them out Billy Laws 2022-10-25 21:38:10 +01:00
  • cfa35363d9 Add u64 iova ctor Billy Laws 2022-10-25 21:06:38 +01:00
  • fcea8c1113 Fully fill in swizzle component mappings Billy Laws 2022-10-25 21:04:25 +01:00
  • 2edc36cf76 Add buffer manager support for accelerated copies Billy Laws 2022-10-25 21:03:29 +01:00
  • 80dda0d450 Implement accelerated uploads/copies through buffer manager Billy Laws 2022-10-25 20:57:30 +01:00
  • 4e0131f3c3 Avoid redundantly passing executor in ctors when it's already in ChannelCtx Billy Laws 2022-10-25 20:55:50 +01:00
  • 43c33ae05b Pass correct size for XFB buffers Billy Laws 2022-10-25 20:53:29 +01:00
  • c64269ad14 Fix SNorm vertex formats Billy Laws 2022-10-25 20:52:37 +01:00
  • 320cb51335 Zero-out unused XFB varyings before passing to hades Billy Laws 2022-10-25 20:52:14 +01:00
  • 3528af4eb3 Mark XFB buffers as GPU dirty Billy Laws 2022-10-25 20:51:38 +01:00
  • 984498c21d Add constant buffer GPU write pipeline barrier Billy Laws 2022-10-25 20:50:43 +01:00
  • 7d15a0f56c Be more careful about potentially-unneeded GPU->CPU syncs Billy Laws 2022-10-25 20:48:38 +01:00
  • 781b08fb4b Delete graphics_context Billy Laws 2022-10-23 20:52:46 +01:00
  • d0c53822d6 Switch to Roboto for Korean font Billy Laws 2022-10-23 20:50:23 +01:00
  • 12fb580609 Don't require depthClamp Billy Laws 2022-10-23 20:49:35 +01:00
  • 68df72483c Only enable debug/verbose logs in (rel)debug builds Billy Laws 2022-10-22 14:58:27 +01:00
  • 37a96635b6 Don't lock stateMutex when updating buffer cycle Billy Laws 2022-10-22 14:55:01 +01:00
  • f5481d4eca Pass correct wait semaphore array size to queue submit Billy Laws 2022-10-22 14:53:25 +01:00
  • acda80be60 Fixup buffer recreation to avoid deadlock when waiting on srcs Billy Laws 2022-10-22 14:53:03 +01:00
  • ded5cee550 Enable depthClamp VK device feature Billy Laws 2022-10-22 14:52:27 +01:00
  • 0ac0af38a2 Check FenceCycle signalled flag immediately before waiting Billy Laws 2022-10-22 13:25:51 +01:00
  • 2f0e51969c Avoid chaining cycles in buffer recreation Billy Laws 2022-10-22 13:24:16 +01:00
  • bbd8c4e4a3 Update hades submodule Billy Laws 2022-10-21 23:06:13 +01:00
  • 503056a023 Add robin map submodule Billy Laws 2022-10-21 22:48:02 +01:00
  • 277ca677d3 Introduce hack to ignore frequently read-back textures Billy Laws 2022-10-21 21:53:26 +01:00
  • f6acf89541 Redesign buffer megabuffering Billy Laws 2022-10-21 22:10:09 +01:00
  • 73872f1d76 Speed up reported guest GPU time Billy Laws 2022-10-21 22:08:38 +01:00
  • 49c422225e Fixup IDirectory read Billy Laws 2022-10-21 22:07:31 +01:00
  • b3496dbb52 Pass base array layer to texture views Billy Laws 2022-10-21 22:07:00 +01:00
  • 817e6358d8 Enforce stronger format and weaker dimension texture compat checks Billy Laws 2022-10-21 22:03:13 +01:00
  • b62fabe86a Only allow submitting swapchainImageCount images for host present at a time Billy Laws 2022-10-21 21:58:52 +01:00
  • 7ab21987dd Fixup A8R8G8B8 TIC format mapping Billy Laws 2022-10-21 21:57:56 +01:00
  • a4b9ef1a02 Implement depth clamp rasterisation state Billy Laws 2022-10-21 21:57:12 +01:00
  • 32bb18c16a Disable preserve buffer/texture attachment opt for now Billy Laws 2022-10-21 21:56:12 +01:00
  • 6e7fdeab94 Use shader memory mirror when reading guest shaders Billy Laws 2022-10-16 20:59:14 +01:00
  • 4948205e4d Ensure blit src/dst textures are attached as execution cycle dependencies Billy Laws 2022-10-16 20:56:06 +01:00
  • dbc598057d Support using in-app renderdoc API to capture individual executions Billy Laws 2022-10-16 20:54:43 +01:00
  • d5abd3134e Add CommandExecutor slot count setting Billy Laws 2022-10-16 20:50:06 +01:00
  • e8b5f5fe00 Use semaphores for presentation engine frame synchronisation Billy Laws 2022-10-16 20:47:17 +01:00
  • 87d12623c3 Support using Vulkan semaphores with fence cycles Billy Laws 2022-10-16 20:31:36 +01:00
  • 4d2ce418f7 Stub ldn:u service Billy Laws 2022-10-16 17:55:04 +01:00
  • a1f59b8e67 Batch contiguous GMMU ranges into one Billy Laws 2022-10-16 17:53:52 +01:00
  • f588a36739 Pass more Maxwell3D registers into interconnect Billy Laws 2022-10-09 16:47:17 +01:00
  • 49eaf50639 Setup KThread pthread handle in StartThread Billy Laws 2022-10-09 16:44:36 +01:00
  • 40283934d3 Skip checking affinity before taking load-balance WaitScheduler path Billy Laws 2022-10-09 16:43:15 +01:00
  • bd3d7f6b53 Split out guest texture layer size calcs into a seperate func Billy Laws 2022-10-09 16:42:51 +01:00
  • ec6f41de8e Fix deswizzling non-pow2 block size formats Billy Laws 2022-10-09 16:40:37 +01:00
  • 4206a9babf Use surfaceClip as a hint for the underlying rendertarget size Billy Laws 2022-10-09 16:35:35 +01:00
  • 68f918d99f Fix texture manager depth compat comparison Billy Laws 2022-10-09 16:35:13 +01:00
  • 2b6d5a65d2 Synchronize all non-matching textures back to host before recreation Billy Laws 2022-10-09 16:34:49 +01:00
  • 9d4bea335a Remove now redundant buffer/texture/megabuffer manager locks Billy Laws 2022-10-09 16:32:59 +01:00
  • 62ab374d21 Add dirty resource operator* Billy Laws 2022-10-09 14:07:56 +01:00
  • 12538fa526 Finish off transform feedback implementation Billy Laws 2022-10-09 14:07:00 +01:00
  • 922e2fcf8d Pack all draw state into a struct to avoid std::function allocations Billy Laws 2022-10-09 14:06:21 +01:00
  • 8c28633539 Only use scissor for clear rect when enabled Billy Laws 2022-10-09 14:05:25 +01:00
  • 7630e0d12e Only set line width when wideLines feature is supported Billy Laws 2022-10-09 14:03:23 +01:00