Skip to content

Emulate exportable VkDeviceMemory for QnxScreenBuffer memory with server-side allocation#110

Open
aruby-blackberry wants to merge 3 commits intogoogle:mainfrom
aruby-blackberry:qnx-screenbuffer-resources
Open

Emulate exportable VkDeviceMemory for QnxScreenBuffer memory with server-side allocation#110
aruby-blackberry wants to merge 3 commits intogoogle:mainfrom
aruby-blackberry:qnx-screenbuffer-resources

Conversation

@aruby-blackberry
Copy link
Collaborator

... + import during ColorBuffer creation.
    
  ... And add platform_helper_qnx implementation; implements some helpers
  in the gfxstream::qnx namespace, etc..
  
  This change allows QNX to defer the allocation to the gfxtream backend,
  and makes the externalMemory management more uniform across platforms,
  in terms of the way it is managed by the ColorBufferVk object lifetime.

Note: There will be a subsequent change to remove ALL "creation with handle import" code. This effectively negates the requirement for that functionality, as QNX was previously doing the the "server" (QNX Screen) side allocation in the virtio-gpu frontend, and then creating the resource by importing the external handle. However, that was just leaving the vdev to guess when to create a resource this way. This should basically all be internal details of the backend renderer. This makes the frontend implementation AND the backend implementation much easier to understand, and keeps things most similar to other platforms (even ones that are doing typical export-from-Vulkan after allocation).

@aruby-blackberry
Copy link
Collaborator Author

@jmacnak any ideas on the failing end2end test compilation (missing drm_fourcc.h dependency)?

@jmacnak
Copy link
Member

jmacnak commented Mar 17, 2026

@jmacnak any ideas on the failing end2end test compilation (missing drm_fourcc.h dependency)?

It does look like a valid finding. I do not understand why it is only triggered in this PR though since it seems to be a pre-existing issue and this PR does not touch that file... If you can, just add a "@drm//:libdrm", line to

.

@aruby-blackberry
Copy link
Collaborator Author

@jmacnak thank you1 That fixed it. Looking for reviews now 🙂

…rver-side

allocation + import during ColorBuffer creation.

... And add platform_helper_qnx implementation; implements some helpers
in the gfxstream::qnx namespace, etc..

This change allows QNX to defer the allocation to the gfxtream backend,
and makes the externalMemory management more uniform across platforms,
in terms of the way it is managed by the ColorBufferVk object lifetime.
@aruby-blackberry aruby-blackberry force-pushed the qnx-screenbuffer-resources branch from ecd8cce to 033e1f5 Compare March 18, 2026 15:34
@aruby-blackberry
Copy link
Collaborator Author

@jmacnak will this merge automatically? I don't quite know what the kokoro part of the merge checks is ...

@jmacnak
Copy link
Member

jmacnak commented Mar 18, 2026

Internal CI thingy. I think a googler has to trigger it so just spam "@jmacnak" whenever you need it.

@aruby-blackberry
Copy link
Collaborator Author

Internal CI thingy. I think a googler has to trigger it so just spam "@jmacnak" whenever you need it.

image

Is this fine?

@jmacnak
Copy link
Member

jmacnak commented Mar 18, 2026

It removes the label once it starts running. The "checks" section on this PR shows

image

with the CI still running. I belive it should automerge once it finishes.

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