Skip to content

Sync some recent internal changes - #169

Open
jmacnak wants to merge 32 commits into
google:mainfrom
jmacnak:sync
Open

Sync some recent internal changes#169
jmacnak wants to merge 32 commits into
google:mainfrom
jmacnak:sync

Conversation

@jmacnak

@jmacnak jmacnak commented Aug 5, 2026

Copy link
Copy Markdown
Member

Mostly the changes from b/537737772 to decouple and try to fix the backref errors.

kocdemir and others added 16 commits August 5, 2026 12:13
Emulated textures will use a different format for the image
creation parameters and their device format properties needs
to be checked based on the actual format to be used.
Fixes the issues on dEQP tests with astc/etc formats

Bug: 514640182
Bug: 528235892
Test: dEQP-VK.api.*.blit_image.all_formats.color.2d.astc*
Test: dEQP-VK.api.*.blit_image.all_formats.color.2d.etc*
Test: run_deqp_runner.py on macOS
Change-Id: I1b8fea2af52426ebedcdf87e7ea5e26962014d13
Bug: 528235892
Test: U64FeatureInfoTest
Change-Id: I9a11bc711c3a059a45799ab0009711e928ac9c96
This feature will limit the heap sizes for the guest to the value
given. No limit will be applied if the value is not set, or if it's
set to zero. Note that previous default behavior with 2GB limit is
removed with this change as it can lead to some apps not work as
expected. Limits should be set from a higher level during gfxstream
initialization based on host and guest requirements.

Bug: 528235892
Test: VkGuestMemoryUtilsTest
Test: Benchmarking apps
Change-Id: I28716f3c353a72d1b2711a98c04d471598763bf9
The code now verifies that the buffer binding index obtained from a
vertex attribute pointer is within the valid range of the VAO's buffer
bindings before accessing the buffer. This prevents potential
out-of-bounds array access.

Bug: 514119804
Test: CI
Change-Id: I60292581793fbe4d4a59e143c060f4a7b8b1217f
Bug: 524740795
Test: VkFormatUtilsTest
Change-Id: I8f99cc47609406df14ee4eaa1bf768645e5b5f47
Bug: 476354031
Test: CI
Change-Id: Idd4ea3f39134fbf3823ab0c2e8738b18c621640f
Bug: 524740795
Test: tests/end2end:gfxstream_end2end_tests
Change-Id: I4a984567366185d21c4aa821e478391dabda6d98
This change implements `ExternalMemory::Mode::DmaBuf` support for Linux
and other Unix-based platforms, replacing the legacy `supportsDmaBuf`
boolean and manual addition of external memory bit flags by moving the
main handlings into the new mode.

Change also adds support check for some mandatory formats on DmaBuf
mode, to avoid dependency on a block list for the correct enablement of
the feature.

Bug: 451503041
Bug: 400999642
Test: -gpu host on radv
Change-Id: Ifb64bf6145b0b27a517a58d90a1f282d3b6c62f3
This reverts commit 0c19b8d24a5a7c24355bda612570e2718572e94f.

Reason for revert: b/539295062

Bug: 451503041
Bug: 400999642
Change-Id: I13b04cc120dad28cd7de757f5feb5db55b69d7b0
Mark static variable sEgl2Egl as [[maybe_unused]] to fix -Wunused-but-set-global warning in Android builds.

TAG=agy
CONV=b9bc84d8-2e07-4da5-85e0-cfcaabb1f25b

Bug: 540570071
Test: none
Flag: EXEMPT bugfix
Change-Id: I100646d242250b828ad1e27d68fa593aaad5505a
... and replace existing ColorBuffer with ColorBufferCoordinator
which implements ColorBuffer. This new interface does not depend
on either of the GL or VK implementations which will allow us to
decouple and remove the circular dependencies between the GL and
VK backends and the main host server.

Bug: 537737772
Test: bazel test //host/...
Low-Coverage-Reason: REFACTOR_ONLY
Change-Id: If7e42959acbeb74c8ffcaead0c3930dd8dea9640
BorrowedImage was an earlier attempt to decouple ColorBuffer from
the underlying backends. It allowed components in the GL and VK
backends to use parts of ColorBuffer without having to have full
dependencies on the other backend. However, this required lots of
copying of information and extra callbacks in order to call methods.

The new IColorBuffer interface replaces this by providing an
interface to access global info (width, height, etc) and to access
the underlying backend objects (ColorBufferGl, ColorBufferVk) without
having to have a full dependency.

Bug: b/537737772
Test: bazel test //host/...
Low-Coverage-Reason: REFACTOR_ONLY
Change-Id: I1e12791bf8f97cb419cee363c27c2a3d1cace9e4
Bug: b/537737772
Test: bazel test //host/...
Low-Coverage-Reason: REFACTOR_ONLY
Change-Id: I5d19bb6c012d5c4e7b9c1ef5281e8303671f5956
... by adding lock and unlock calls to the GlobalState interface

Bug: b/537737772
Test: bazel test //host/...
Low-Coverage-Reason: REFACTOR_ONLY
Change-Id: I26b35adc766e1f45344a0d73cc23a53d29e3fe7f
... to allow for removing the circular dependencies between
the main host server and the GL and VK backends.

Bug: b/537737772
Test: bazel test //host/...
Low-Coverage-Reason: REFACTOR_ONLY
Change-Id: I1e83a716c8e854a2ce4458586c3b09c3232c0822
... to allow for removing the circular dependencies between the
main host server and the GL and VK backends.

Bug: b/537737772
Test: bazel test //host/...
Low-Coverage-Reason: REFACTOR_ONLY
Change-Id: Ie731e9b17b0017598a005d0020ea43f7da3f165d
jmacnak added 13 commits August 5, 2026 13:10
... in order to decouple and remove the circular dependency
between the vk server and the main host server.

Bug: b/537737772
Test: bazel test //host/...
Low-Coverage-Reason: REFACTOR_ONLY
Change-Id: I5b900511a0f33bb85c87ea0628abdd5ec4794609
... to continue to decouple and break the circular dependencies
between the main host server and the gl and vk backends.

Bug: b/537737772
Test: bazel test //host/...
Low-Coverage-Reason: REFACTOR_ONLY
Change-Id: Ib167048865ce447777162acb3c0628dfa893d6a3
Bug: b/537737772
Test: bazel test //host/...
Low-Coverage-Reason: REFACTOR_ONLY
Change-Id: If7c468e2463a1e4b4167ba0edc9bc518d4830d00
Bug: b/537737772
Test: bazel test //host/...
Low-Coverage-Reason: REFACTOR_ONLY
Change-Id: Ie2670b3a0c8fc09b730b637437aae188651ffa16
... and out of FrameBuffer.

Bug: b/537737772
Test: bazel test //host/...
Low-Coverage-Reason: REFACTOR_ONLY
Change-Id: I85b99b352df082daa8a7d7728c15346bb900520e
The GL file should be a part of host/gl and the base
class should be in host/common.

Bug: b/537737772
Test: bazel build \
      --graphics_drivers=gles_angle_vulkan_swiftshader \
      --linkopt="-Wl,--warn-backrefs" \
      --linkopt="-Wl,--fatal-warnings" \
      --linkopt="-Wl,--warn-backrefs-exclude=*llvm*" \
      ...
Low-Coverage-Reason: REFACTOR_ONLY
Change-Id: Ib435963c2c5b526dee3a5bdb980440b7e90db807
... to try to minimize the usage of GlobalState.

Bug: b/537737772
Test: bazel test //host/...
Low-Coverage-Reason: REFACTOR_ONLY
Change-Id: I2ad91bfb9b5f6bb0bf77644535efa19cd33d5c7f
Bug: b/537737772
Test: bazel test //host/...
Low-Coverage-Reason: REFACTOR_ONLY
Change-Id: Ic20b3f118342b37e79f23d308466c71944e84f1e
... to help prevent in the future.

This change also fixes some existing sign errors and applies
`buildifier -r .`.

Bug: b/537737772
Test: bazel test //host/...
Low-Coverage-Reason: REFACTOR_ONLY
Change-Id: I00dfa39f1db6e53f156e435aed3ded7f0869474a
... to help clarify that the pNext chain will not be there.

Bug: b/537737772
Test: bazel test //host/...
Low-Coverage-Reason: REFACTOR_ONLY
Change-Id: I1ec55bdeac9a19065eaf6751423e03a06d599376
Bug: b/537737772
Test: bazel test //host/...
Low-Coverage-Reason: REFACTOR_ONLY
Change-Id: Id024ca1b67ea1f93f459dce5c7f6f246aef54da6
Bug: b/537737772
Test: bazel test //host/...
Low-Coverage-Reason: REFACTOR_ONLY
Change-Id: I6314cb82ec48553f507cca60df57c9c4a6ee546b
Bug: b/537737772
Test: bazel test //host/...
Low-Coverage-Reason: REFACTOR_ONLY
Change-Id: Ic9c15e2135fee89d49b983adfdf816a73de40179
@jmacnak
jmacnak force-pushed the sync branch 4 times, most recently from dc4617c to d9b85dc Compare August 5, 2026 21:06
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