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

Upgrade to Agility SDK 1.610.5 #1307

Closed
wants to merge 4 commits into from

Conversation

rurra-amd
Copy link
Collaborator

Problem
As cutting edge apps adopt features of newer Agility SDKs, GFXR needs to keep up in order to reliably capture/replay those apps.

Solution
Upgrade from 1.606.4 to 1.610.5

Testing
Was able to capture/replay a few apps using the upgraded SDK.

@ci-tester-lunarg
Copy link

CI gfxreconstruct build queued with queue ID 60295.

@ci-tester-lunarg
Copy link

CI gfxreconstruct build # 3375 running.

@ci-tester-lunarg
Copy link

CI gfxreconstruct build # 3375 failed.

@ci-tester-lunarg
Copy link

CI gfxreconstruct build queued with queue ID 60457.

encoder->EncodeUInt32Value(numResourceDescs);
EncodeStructArray(encoder, pResourceDescs, numResourceDescs);
encoder->EncodeUInt32Array(pNumCastableFormats, numResourceDescs);
for (UINT i = 0; i < numResourceDescs; i++)
Copy link
Contributor

Choose a reason for hiding this comment

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

I am not able to find any documentation for GetResourceAllocationInfo3 beyond the declaration in d3d12.h, but based on the arguments it looks like ppCastableFormats is an array of size numResources and each ith entry of ppCastableFormats is an array of size pNumCastableFormats[i]. Both pNumCastableFormats and ppCastableFormats are marked as optional arguments so they may be null.

This 2D array encoding appears to be a unique case for DX12. There is an existing method ParameterEncoder::EncodeArray2D that might be useful for handling the encoding of ppCastableFormats. See also ParameterEncoder::EncodeUInt32Array2D.

Also, because GetResourceAllocationInfo3 is added to blacklists.json there needs to be a custom decoder in Dx12DecoderBase and handling for it in Dx12DecoderBase::DecodeMethodCall.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Ok updated code. I added the missing decode paths and tweaked the encode. Spent a little time trying to adopt the 2D array encoders, but haven't had luck there getting past the compiler. So just encoding the enums values one by one in this case.

Copy link
Contributor

Choose a reason for hiding this comment

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

This commit shows an example of using EncodeArray2D, although I don't have a test case to verify it with.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Done - thanks for the help tightening this up

@ci-tester-lunarg
Copy link

CI gfxreconstruct build # 3378 running.

@ci-tester-lunarg
Copy link

CI gfxreconstruct build # 3378 passed.

@ci-tester-lunarg
Copy link

CI gfxreconstruct build queued with queue ID 61356.

@ci-tester-lunarg
Copy link

CI gfxreconstruct build # 3381 running.

@ci-tester-lunarg
Copy link

CI gfxreconstruct build # 3381 failed.

@ci-tester-lunarg
Copy link

CI gfxreconstruct build queued with queue ID 68797.

@ci-tester-lunarg
Copy link

CI gfxreconstruct build # 3410 running.

@ci-tester-lunarg
Copy link

CI gfxreconstruct build # 3410 failed.

@ci-tester-lunarg
Copy link

CI gfxreconstruct build queued with queue ID 69194.

@ci-tester-lunarg
Copy link

CI gfxreconstruct build # 3413 running.

@ci-tester-lunarg
Copy link

CI gfxreconstruct build # 3413 passed.

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.

3 participants