Skip to content

Fix Vulkan WSI instance extensions #2213

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

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

Conversation

marius-pelegrin-arm
Copy link
Contributor

This commit fixes 3 bugs:

  • VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME missing in kSurfaceExtensions
  • cli_wsi_extension_ not being set (nor possible to set) when replaying on Android
  • If offscreen content is captured and replayed specifying a WSI, it was possible to end up with instance extensions containing a surface extension but no VK_KHR_surface

This commit fixes 3 bugs:
- `VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME` missing in `kSurfaceExtensions`
- `cli_wsi_extension_` not being set (nor possible to set) when replaying
on Android
- If offscreen content is captured and replayed specifying a WSI, it was
possible to end up with instance extensions containing a surface extension
but no `VK_KHR_surface`

Change-Id: I51d89bd639b6f7bc32f045c872d697c0dec1a54c
@ci-tester-lunarg
Copy link
Collaborator

CI gfxreconstruct build queued with queue ID 447478.

@ci-tester-lunarg
Copy link
Collaborator

CI gfxreconstruct build # 6892 running.

@ci-tester-lunarg
Copy link
Collaborator

CI gfxreconstruct build # 6892 passed.

Application(const std::string& name,
decode::FileProcessor* file_processor,
const std::string& cli_wsi_extension,
void* platform_specific_wsi_data);
Copy link
Contributor

Choose a reason for hiding this comment

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

you could just initialize this here to = nullptr and remove the changes to application.cpp line 61, and the last bit of desktop_main.cpp line 156.

@bradgrantham-lunarg
Copy link
Contributor

What problem does this PR solve? That is to say, what is the symptom that this fixes? Thanks!

@marius-pelegrin-arm
Copy link
Contributor Author

@bradgrantham-lunarg Typically, capture an application that renders to a headless surface and try to replay it on Android. The first bug will cause VK_EXT_headless_surface to not be removed from the queried extensions and the second one will cause VK_KHR_android_surface to not be added, even if you tried to specify --wsi. The replayer will crash at instance creation.

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.

4 participants