Skip to content

Update libva to 1.20#2

Open
hmtheboy154 wants to merge 146 commits intowaydroid:lineage-18.1from
hmtheboy154:1.20
Open

Update libva to 1.20#2
hmtheboy154 wants to merge 146 commits intowaydroid:lineage-18.1from
hmtheboy154:1.20

Conversation

@hmtheboy154
Copy link
Copy Markdown
Contributor

No description provided.

XinfengZhang and others added 30 commits September 27, 2022 03:43
Signed-off-by: Carl Zhang <carl.zhang@intel.com>
The radeonsi driver can work with both radeon and amdgpu. Add the extra
combo into the mapping table.

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reuse the upstream drmGetNodeTypeFromFd(), which has been part of libdrm
version 2.4.59 (we require 2.4.60).

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
DRI3 has been a thing for 5+ years, sadly libva never learned how to
query the server for the fd.

Add basic support for that, where we fall-back to the DRM module's drm
module name to driver mappings.

v2: setup the autotools build
v3: explicitly handle all node types in va_isDRI3Connected()
v4: enhance fd ownership comment, flip node-type switch arms.
v5: drop fd ownership comment, close() as applicable
v6: null check after XGetXCBConnection()

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
We forgot to add new packages required by recently merged DRI3
support into our ci install steps. As a result we were building
w/o X11 actually. Fixing this now an re-enabling X11 backend build.

See: #635
See: ef1df02 ("x11: add basic DRI3 support")
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Signed-off-by: Dmitry Rogozhkin <dmitry.v.rogozhkin@intel.com>
libdrm dependency needs to be non-mandatory by default on Windows builds

Signed-off-by: Sil Vilerino <sivileri@microsoft.com>
Signed-off-by: Sil Vilerino <sivileri@microsoft.com>
…ommon code for windows build

Implements dl*, pthread_mutex_*, gettimeofday and strtok_r on Windows platform

Signed-off-by: Sil Vilerino <sivileri@microsoft.com>
Added Win32 Node:
    vaGetDisplayWin32 receives LUID* to specify the desired
    adapter on Win32 platforms (NULL for autoselection is allowed)

    vaPutSurface receives HWND as Windowing system construct
    Surfaces can be imported/exported using either NT handles
    or ID3D12Resource object pointers

    A default VA driver name (vaon12) will be provided for some
    scenarios like for example when no specific LUID is specified
    in vaGetDisplayWin32

    When an adapter LUID is specified in vaGetDisplayWin32,
    the VA driver name will be dynamically loaded from a registry.
    If no entry is found in the registry for the specified adapter,
    the default VA driver will be used instead.

Signed-off-by: Sil Vilerino <sivileri@microsoft.com>
…emoryType

In the VASurfaceAttribExternalBufferDescriptor docs, it states that the memory type must be referred to
to know which type is passed with this attribute or use the default if not specified.
This change checks if a memory type attibute is passed that does not match the VASurfaceAttribExternalBuffers type.
Without this change, other memory types will cause va_TraceSurfaceAttributes to access garbage memory.

Signed-off-by: Sil Vilerino <sivileri@microsoft.com>
Add support for printing VA_SURFACE_ATTRIB_MEM_TYPE_NTHANDLE and VA_SURFACE_ATTRIB_MEM_TYPE_D3D12_RESOURCE

Signed-off-by: Sil Vilerino <sivileri@microsoft.com>
Added windows.yml and EnterDevShell.ps1
for MSVC/mingw building with ninja/meson backend.

Signed-off-by: Sil Vilerino <sivileri@microsoft.com>
Signed-off-by: Sil Vilerino <sivileri@microsoft.com>
Signed-off-by: Dmitry Rogozhkin <dmitry.v.rogozhkin@intel.com>
…rdingly

Signed-off-by: Sil Vilerino <sivileri@microsoft.com>
…upport level attribute instead

Signed-off-by: Sil Vilerino <sivileri@microsoft.com>
Annotate the following functions with DLL_HIDDEN:
 - va_errorMessage
 - va_infoMessage
 - va_parseConfig
 - va_TraceEvent
 - va_TraceEventBuffers
 - va_TraceStatus

The APIs have been used solely within libva.so ever since they were
introduced. As such we can safely hide it was never used externally
and it's not part of the public API.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Currently we have a bit of duplication in the CI. Instead we can use a
simple matrix and also gain ubuntu 20.04 + clang-15 combination.

To keep things sane, we've moved the clang-15 install into a standalone
script.

v2:
 - feed the llvm version as arg, allow 14
 - call the script only as needed
 - add a "print compiler version" step

v3:
 - move install-clang.sh within .github/workflows/

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
We don't use any fancy DRI2 features - as seen we just fetch the version
and don't check it. So there's no need for the query calls.

If we're on a server which lacks the extension, the auth call will fail.

NOTE: we cannot remove the API since it's used internally by the
libva_x11 backend.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
In the early days make check used to be a thing. That has changed, ever
since the sample programs and tests were moved to a separate project.
Namely libva-utils.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
A number of Linux distributions have switched to the meson build. In
particular - Arch, Fedora, Gentoo and more are to follow in due time.

Even the libva builds that Chrome uses (aka instrumented libraries) is
using meson (on top of Ubuntu, currently aiming at switching to Focal).

Note: `meson compile` was introduced with meson 0.54, where we use 0.53
since that's available in Ubuntu 20.04. As such we fallback to calling
ninja directly

v2: group the meson/autotool sections

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
As kindly suggested by ./style_unify. With a follow-up change we'll add
a CI job, so this will be a bit more natural in the development flow.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
v2: don't install git - it's already in the container

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Use the double-quoted include and win32/ prefix for va_win32.h.
That's where the header is located after all ;-)

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
The option is deprecated with mesa 0.64 in favour of fs.copyfile()

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
The function was deprecated with meson 0.56. Use the
project_source_root() instead.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
evelikov-work and others added 30 commits June 26, 2023 15:12
Fixes: 4f5a434 ("va: add vaGetDriverNames() internal ABI")
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Before:
User environment variablerequested driver '...'

After:
User environment variable requested driver '...'

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Signed-off-by: Carl Zhang <carl.zhang@intel.com>
Signed-off-by: Carl Zhang <carl.zhang@intel.com>
Signed-off-by: Carl Zhang <carl.zhang@intel.com>
Signed-off-by: Carl Zhang <carl.zhang@intel.com>
map is a array, which could be accessed by index, even the index is out of range.
Fixes #722

Signed-off-by: Carl Zhang <carl.zhang@intel.com>
Signed-off-by: Carl Zhang <carl.zhang@intel.com>
Use VADecodeReset to indeicate media reset/engine reset have happended in the driver,
user can use vaQuerySurfaceError() to get the detail info to do some customized work.

Signed-off-by: Pengxin, Yuan <pengxin.yuan@intel.com>
Signed-off-by: Yao, Leyu <leyu.yao@intel.com>
Bumps [actions/deploy-pages](https://github.com/actions/deploy-pages) from 1 to 2.
- [Release notes](https://github.com/actions/deploy-pages/releases)
- [Commits](actions/deploy-pages@v1...v2)

---
updated-dependencies:
- dependency-name: actions/deploy-pages
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Always release mutex before return.

Signed-off-by: Jay Yang <jay.yang@intel.com>
Bumps [actions/upload-pages-artifact](https://github.com/actions/upload-pages-artifact) from 1 to 2.
- [Release notes](https://github.com/actions/upload-pages-artifact/releases)
- [Commits](actions/upload-pages-artifact@v1...v2)

---
updated-dependencies:
- dependency-name: actions/upload-pages-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
add interface to support jpeg crop and partial decode.

v2: remove redundant macro for bit position and use crop bit-field (Carl Zhang)
v3: rename variables to crop instead of roi (Carl Zhang)

Signed-off-by: Sathishkumar S <sathishkumar.sundararaju@amd.com>
Signed-off-by: Carl Zhang <carl.zhang@intel.com>
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
The adapter_luid is already stored in pDriverContext->native_dpy. The
copy in VADisplayContextWin32, is not needed.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
All the vafool codebase was removed a while ago, with little sign of it
coming back.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Note that the old ones are deprecated. For the new one mention the
ownership model and num_drivers meaning/handling.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Similar to ce9898c

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
As documented (and updated) the callee(s) cannot set the num_drivers
past the original size. So drop the unreachable code.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
All the backends implement the callback. So this temporary check can go
now.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Signed-off-by: Carl Zhang <carl.zhang@intel.com>
Signed-off-by: Carl Zhang <carl.zhang@intel.com>
Signed-off-by: hmtheboy154 <buingoc67@gmail.com>
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.