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

Update D3D replay codegen for arrays of COM pointers #1798

Open
wants to merge 1 commit into
base: dev
Choose a base branch
from

Conversation

dgraves
Copy link
Contributor

@dgraves dgraves commented Oct 8, 2024

Add COM pointer array support to the replay consumer code generator:

  • Handle output arrays of COM pointers, adding them to the object table.
  • Support variable length arrays of output COM pointers.

For the generated replay override code, the SetConsumerData call was also moved behind the same IsNull conditional check performed for SetHandleLength, because the consumer data won't be set when there are no handles to associate it with. This was primarily done for the array of COM objects case, to skip initialization of a vector of objects, but also applies to the single COM object case.

IDXGIDevice::CreateSurface is currently the only function that outputs an array of COM pointers, but this change was pulled from the D3D11 branch where there are multiple D3D11 cases

@ci-tester-lunarg
Copy link

CI gfxreconstruct build queued with queue ID 274267.

@ci-tester-lunarg
Copy link

CI gfxreconstruct build # 4990 running.

@ci-tester-lunarg
Copy link

CI gfxreconstruct build # 4990 passed.

@bradgrantham-lunarg bradgrantham-lunarg added P2 A high-priority code maintenance issue or a functional problem that is recoverable or not a crash. replay Issue with replay (capture was successful) d3d12 Issue with D3D 12 support d3d11 labels Oct 10, 2024
Add support for arrays of COM pointers to the replay consumer code
generator:
- Handle output arrays of COM pointers, adding them to the object table.
- Support variable length arrays of output COM pointers.
@ci-tester-lunarg
Copy link

CI gfxreconstruct build queued with queue ID 292207.

@ci-tester-lunarg
Copy link

CI gfxreconstruct build # 5255 running.

@ci-tester-lunarg
Copy link

CI gfxreconstruct build # 5255 passed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
d3d11 d3d12 Issue with D3D 12 support P2 A high-priority code maintenance issue or a functional problem that is recoverable or not a crash. replay Issue with replay (capture was successful)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants