Skip to content

WIP: Fence#73

Open
3Shain wants to merge 7 commits intomainfrom
refactor/fence-synchronization
Open

WIP: Fence#73
3Shain wants to merge 7 commits intomainfrom
refactor/fence-synchronization

Conversation

@3Shain
Copy link
Owner

@3Shain 3Shain commented Jun 25, 2025

(work in progress)

@K0bin
Copy link

K0bin commented Jun 25, 2025

I'm curious: what's making you go for manual tracking when you're implementing an API with automatic barriers on top of an API with automatic barriers?

@3Shain
Copy link
Owner Author

3Shain commented Jun 25, 2025

I'm curious: what's making you go for manual tracking when you're implementing an API with automatic barriers on top of an API with automatic barriers?

  1. A prerequisite for resource suballocation. Currently every buffer allocation takes a minimum of 4kB (1 page) memory, which is not ideal especially on WoW64, thus to suballocate from a large buffer is desirable. However, with automatic tracking, it can create false dependency when two encoder read from/write to non-overlapping ranges of the same buffer.
  2. make Begin/EndUAVOverlap implementation possible
  3. it's faster, so why not?

@K0bin
Copy link

K0bin commented Jun 25, 2025

The sub allocation one is definitely a good point. I always thought that the Metal 3 fence API would be too much of a mess to manage.

@3Shain 3Shain marked this pull request as ready for review July 1, 2025 10:50
@3Shain 3Shain force-pushed the refactor/fence-synchronization branch 2 times, most recently from c21758b to 22d350f Compare July 4, 2025 14:26
@3Shain 3Shain force-pushed the refactor/fence-synchronization branch from 22d350f to 56ea8bd Compare September 17, 2025 01:38
@3Shain 3Shain force-pushed the refactor/fence-synchronization branch from 56ea8bd to 6671b9b Compare December 16, 2025 03:55
@3Shain 3Shain force-pushed the refactor/fence-synchronization branch from 6671b9b to a9300cf Compare December 17, 2025 09:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants