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

Add breakpoint conditions to GE debugger #15974

Merged
merged 4 commits into from
Sep 6, 2022

Conversation

unknownbrackets
Copy link
Collaborator

@unknownbrackets unknownbrackets commented Sep 5, 2022

This doesn't have them yet for prim, texture, target, etc. type breakpoints but at least for addresses and register changes.

More conditions would be nice - for example on screen-space vertex coords for a prim, and for actions like jump/etc. (currently not possible in UI.) I also think it could be useful to have log-only cases. That said, this is a good start on better GE breakpoints.

I created a little syntax (maybe could be used to "assemble" commands too...) but it's currently esoteric. For example, you could set a breakpoint on blend mode and use the condition: (data & 0xF0) == (10 << 4) && blendfixb == 0x112233. In the future I kinda want to add fields so you could do data.dstfactor == 10 && vtype.through == 1 or similar. Note it's data because that's the incoming value (blendmode is unchanged as yet.)

It might be nice to add constants too as "symbols" but that might get even more esoteric (example: data.dstfactor == GE_DSTBLEND_FIXB or data.dstfactor == data.dstfactor.fixed or something.)

GECmdFormat captures pretty much all the bit patterns there are, but I might think about changing it based on fields. Not sure.

-[Unknown]

So far, not used, but indicates info about each GE register.
@unknownbrackets unknownbrackets added this to the v1.14.0 milestone Sep 5, 2022
@hrydgard
Copy link
Owner

hrydgard commented Sep 6, 2022

Really cool and should be useful for quite some GPU debugging scenarios. Let's get it in.

@hrydgard hrydgard merged commit ae23c3c into hrydgard:master Sep 6, 2022
@unknownbrackets unknownbrackets deleted the debugger-gecond branch September 6, 2022 21:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants