Commit Graph

  • a197dd2b28 Allow for creating signalled fence cycles Billy Laws 2022-09-19 14:36:44 +01:00
  • 542651232b Add a mutex to allow preventing buffer recreation Billy Laws 2022-09-19 14:36:24 +01:00
  • 379b4f163d Implement popping from CircularQueue Billy Laws 2022-09-19 13:29:05 +01:00
  • 6d9dc9c6fb Implement some more of Draw Billy Laws 2022-09-18 16:36:05 +01:00
  • 3b26f4f48a Expose way to check inter-pipeline descriptor compatibility Billy Laws 2022-09-18 16:31:25 +01:00
  • 943a38e168 Implement StateUpdater for rapid recording of VK state updates Billy Laws 2022-09-18 16:21:21 +01:00
  • 7b4da52445 Add a fast binding sync path for when only one cbuf has changed Billy Laws 2022-09-18 16:14:24 +01:00
  • 89edd9b303 Reset megabuffer binding for disabled vertex buffers Billy Laws 2022-09-18 15:33:56 +01:00
  • 6a1615a104 Expose color and depth attachments to Draw Billy Laws 2022-09-18 15:32:51 +01:00
  • aae957819e Simplify BufferView locking by requiring buffer manager be locked Billy Laws 2022-09-18 15:30:24 +01:00
  • 9449b52f36 Reduce minimum megabuffer alignment to 128 bytes Billy Laws 2022-09-18 15:28:23 +01:00
  • b3cf9c40ba Update megabuffer execution/sequence numbers after updating an allocation Billy Laws 2022-09-18 15:27:47 +01:00
  • 4b2b6fc6e9 Avoid calling SynchronizeGuest when attempting to megabuffer unless necessary Billy Laws 2022-09-18 15:26:49 +01:00
  • e5919e84a1 Pipeline state if statment cleanups Billy Laws 2022-09-17 13:16:28 +01:00
  • bf536aa168 Sync pipeline descriptors every draw Billy Laws 2022-09-17 13:15:32 +01:00
  • 9223d7f524 Fix descriptor initialisation order Billy Laws 2022-09-17 13:14:05 +01:00
  • 4652cc5a0a Avoid parsing descriptors for disabled shader stages Billy Laws 2022-09-17 13:12:28 +01:00
  • 3456fb39fa Fix pipeline to shader stage conversion when filling in shader infos Billy Laws 2022-09-17 13:10:23 +01:00
  • a9213debc7 Implement constant buffer reading Billy Laws 2022-09-17 13:10:01 +01:00
  • afcfe8a7fa Don't update scissor state >0 unless multiview is supported Billy Laws 2022-09-17 13:09:36 +01:00
  • 55d77b7eb0 Update user code for new megabuffering Billy Laws 2022-09-17 13:09:06 +01:00
  • cc776ae395 Keep track of an 'execution number' in CommandExecutor Billy Laws 2022-09-17 13:05:48 +01:00
  • 99a34df4cc Avoid trapping frequently synced buffers by using megabuffer copies Billy Laws 2022-09-17 12:53:50 +01:00
  • a24aec03a6 Rework per-view megabuffering to cache allocs in the buffer itself Billy Laws 2022-09-17 12:46:31 +01:00
  • b810470601 Invalidate HLE macro state on macro updates Billy Laws 2022-09-15 22:35:02 +01:00
  • 2360ca24da Implement constant buffer and storage buffer pipeline descriptor types Billy Laws 2022-09-15 22:32:19 +01:00
  • 25255b01c7 Keep track of more pipeline descriptor information Billy Laws 2022-09-15 22:27:35 +01:00
  • ad0275dbef Expose active pipeline for access by Maxwell3D class Billy Laws 2022-09-15 22:26:00 +01:00
  • 6e22373b59 Add array support to AllocateUntracked Billy Laws 2022-09-15 22:22:46 +01:00
  • 388cff3353 Implement simple pipeline transition cache Billy Laws 2022-09-14 23:13:00 +01:00
  • 302b2fcc3f Force flush when dirty refresh returns true Billy Laws 2022-09-14 23:12:40 +01:00
  • ec4ea5c5d7 Supply dispatcher manually for shader creation Billy Laws 2022-09-14 22:06:07 +01:00
  • 3404a3abdb Implement macro HLE for instanced draw macros Billy Laws 2022-09-14 22:01:50 +01:00
  • cf0752f937 Use NCE memory tracking for guest shaders Billy Laws 2022-09-14 21:58:05 +01:00
  • 19a75c3f65 Bind all pipeline states to main pipeline dirty state Billy Laws 2022-09-14 21:56:32 +01:00
  • a04d8fb5cf Setup minimal viewport Vulkan pipeline state Billy Laws 2022-09-14 21:55:19 +01:00
  • fe51db366b Mark all dirty resources as dirty initially Billy Laws 2022-09-14 21:54:33 +01:00
  • abfa5929f1 Treat vertex buffers with base addr 0 as disabled Billy Laws 2022-09-14 21:54:01 +01:00
  • e71ca05f19 Avoid bitfields for signed enum types in PackedPipelineState Billy Laws 2022-09-14 21:53:16 +01:00
  • 2f2b615780 Add dynamic state support to VK graphics pipeline cache Billy Laws 2022-09-14 21:50:59 +01:00
  • ad045058ee Cleanup some redundant comments and includes in pipeline state Billy Laws 2022-09-12 18:03:40 +01:00
  • 9b05c9c0c3 Introduce a pipeline manager and partial pipeline object Billy Laws 2022-09-10 21:03:01 +01:00
  • 2c1b40c9a8 Add some missed pipeline state members used by Hades Billy Laws 2022-09-10 21:00:32 +01:00
  • 0c6fa22c6b Introduce pipeline shader stage state Billy Laws 2022-09-10 20:55:55 +01:00
  • a6bb716123 Move packed pipeline state to a seperate file Billy Laws 2022-09-10 20:51:14 +01:00
  • 4dcbf5c3a0 Drop the caching aspect of shader manager entirely Billy Laws 2022-09-10 20:33:01 +01:00
  • e77e4891dc Tidy up Maxwell 3D regs a bit Billy Laws 2022-09-10 20:29:47 +01:00
  • 405d26fc22 Introduce Maxwell 3D shader state Billy Laws 2022-09-09 22:46:43 +01:00
  • 6865f0bdaf Transition color blend state to packed pipeline state Billy Laws 2022-09-06 21:14:40 +01:00
  • 7049a521d2 Use Vulkan types directly in PackedPipelineState where possible Billy Laws 2022-09-06 20:51:24 +01:00
  • effeb074b6 Move pipeline cache Key to cpp file and rename to PackedPipelineState Billy Laws 2022-09-06 20:09:23 +01:00
  • e1512c91a0 Transition depth stencil state to pipeline cache key Billy Laws 2022-09-06 20:00:37 +01:00
  • 1f844e2c18 Transition rasterization state to pipeline cache key Billy Laws 2022-09-06 19:23:13 +01:00
  • 9a6efb091c Transition tessellation state to pipeline cache key Billy Laws 2022-09-06 19:22:27 +01:00
  • ae5d419586 Transition input assembly state to pipeline cache key Billy Laws 2022-09-06 18:41:29 +01:00
  • 3f9161fb74 Transition vertex input state to pipeline cache key Billy Laws 2022-09-06 18:16:25 +01:00
  • ffe24aa075 Introduce a base pipeline cache key starting with RTs Billy Laws 2022-09-06 18:05:28 +01:00
  • 1e8f7d7fcb Implement dynamic pipeline state Billy Laws 2022-09-03 22:08:03 +01:00
  • a94040ac7d Add default cases to enum conversions where necessary Billy Laws 2022-09-03 22:02:42 +01:00
  • 6e55d4dcf4 Implement color blend pipeline state Billy Laws 2022-09-03 22:01:59 +01:00
  • cb11662ea5 Implement depth stencil pipeline state Billy Laws 2022-09-03 12:36:56 +01:00
  • 2484a2d6b5 Add A1R5G5B5Unorm and S8Uint formats Billy Laws 2022-09-02 23:10:53 +01:00
  • 690e96bce0 Implement rasterization pipeline state Billy Laws 2022-09-02 15:29:18 +01:00
  • 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
  • 4ea0b0e1e5 fssrv: IFileSystemProxy: Implement OpenReadOnlySaveDataFileSystem Morph 2022-10-30 15:56:12 -04:00
  • 25b9bb00fd service: hid: Properly clear and set npad devices Narr the Reg 2022-10-25 11:05:35 -05:00
  • cf95cfb056 service: hid: Stub SetPalmaBoostMode german77 2022-10-23 11:25:13 -05:00
  • 4da934579c service: hid: Set the correct maxEntry value and signal on acquire event handle Narr the Reg 2022-10-14 20:28:57 -05:00
  • baa6b5d5ea check if NpadId is valid when update Dima 2022-10-29 23:39:28 +03:00
  • a409f30e91 add GetAvailableLanguageCodeCount for both lists Dima 2022-10-30 18:46:21 +03:00
  • 51ce3f7c3c Stub IClient::Poll Dima 2022-10-26 12:41:52 +03:00
  • 4944f73b34
    Create FUNDING.yml Niccolò Betto 2022-10-26 23:17:38 +02:00
  • 1846f533bc Add credits PreferenceCategory Billy Laws 2022-10-25 21:38:46 +01:00
  • 267d25b5a5 Prevent a false positive SecurityException for DocumentsProvider Abandoned Cart 2022-10-20 22:14:10 -04:00
  • 1ae36cea24 Update ngword2 archive with the correct content lynxnb 2022-10-25 00:40:46 +02:00
  • 160c2f3457 Add Ko-Fi credits to settings Billy Laws 2022-10-23 21:04:10 +01:00
  • 128ea33073 Print NPDM + NACP metadata for title determination PixelyIon 2022-10-23 20:18:12 +05:30