mesa/.gitlab-ci
Gert Wollny c9d99b7eec virgl: Fix texture transfers by using a staging resource
This commit fixes the following flaws in the implementation:

* when a resource was re-allocated, the guest side storage
  was also allocated
* when a source needs a readback before being written to, then
  the call would go through vws->transfer_get, thereby bypassing the
  staging resource, and this would fail on the host, because no
  the allocated IOV was too small (just one byte)
* if the texture write would need neither flush nor readback, the
  old code path would be used expecting that guest side backing stogage
  for the texture.

v2: - actually do a readback to the stageing resource when it is required
    - fix typo (Lepton)

v3: Don't use stageing transfers if the host can't read back the data
    by rendering to an FBO or calling getTexImage, because in this case
    we rely on the IOV to hold the date.

v4: Also don't use staging transfers if the format is no readback
    format. Otherwise we have to deal with the resolve blit, and
    this is currently not working correctly.

v5: add a new flag that indicates whether non-renderable textures can
    be read back (either via glGetTexImage or GBM)

v6: Restrict the use of staging texture transfers to textures that can
    be read back, and on GLES also if the they are bound to scanout and
    the host uses minigbm to allocate such textures.
    For that replace the flag indicating the capability to read back
    non-renderable textures with a cap that indicates whether scanout
    textures can be read back.

v7: update virglrenderer version in the CI

v8: update use of stageing (Chia-I)

v9: remove superflous check and assignment (Chia-I)

v10: disable stageing textures for arrays with stencil format. This is a
     workaround for failures of the CI.

Fixes: cdc480585c
    virgl/drm: New optimization for uploading textures

Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14495>
2022-03-08 23:39:27 +01:00
..
bare-metal ci/freedreno: Try to detect a wedged MMU that's happened recently. 2022-02-10 01:13:31 +00:00
common amd, ci: Drop log level in SPIRV -> NIR code generator. 2022-03-01 13:04:14 +00:00
container virgl: Fix texture transfers by using a staging resource 2022-03-08 23:39:27 +01:00
fossils gitlab-ci: attach the Fossilize log file as artifact on failure 2020-06-26 06:45:23 +00:00
lava ci: Allow disabling the whole of the Collabora farm 2022-02-24 07:33:45 +01:00
meson classic/i965: Remove driver 2021-12-03 23:53:06 +00:00
piglit ci: Ensure Mesa Shader Cache resides on tmpfs 2022-02-17 06:32:30 +00:00
tests ci: Add unit tests for lava_job_submitter 2022-02-16 23:32:39 +00:00
valve ci, valve: Add support scripts for the Valve bare-metal farm. 2022-03-01 13:04:14 +00:00
vkd3d-proton ci: build the hang-detection tool into x86_test-vk 2021-06-02 16:30:57 +00:00
windows ci/windows: Use 2 container stages 2022-01-21 22:38:16 +00:00
all-skips.txt ci: move windowoverlap exclusion to all-skips 2021-11-29 18:08:49 -05:00
cross-xfail-ppc64el ci: update xfails for ppc64le and s390x 2021-03-23 14:01:49 +00:00
cross-xfail-s390x llvmpipe: Use lp_build_round_arch on IBM Z (s390x) 2021-11-23 17:49:02 +00:00
crosvm-init.sh virgl/ci: Setup virtio-vsock based IPC 2022-02-17 06:32:30 +00:00
crosvm-runner.sh ci: Improve interrupt signal handling in crosvm-runner.sh 2022-03-08 12:52:54 +02:00
deqp-runner.sh ci: Ensure Mesa Shader Cache resides on tmpfs 2022-02-17 06:32:30 +00:00
docs docs: Move the current CI .rst doc to docs/ci/ and link to it from .gitlab-ci. 2020-07-08 20:13:11 +00:00
download-git-cache.sh ci: specify MinIO's host URL in a global variable 2020-12-22 18:31:01 +00:00
fossilize-runner.sh gitlab-ci: attach the Fossilize log file as artifact on failure 2020-06-26 06:45:23 +00:00
fossils.yml gitlab-ci: add parallel-rdp fossils 2020-06-25 08:03:09 +02:00
gtest-runner.sh ci: Enable testing radeonsi's libva using libva-util unit tests. 2021-10-28 23:17:19 +00:00
image-tags.yml ci: skqp: Add Vulkan support for a630_skqp job 2022-02-25 05:50:06 +00:00
prepare-artifacts.sh ci, valve: Add support scripts for the Valve bare-metal farm. 2022-03-01 13:04:14 +00:00
report-flakes.py ci: Add known-flake handling for the IRC flake reports 2021-06-01 20:31:00 +00:00
run-shader-db.sh ci: remove nouveau from shader-db runs 2021-02-06 23:04:35 +00:00
skqp-runner.sh ci: skqp: Add Vulkan support for a630_skqp job 2022-02-25 05:50:06 +00:00
test-source-dep.yml ci: Allow disabling the whole of the Collabora farm 2022-02-24 07:33:45 +01:00
x86_64-w64-mingw32 gitlab-ci: Add a pkg-config for mingw 2019-10-16 23:26:09 +00:00