Commit Graph

195289 Commits

Author SHA1 Message Date
Yahan Zhou
f6f7a5bfcc [Vulkan Snapshot] Add dependency graphics pipeline -> render pass
Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
2024-09-19 20:06:04 +00:00
Gurchetan Singh
6253c5b631 gfxstream: moar relicense
Moar relicense.

Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
2024-09-19 20:06:04 +00:00
Serdar Kocdemir
a3c74c5a07 Add VK_EXT_external_memory_metal definitions
Partial update to vulkan headers and auto generated code to
include the new extension. It will be used to fix issues on
external memory implementation with MoltenVK later on.
References:
Khronos MR 6800
MoltenVK PR 2314

Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
2024-09-19 20:06:04 +00:00
Gurchetan Singh
94f641d120 gfxstream: simplify codegen
This simplifies the amount of code imported from Vulkan
docs.  It vendors the code to just a subset needed by
the cerealgenerator.  The files that are kept are:

    - generator.py
    - cgenerator.py
    - reg.py
    - genvk.py

Since these files originate with Khronos, they are
Apache licensed.

Long-term, there are various ideas on how to proceed
with codegen.  Probably the above files can be nuked
in the event some of those ideas come to pass.

Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
2024-09-19 20:06:04 +00:00
Gurchetan Singh
13c4d98bc6 gfxstream: re-license cereal
While cereal implements an API provided by Khronos Apache 2.0
files, the files were started in AOSP, and can be relicensed to
MIT.

Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
2024-09-19 20:06:04 +00:00
Gurchetan Singh
b834e151d4 gfxstream: re-license files
Re-license files to MIT, by popular demand.  These files are have
an origin in AOSP.

Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
2024-09-19 20:06:04 +00:00
Gurchetan Singh
c95f4dcc93 gfxstream: build time guest autogeneration
By popular demand:

https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246#note_2565866

Only Soong/meson builds supported at the moment.  Bazel
or BUILD.gn can be added later.

This reduces the size of checked-in code by ~94 kLOC.

Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
2024-09-19 20:06:03 +00:00
Gurchetan Singh
56ef52e1b0 gfxstream: delete unneccessary code
genvk.py itself includes different types of generators:
spirvgenerator.py, rubygenerator.py, etc.  cerealgenerator.py
is an additional one.  A strategy to pare down the size of
the code would be modify genvk.py to remove unneeded generators,
and just import the cerealgenerator: i.e, importing the subset
of scripts useful to gfxstream.

The removes the notion of upstreaming to vulkan-docs, but does
imply more dedicated codegen strategy long-term.  

About 300kLoC can be removed, since previously we just a blanket
copy.

Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
2024-09-19 20:06:03 +00:00
Gurchetan Singh
ae2b79462c gfxstream: codegen: don't require clang-format
When auto-generating at build time, this causes
problems for AOSP:

https://android.googlesource.com/platform/build/+/main/Changes.md#PATH_Tools

Don't require via environment variable.

Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
2024-09-19 20:06:03 +00:00
Gurchetan Singh
58269cf5c5 gfxstream: move include outside of ANDROID
Works a little better with the guest Linux build..

Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
2024-09-19 20:06:03 +00:00
Gurchetan Singh
eed366716e gfxstream: don't assert without host
When invoking the build in the guest, we don't need
to define this.

Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
2024-09-19 20:06:03 +00:00
Yahan Zhou
64f67d379b Revert "Signal the fence after color buffer copying"
This reverts commit dd5c7b6aeb41270f0b457c18a2a31cf136562bf0.

Reason for revert: b/366153044

Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
2024-09-19 20:06:03 +00:00
Yahan Zhou
685432e7ab Signal the fence after color buffer copying
We move the fence signaling to after color buffer copying. This is done
by reusing the existing CPU CV object and wait on it before triggering
the GPU vkWaitForFences.

Also rewrite fenceInfo.status with std::future to simplify the code.

Design: go/emu-async-cb-copy
Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
2024-09-19 20:06:03 +00:00
Jason Macnak
ea2035e898 Add perfetto tracing to host renderer
... to aid debugging.

Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
2024-09-19 20:06:03 +00:00
Gurchetan Singh
8e02355e55 gfxstream: guest: Gralloc --> GfxStreamGralloc
By popular demand..

Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
2024-09-19 20:06:03 +00:00
Jason Macnak
7fb31361f4 Handle external fences in vkGetFenceStatus()
The vkGetFenceStatus() call can not be sent to the host for fences
that have imported an external payload (sync fd) because the sync
fd does not exist on the host. A fence used as part of a swapchain
present may be created in the unsignaled state. Then, during
vkQueuePresentKHR() on Android, vkQueueSignalReleaseImage() is used
to import a sync fd payload into the present fence. Prior to this
change, if the user (ANGLE) does vkGetFenceStatus() on this fence,
it would never appear as signaled because the sync fd fence is not
actuallly connected to the fence on the host and the host would just
always return the VK_NOT_READY from the fence's initial unsignaled
state.

This change also updates VkFence_Info to use a std::optional<int>
to make it possible to distinguish if a fence has an imported
already-signaled payload vs not having an imported payload.

Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
2024-09-19 20:06:03 +00:00
Gurchetan Singh
c89ad0968c gfxstream: move goldfish sync
Goldfish sync needs to be a directory, which is
easily acccesible by the Vulkan and EGL code.

Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
2024-09-19 20:06:03 +00:00
Gurchetan Singh
7508257d72 gfxstream: guest: nuke android_compat directory
With the requirement for the Android compatibility
layer lifted, we can nuke many things in "fuchsia"
directory (which was also used for guest Linux builds).

Things that might be useful later are kept, but should
probably be ported to Mesa's util layer.

Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
2024-09-19 20:06:03 +00:00
Gurchetan Singh
876202f90c gfxstream: guest: vulkan: don't assume Android
Multi-platform support (Linux, Fuchsia) for gfxstream-vk
has been built by providing a compatibility layer
with Android stubs.

We should get away from this model and isolate platform
specific dependencies to their own files.

With the mesa-ification, a lot of this has been done,
but a few Androidisms remain.  Remove them and don't
assume Android.

Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
2024-09-19 20:06:03 +00:00
Gurchetan Singh
b074bd7d4a gfxstream: guest: vulkan: use hardware/google/aemu
Removes use of android-emu/aemu/base from
libgfxsteam_vulkan.so.  Also removes duplicated code
entries that are known to VK-specific.  More code
can likely be deleted than currently is.

Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
2024-09-19 20:06:03 +00:00
Gurchetan Singh
16dcb6dd2a gfxstream: guest: remove unneeded dependencies in meson build
In the Fuchsia and meson builds, we can remove
dependencies on RenderControl and just replace
it with a stub.  That's because only Goldfish
needs RenderControl's "process pipe" logic to
initialize the VkDecoders.

The Fuchsia build may be migrated to Bazel over
GN, so that's why it's left unmodified.

Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
2024-09-19 20:06:03 +00:00
Gurchetan Singh
6f33f5c626 gfxstream: guest: remove unnecessary includes in VkEncoder
We probably want to recreate encoder logging, but
just delete it for now.

Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
2024-09-19 20:06:03 +00:00
Gurchetan Singh
6f0fff4634 gfxstream: guest: fully mesa-ify vulkan_enc
ALOGE(..) to mesa_loge(..), again

Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
2024-09-19 20:06:03 +00:00
Gurchetan Singh
18b6c72cb0 gfxstream: guest: introduce QemuPipeStream stub
For non-Android builds, this stub can be used for
the QemuPipeStream.

Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
2024-09-19 20:06:03 +00:00
Gurchetan Singh
31ceda8bdc gfxstream: guest: vulkan: use connection manager
This adds the GfxStreamVulkanConnection, and makes
libgfxstream_vulkan.so use it.  All dependencies
to HostConnection are removed.

For Android builds, dependencies to renderControl
and libOpenGlCodecCommon remain.  In the future,
these will be isolated to Goldfish-based system
images.

Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
2024-09-19 20:06:03 +00:00
Gurchetan Singh
de7095ba5b gfxstream: guest: introduce GfxStreamConnectionManager
The HostConnection class pulls in:

  - GLES_v1 encoder
  - GLES_v2 encoder
  - renderControl encoder
  - vulkan encoder

Since HostConnection is required to talk the host, that
means the libgfxstream_vulkan.so has a GLES dependency.

This is unnecessary.  Ideally, libgfxstream_vulkan.so
only needs the Vulkan encoder dependency, and that is
the case for virtgpu.

For Goldfish, since it uses the "process pipe"
initialization logic is used, for Android builds
a renderControl encoder dependency is still required.

To increase the separation of these encoders, this
change adds a GfxStreamConnectionManager class.  It
has no explicit dependency on any API encoder, but
can store thread-local instances of them.

The HostConnection class may be implemented in terms
of the GfxStreamConnectionManager API.  For now, the
plan is just to convert libgfxstream_vulkan to use
the ConnectionManager.

Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
2024-09-19 20:06:03 +00:00
Gurchetan Singh
e7116abf90 gfxstream: guest: don't rely on HostConnection for platform helpers
For gfxstream-vk, these can go into the giant ResourceTracker
singleton, rather than the thread-local host connections.

Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
2024-09-19 20:06:03 +00:00
Gurchetan Singh
0f29e172fd gfxstream: delete duplicate virtgpu_drm.h
We have three versions of virtgpu_drm.h

In reality, we only need one. Update the version
in guest/mesa and use that.

clang-format went a little crazy here..

Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
2024-09-19 20:06:03 +00:00
Gurchetan Singh
105923cd63 gfxstream: mesa-ify libgfxstream_android
ALOGE --> mesa_loge(..) essentially

Also, nuke the unused stubs.

Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
2024-09-19 20:06:03 +00:00
Gurchetan Singh
fcf73c0ed4 gfxstream: GrallocMinigbm uses platform_virtgpu
This removes the open-coding of virtgpu_drm access
and uses the platform_virtgpu layer.

Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
2024-09-19 20:06:03 +00:00
Gurchetan Singh
688f305cea gfxstream: guest: remove renderControl dependency from Gralloc
Easy to avoid this dependency, just by special-casing
createColorBuffer

Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
2024-09-19 20:06:03 +00:00
Gurchetan Singh
2d967209ad gfxstream: guest: introduce Gralloc::getGrallocType()
This API tells the user whether the chosen
implementation is goldfish gralloc, cros_gralloc
(minigbm), or emulated gralloc.

Use with caution.

Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
2024-09-19 20:06:03 +00:00
Gurchetan Singh
999a9a3fb9 gfxstream: guest: fix timeout issues
This logic sequentially waits for each sync file
descriptor, followed by a vkWaitForFences, but keeps
track of total aggregate time spent inside the
function.

Previously, external fences were waited on for 3000ms
somewhat arbitrarily, while the timeout was respected
for non external fences.  Also multiple threads were
used, which is a more complex way.

One can also use sync_accumulate(..) for the external
fences, but that isn't done since an equivalent does
not yet exist for the Kumquat layer.  Proper solution
would be the new virtio-gpu fence passing protocol.

Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
2024-09-19 20:06:03 +00:00
Gurchetan Singh
26338a08ce Reapply "gfxstream: nuke mWorkPool"
Same as before.  Next commit has the fix for the accurate
timeout issue..

Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
2024-09-19 20:06:03 +00:00
Jason Macnak
7d92573ae6 Revert "gfxstream: nuke mWorkPool"
This reverts commit 40ffef41fb01bf01ed14c4ce20e89fb941c02e40.

Reason for revert: vkWaitForFences() no longer respects the timeout on externally backed sync fds

Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
2024-09-19 20:06:03 +00:00
Gurchetan Singh
a73d1b2b01 gfxstream: add processPipeInit and connect to IOStream
This adds processPipeInit() and connect() functions
to the IOStream base class.  This will allow for better
abstraction of the pipe streams.

Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
2024-09-19 20:06:03 +00:00
Gurchetan Singh
b1882801b6 gfxstream: guest: remove dependency on EmulatorFeatureInfo
Missed a spot ..

Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
2024-09-19 20:06:03 +00:00
Gurchetan Singh
eb9a17c7fe gfxstream: move EmulatorFeatureInfo and ExtendedRenderControl
renderControl_enc directory is a better place to put it.

Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
2024-09-19 20:06:03 +00:00
Gurchetan Singh
7bbf629782 gfxstream: sync command buffer api with Mesa upstream
Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
2024-09-19 20:06:03 +00:00
Gurchetan Singh
2c5309bc6c gfxstream: guest: simplify Vulkan sequence number logic
EGL/GLES/RenderControl doesn't really use it.  It allows
VK to drop one more libOpenGlSystemCommon dependency,
and using global data rather than malloc'ed data is a bit
simpler.

Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
2024-09-19 20:06:03 +00:00
Gurchetan Singh
5f5bfcd466 gfxstream: guest: remove EmulatorFeatureInfo dependency in libgfxstream_vulkan.so
EmulatorFeatureInfo likes to bundle all the features
into one giant struct.  Newer variants like virtio-gpu
tend to separate feature versioning into separate
capabilites.

This provides a compat layer for the older style,
as we move towards the newer style of versioning.

Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
2024-09-19 20:06:03 +00:00
Gurchetan Singh
0d66bf3c83 gfxstream: guest: add virtgpu suffix
"libplatform" is too vague.

find ./ -type f -exec sed -i -e 's/lib_platform/libplatform_virtgpu/g' {} \
find ./ -type f -exec sed -i -e 's/inc_platform/inc_platform_virtgpu/g' {} \

essentially.

Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
2024-09-19 20:06:03 +00:00
Gurchetan Singh
409a40e099 gfxstream: guest: mesa-ify libplatform_virtgpu
find ./ -type f -exec sed -i -e 's/ALOGE/mesa_loge/g' {} \;
find ./ -type f -exec sed -i -e 's/ALOGV/mesa_logi/g' {} \;

essentially

Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
2024-09-19 20:06:03 +00:00
Gurchetan Singh
38837335b5 gfxstream: guest: mesa-ify GoldfishAddressSpace
Mesa-ify Goldfish address space.

Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
2024-09-19 20:06:03 +00:00
Gurchetan Singh
b59b473422 gfxstream: guest: nuke goldfish_address_space_android.impl
CPP files are more standard than IMPL files.

Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
2024-09-19 20:06:03 +00:00
Gurchetan Singh
10fd9b1a97 gfxstream: guest: nuke unnecessary Android properties
__linux__ is also defined by Android's toolchain, so
these properties have been dead code for a while.

Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
2024-09-19 20:06:03 +00:00
Gurchetan Singh
6a5df83f02 gfxstream: guest: nuke Fuchsia Goldfish Address Space
The plan for Fuchsia emulators is Lavapipe and
virtio-gpu/gfxstream for acceleration.  Currently,
Fuchsia guest side is frozen in place for Goldfish,
so this has no effect.

This in contrast to Android, where Goldfish Address
Space is still projected to be used for another year.

Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
2024-09-19 20:06:03 +00:00
Gurchetan Singh
34b639623d gfxstream: guest: nuke vk_enum_string_helper.h
Not available via Mesa's VK headers and not needed
either.

Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
2024-09-19 20:06:03 +00:00
Gurchetan Singh
a331a51b57 gfxstream: nuke mWorkPool
Added via:

https://android-review.git.corp.google.com/q/topic:%22vulkan-android-external-fence-sync-fd%22

Ideally, we'd avoided complex thread pools in a VK driver.
Plus, virtio-gpu needs synchronization changes anyways.

      - dEQP-VK.api.external.semaphore.sync_fd*

Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
2024-09-19 20:06:03 +00:00
Gurchetan Singh
4f76c3a0cb gfxstream: nuke AlignedBuf.h
Nuke it.

Reviewed-by: Aaron Ruby <aruby@blackberry.com>
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Adam Jackson <ajax@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27246>
2024-09-19 20:06:03 +00:00