Refactor public MVKDevice content into MVKDeviceTrackingMixin functions. #2221
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a non-functional code-maintenance change.
Previously,
MVKDevice
contained a significant amount of publicly exposed internal content. This patch adds functions toMVKDeviceTrackingMixin
to better encapsulate, consolidate & streamline access to this content.MVKDeviceTrackingMixin
a friend ofMVKDevice
&MVKPhysicalDevice
.MVKDevice
content behindMVKDeviceTrackingMixin
functions.MVKDevice
content pointers fromMVKCommandEncoder
.MVKDevice
removegetPhysicalDevice()
,getPixelFormats()
&getMTLDevice()
, to focus access throughMVKDeviceTrackingMixin
.MVKDeviceTrackingMixin
to remove need to referenceMVKDevice
multiple times when marking performance values.MVKQueueSubmission
,MVKMetalCompiler
,MVKShaderLibrary
, andMVKShaderLibraryCache
fromMVKBaseDeviceObject
to make use of these changes.Note to reviewers:
MVKDeviceTrackingMixin
andMVKDevice
inMVKDevice.h
, and toMVKCommandEncoder
inMVKCommandBuffer.h
.MVKDeviceTrackingMixin
instead of reaching intoMVKDevice
.