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

various cffdump improvements for multi-draw indirect #21

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

cwabbott0
Copy link
Collaborator

The current approach of marking up CP_DRAW_INDIRECT_MULTI isn't going to work with the indirect count variants. The addvariants magic lets us make the opcode a variant we can match on, with no cffdump-specific code. While here, I also added some things that should make it easier to create less verbose packet definitions, that I'll take advantage of in the Mesa MR.

Add the ability to tell rnndec to add a variant when parsing a bitfield
with enum type. This will be useful for "opcode" type fields that change
the meaning of the rest of the packet, particularly
CP_DRAW_INDIRECT_MULTI.
This should let us significantly clean up adreno_pm4.xml.
It shouldn't be necessary to have _HI and _LO fields just for cffdump.
@cwabbott0 cwabbott0 requested a review from robclark July 21, 2020 10:15
@robclark
Copy link
Member

Looks nice.. although I suppose it depends on parsing the packet in-order, which won't (currently) be the case for the lua scripting API. Possibly if we are not using the "dynamic variant" feature with any packet that any of the lua scripts look at, it is ok for the short term.

It is making me think that I should setup some sort of CI for cffdump/etc. Not sure how different github CI is from gitlab, maybe this is a good excuse to move this tree to gitlab.

@cwabbott0
Copy link
Collaborator Author

Looks nice.. although I suppose it depends on parsing the packet in-order, which won't (currently) be the case for the lua scripting API. Possibly if we are not using the "dynamic variant" feature with any packet that any of the lua scripts look at, it is ok for the short term.

Well, I'm not sure how the lua scripting stuff works, but you kind of have to read the packet in-order in order to decode it properly... so you'll have to make sure that happens anyway if you want to try to parse CP_DRAW_INDIRECT_MULTI with lua.

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