AnyPS5/core/libs/prx/libSceAgcDriver/Graphics/include
Michon e9249a0a47 feat(agc): host import windows, least-recent eviction under the budget
A registered range larger than 64 MiB is imported one 64 MiB window at a
time for buffer and fill accesses instead of whole, and the live imports
stay under a budget: APS5_HOST_IMPORT_MIB, else the larger of 6 GiB and
half the physical memory, at most the largest host heap less 2 GiB
(imports and type-3 mirrors share it; #167's rule). An import past the budget
retires the least recently used imports not used in the last 256
lookups.

- An access across window edges imports the cells it touches, grown to
  the union of the range's imports it overlaps, so uses across
  neighbouring edges share one import instead of replacing each other.
- An address-based build (AcquireRegistered) imports the range whole; a
  window over its first byte does not serve it.
- Every refusal (alignment, a failed run, a held import, the budget with
  what may be evicted) is decided before anything is retired.
- An import made when a range is mapped never evicts: the map observer
  holds no GPU lock.

The window size and the budget have setters for the tests.
2026-10-14 14:51:48 +13:00
..
BdaResources.hpp style: drop the branch's code comments per CONVENTIONS.md 2026-09-29 21:25:29 +03:00
BufferPool.hpp fix(agc): reclaim idle buffers on allocation OOM 2026-10-11 15:50:46 +02:00
ColorTargetLayout.hpp feat(agc): support 64 KiB display XOR color targets 2026-10-12 22:38:59 +03:00
ColorTargetTransfer.hpp feat(agc): support tiled color target layout 2026-09-23 13:15:30 +03:00
Context.hpp fix(agc): serialize pipeline cache snapshots 2026-10-14 13:34:43 +13:00
DccMetadata.hpp fix(agc): expand comp-to-single DCC keys in a DCC decompress pass 2026-10-11 01:38:27 +02:00
DepthSurface.hpp feat(libSceAgcDriver): storage image access to depth surfaces 2026-10-13 15:00:36 +13:00
Draw.hpp perf(agc): keep the highest index of a large in-place index buffer while it is unchanged 2026-10-12 11:19:50 +13:00
GpuColorTransfer.hpp feat(agc): present 16-bit float display buffers 2026-10-11 00:38:12 +02:00
GuestBufferMemory.hpp feat(agc): host import windows, least-recent eviction under the budget 2026-10-14 14:51:48 +13:00
GuestSamplerResource.hpp fix(agc): pick float or integer sampler border colours from the paired images 2026-10-10 21:57:09 -04:00
GuestTextureResource.hpp fix(agc): decide ANISO_OVERRIDE single-level images from the T#'s own levels 2026-10-10 10:57:02 +02:00
HalfFloatScanout.hpp feat(agc): present 16-bit float display buffers 2026-10-11 00:38:12 +02:00
MultisampleTarget.hpp fix(agc): a pending CMASK clear takes precedence over a refused color fill 2026-10-13 15:48:03 +13:00
ParallelCompare.hpp perf(agc): compare large stale draw snapshots on helper threads 2026-10-10 23:55:38 +13:00
PassHazards.hpp feat(agc): render pass hazard tracker 2026-10-10 23:27:18 +13:00
Pipeline.hpp feat(agc): render layered draws into 3D color targets 2026-10-13 13:00:04 +04:00
PipelineCache.hpp fix(agc): serialize pipeline cache snapshots 2026-10-14 13:34:43 +13:00
PipelineLibrary.hpp fix(agc): retain used descriptor sets in pipeline libraries 2026-10-13 00:38:10 +04:00
PipelineSpecialization.hpp fix(shader): validate and serialize pipeline specialization constants (wip) 2026-10-08 17:28:35 +03:00
PlaceholderImages.hpp fix(agc): typed image heaps on devices without nullDescriptor 2026-10-11 10:32:49 +02:00
Recorder.hpp fix(agc): keep a host import dropped mid-hold for every batch that hold opens 2026-10-12 10:30:13 +02:00
Resources.hpp fix(agc): give pooled buffers a VkBuffer of exactly the requested size 2026-10-10 15:25:21 +01:00
Sampler.hpp feat(agc): sample non-sRGB textures through FORCE_DEGAMMA samplers as sRGB views 2026-10-12 15:11:34 +02:00
ShaderInputState.hpp Merge pull request #3738 from Mouad-Scriptz-0/feat/agc-merged-vertex-tables 2026-10-11 23:56:46 +02:00
ShaderResources.hpp Merge pull request #4694 from EagleBearerYS/fix/agc-draw-snapshot-cap-at-build 2026-10-14 14:14:16 +13:00
Shaders.hpp feat(agc): implement quad tessellation with counter-clockwise output and level clamps 2026-10-13 10:56:16 +02:00
State.hpp Merge pull request #4082 from Celegans12/feat/agc-quad-tessellation 2026-10-13 23:42:25 +13:00
Texture.hpp Merge pull request #4747 from TideOPL/perf/bc-block-copy 2026-10-14 13:32:04 +13:00
TextureCache.hpp perf(agc): keep render targets on gpu across draws 2026-09-24 21:30:00 +03:00
TextureDetiler.hpp perf(agc): move storage texels between the image and its tiled bytes in one pass 2026-10-10 23:46:06 +13:00
TextureFormat.hpp fix(agc): sample 5_6_5, 1_5_5_5 and 4_4_4_4 textures in AMD's channel order 2026-10-10 11:15:42 -04:00
TextureSwizzleEquations.hpp fix(agc): lay out 3D SW_64KB_D_X textures as thick volumes 2026-10-08 18:28:19 -04:00
TextureTiling.hpp feat(agc): thick mip tails of mipmapped 3D textures 2026-10-05 21:32:06 +13:00
UnitShadow.hpp fix(agc): retire host imports before guest unmap 2026-10-10 09:35:43 +02:00
VertexInput.hpp fix(agc): exclude skipped vertex records from target alias checks 2026-10-13 14:00:11 +05:30