Skip to content

Filter reported device extensions to those supported by codegen - #185

Merged
jmacnak merged 1 commit into
google:mainfrom
jmacnak:filter
Sep 16, 2026
Merged

jmacnak merged 1 commit into
google:mainfrom
jmacnak:filter

Conversation

@jmacnak

@jmacnak jmacnak commented Sep 15, 2026

Copy link
Copy Markdown
Member

With Cuttlefish moving its host tooling to an installed host package being built from github and not from the Android build, it is now possible for the guest gfxstream build from Android to be newer than the gfxstream host build. With this, Gfxstream needs to start worrying about forwards/backward compatability.

b/561597187 is the first case where the guest thinks it can send VK_EXT_border_color_swizzle structs (e.g.
VkPhysicalDeviceBorderColorSwizzleFeaturesEXT) but then the host gives up when it encounters a struct it does not recognize.

Gfxstream should only report extensions that are intersection of guest support and host support.

Bug: b/561597187

@jmacnak
jmacnak requested a review from kocdemir September 15, 2026 01:26
@jmacnak
jmacnak enabled auto-merge September 15, 2026 02:44
With Cuttlefish moving its host tooling to an installed host
package being built from github and not from the Android build,
it is now possible for the guest gfxstream build from Android to
be newer than the gfxstream host build. With this, Gfxstream needs
to start worrying about forwards/backward compatability.

b/561597187 is the first case where the guest thinks it can send
VK_EXT_border_color_swizzle structs (e.g.
VkPhysicalDeviceBorderColorSwizzleFeaturesEXT) but then the host
gives up when it encounters a struct it does not recognize.

Gfxstream should only report extensions that are intersection of
guest support and host support.

Bug: b/561597187
Test: launch Cuttlefish with a hack to disable the
      VK_EXT_border_color_swizzle extension on the host and
      validate that the guest does not report it even though
      guest codegen could support it
Change-Id: If4268ca1c282dcfbd92c7d5969cd45f199235e86
@kocdemir

Copy link
Copy Markdown
Collaborator

CL is ok as it may improve the situation, but as discussed offline, this won't be enough to filter the structures as the apps don't need to check extension support and the core structures are generally not tied to any extension support. We should probably consider reverting this after a more comprehensive solution is implemented for forward compatibility.

@jmacnak
jmacnak disabled auto-merge September 16, 2026 15:52
@jmacnak
jmacnak added this pull request to the merge queue Sep 16, 2026
@jmacnak

jmacnak commented Sep 16, 2026

Copy link
Copy Markdown
Member Author

CL is ok as it may improve the situation, but as discussed offline, this won't be enough to filter the structures as the apps don't need to check extension support and the core structures are generally not tied to any extension support. We should probably consider reverting this after a more comprehensive solution is implemented for forward compatibility.

Ack'ing. b/562037606.

Merged via the queue into google:main with commit 9b4d624 Sep 16, 2026
19 checks 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.

2 participants