Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor workload tracking and message generation #72

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

bengaineyarm
Copy link

This reworks some of the state tracking, decoupling it from the timeline-layer specific data serialization.

This shouldn't change the serialized JSON data, but it is preparation work for moving to protobufs.

}


void WorkloadMetadataEmitterVisitor::emitMetadata(Device & layerDevice, uint32_t pid, uint32_t major, uint32_t minor, uint32_t patch, std::string name)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just "device" rather than "layerDevice" given the next two functions just use "device"? Or use "layerDevice" there?

@@ -122,17 +85,84 @@ class LCSWorkload
*/
uint64_t tagID;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Style everywhere else is members declared after methods.


private:
/**
* @brief The application debug label.
*
* The label is stored in a shared point to avoid copying the actual string when it is shared between subcommandbuffers
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

typo point -> pointer

…amic dispatch.

Switch to a variant based instruction, rather than using dynamic dispatch + enum as this is more type safe.

Remove the duplicated  object in command_buffer.
No need to carry around the extra state uncessarily.

This also makes clear from the type, rather than from the magic
tagID value that the renderpass is a continuation. This makes
refactoring to separate out the the workload as a data object
from operations on that data safer since they will not
need to propogate this magic knowledge forward.
…kloadMetadataEmitterVisitor.

This centralizes the construction of metadata payloads into one place,
decoupling the metadata format from the layer driver handler functions.
This is now moved into the centralized serializer for the layer driver in workload_metadata_builder and fully decouples
the state tracker from the timeline layer's data serialization
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