/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
#define lr x30
#define ip0 x16
.section .note.GNU-stack,"",@progbits
.data
.globl _libva_so_tramp_table
.hidden _libva_so_tramp_table
.align 8
_libva_so_tramp_table:
.zero 712
.text
.globl _libva_so_tramp_resolve
.hidden _libva_so_tramp_resolve
.globl _libva_so_save_regs_and_resolve
.hidden _libva_so_save_regs_and_resolve
.type _libva_so_save_regs_and_resolve, %function
_libva_so_save_regs_and_resolve:
.cfi_startproc
// Slow path which calls dlsym, taken only on first call.
// Registers are saved according to "Procedure Call Standard for the Arm® 64-bit Architecture".
// For DWARF directives, read https://www.imperialviolet.org/2017/01/18/cfi.html.
// Stack is aligned at 16 bytes
#define PUSH_PAIR(reg1, reg2) stp reg1, reg2, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset reg1, 0; .cfi_rel_offset reg2, 8
#define POP_PAIR(reg1, reg2) ldp reg1, reg2, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore reg2; .cfi_restore reg1
#define PUSH_WIDE_PAIR(reg1, reg2) stp reg1, reg2, [sp, #-32]!; .cfi_adjust_cfa_offset 32; .cfi_rel_offset reg1, 0; .cfi_rel_offset reg2, 16
#define POP_WIDE_PAIR(reg1, reg2) ldp reg1, reg2, [sp], #32; .cfi_adjust_cfa_offset -32; .cfi_restore reg2; .cfi_restore reg1
// Save only arguments (and lr)
PUSH_PAIR(x0, x1)
PUSH_PAIR(x2, x3)
PUSH_PAIR(x4, x5)
PUSH_PAIR(x6, x7)
PUSH_PAIR(x8, lr)
ldr x0, [sp, #80] // 16*5
PUSH_WIDE_PAIR(q0, q1)
PUSH_WIDE_PAIR(q2, q3)
PUSH_WIDE_PAIR(q4, q5)
PUSH_WIDE_PAIR(q6, q7)
// Stack is aligned at 16 bytes
bl _libva_so_tramp_resolve
mov ip0, x0
// TODO: pop pc?
POP_WIDE_PAIR(q6, q7)
POP_WIDE_PAIR(q4, q5)
POP_WIDE_PAIR(q2, q3)
POP_WIDE_PAIR(q0, q1)
POP_PAIR(x8, lr)
POP_PAIR(x6, x7)
POP_PAIR(x4, x5)
POP_PAIR(x2, x3)
POP_PAIR(x0, x1)
br lr
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaAcquireBufferHandle
.p2align 4
.type vaAcquireBufferHandle, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaAcquireBufferHandle
#endif
vaAcquireBufferHandle:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+0
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+0]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 0 & 0xffff
#if 0 > 0xffff
movk ip0, 0 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaAssociateSubpicture
.p2align 4
.type vaAssociateSubpicture, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaAssociateSubpicture
#endif
vaAssociateSubpicture:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+8
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+8]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 1 & 0xffff
#if 1 > 0xffff
movk ip0, 1 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaAttachProtectedSession
.p2align 4
.type vaAttachProtectedSession, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaAttachProtectedSession
#endif
vaAttachProtectedSession:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+16
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+16]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 2 & 0xffff
#if 2 > 0xffff
movk ip0, 2 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaBeginPicture
.p2align 4
.type vaBeginPicture, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaBeginPicture
#endif
vaBeginPicture:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+24
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+24]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 3 & 0xffff
#if 3 > 0xffff
movk ip0, 3 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaBufferInfo
.p2align 4
.type vaBufferInfo, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaBufferInfo
#endif
vaBufferInfo:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+32
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+32]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 4 & 0xffff
#if 4 > 0xffff
movk ip0, 4 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaBufferSetNumElements
.p2align 4
.type vaBufferSetNumElements, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaBufferSetNumElements
#endif
vaBufferSetNumElements:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+40
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+40]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 5 & 0xffff
#if 5 > 0xffff
movk ip0, 5 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaBufferTypeStr
.p2align 4
.type vaBufferTypeStr, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaBufferTypeStr
#endif
vaBufferTypeStr:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+48
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+48]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 6 & 0xffff
#if 6 > 0xffff
movk ip0, 6 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaConfigAttribTypeStr
.p2align 4
.type vaConfigAttribTypeStr, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaConfigAttribTypeStr
#endif
vaConfigAttribTypeStr:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+56
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+56]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 7 & 0xffff
#if 7 > 0xffff
movk ip0, 7 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaCopy
.p2align 4
.type vaCopy, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaCopy
#endif
vaCopy:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+64
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+64]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 8 & 0xffff
#if 8 > 0xffff
movk ip0, 8 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaCreateBuffer
.p2align 4
.type vaCreateBuffer, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaCreateBuffer
#endif
vaCreateBuffer:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+72
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+72]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 9 & 0xffff
#if 9 > 0xffff
movk ip0, 9 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaCreateBuffer2
.p2align 4
.type vaCreateBuffer2, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaCreateBuffer2
#endif
vaCreateBuffer2:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+80
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+80]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 10 & 0xffff
#if 10 > 0xffff
movk ip0, 10 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaCreateConfig
.p2align 4
.type vaCreateConfig, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaCreateConfig
#endif
vaCreateConfig:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+88
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+88]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 11 & 0xffff
#if 11 > 0xffff
movk ip0, 11 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaCreateContext
.p2align 4
.type vaCreateContext, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaCreateContext
#endif
vaCreateContext:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+96
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+96]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 12 & 0xffff
#if 12 > 0xffff
movk ip0, 12 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaCreateImage
.p2align 4
.type vaCreateImage, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaCreateImage
#endif
vaCreateImage:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+104
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+104]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 13 & 0xffff
#if 13 > 0xffff
movk ip0, 13 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaCreateMFContext
.p2align 4
.type vaCreateMFContext, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaCreateMFContext
#endif
vaCreateMFContext:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+112
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+112]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 14 & 0xffff
#if 14 > 0xffff
movk ip0, 14 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaCreateProtectedSession
.p2align 4
.type vaCreateProtectedSession, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaCreateProtectedSession
#endif
vaCreateProtectedSession:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+120
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+120]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 15 & 0xffff
#if 15 > 0xffff
movk ip0, 15 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaCreateSubpicture
.p2align 4
.type vaCreateSubpicture, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaCreateSubpicture
#endif
vaCreateSubpicture:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+128
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+128]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 16 & 0xffff
#if 16 > 0xffff
movk ip0, 16 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaCreateSurfaces
.p2align 4
.type vaCreateSurfaces, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaCreateSurfaces
#endif
vaCreateSurfaces:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+136
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+136]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 17 & 0xffff
#if 17 > 0xffff
movk ip0, 17 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaDeassociateSubpicture
.p2align 4
.type vaDeassociateSubpicture, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaDeassociateSubpicture
#endif
vaDeassociateSubpicture:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+144
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+144]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 18 & 0xffff
#if 18 > 0xffff
movk ip0, 18 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaDeriveImage
.p2align 4
.type vaDeriveImage, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaDeriveImage
#endif
vaDeriveImage:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+152
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+152]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 19 & 0xffff
#if 19 > 0xffff
movk ip0, 19 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaDestroyBuffer
.p2align 4
.type vaDestroyBuffer, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaDestroyBuffer
#endif
vaDestroyBuffer:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+160
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+160]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 20 & 0xffff
#if 20 > 0xffff
movk ip0, 20 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaDestroyConfig
.p2align 4
.type vaDestroyConfig, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaDestroyConfig
#endif
vaDestroyConfig:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+168
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+168]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 21 & 0xffff
#if 21 > 0xffff
movk ip0, 21 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaDestroyContext
.p2align 4
.type vaDestroyContext, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaDestroyContext
#endif
vaDestroyContext:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+176
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+176]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 22 & 0xffff
#if 22 > 0xffff
movk ip0, 22 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaDestroyImage
.p2align 4
.type vaDestroyImage, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaDestroyImage
#endif
vaDestroyImage:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+184
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+184]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 23 & 0xffff
#if 23 > 0xffff
movk ip0, 23 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaDestroyProtectedSession
.p2align 4
.type vaDestroyProtectedSession, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaDestroyProtectedSession
#endif
vaDestroyProtectedSession:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+192
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+192]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 24 & 0xffff
#if 24 > 0xffff
movk ip0, 24 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaDestroySubpicture
.p2align 4
.type vaDestroySubpicture, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaDestroySubpicture
#endif
vaDestroySubpicture:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+200
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+200]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 25 & 0xffff
#if 25 > 0xffff
movk ip0, 25 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaDestroySurfaces
.p2align 4
.type vaDestroySurfaces, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaDestroySurfaces
#endif
vaDestroySurfaces:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+208
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+208]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 26 & 0xffff
#if 26 > 0xffff
movk ip0, 26 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaDetachProtectedSession
.p2align 4
.type vaDetachProtectedSession, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaDetachProtectedSession
#endif
vaDetachProtectedSession:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+216
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+216]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 27 & 0xffff
#if 27 > 0xffff
movk ip0, 27 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaDisplayIsValid
.p2align 4
.type vaDisplayIsValid, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaDisplayIsValid
#endif
vaDisplayIsValid:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+224
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+224]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 28 & 0xffff
#if 28 > 0xffff
movk ip0, 28 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaEndPicture
.p2align 4
.type vaEndPicture, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaEndPicture
#endif
vaEndPicture:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+232
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+232]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 29 & 0xffff
#if 29 > 0xffff
movk ip0, 29 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaEntrypointStr
.p2align 4
.type vaEntrypointStr, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaEntrypointStr
#endif
vaEntrypointStr:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+240
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+240]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 30 & 0xffff
#if 30 > 0xffff
movk ip0, 30 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaErrorStr
.p2align 4
.type vaErrorStr, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaErrorStr
#endif
vaErrorStr:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+248
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+248]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 31 & 0xffff
#if 31 > 0xffff
movk ip0, 31 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaExportSurfaceHandle
.p2align 4
.type vaExportSurfaceHandle, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaExportSurfaceHandle
#endif
vaExportSurfaceHandle:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+256
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+256]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 32 & 0xffff
#if 32 > 0xffff
movk ip0, 32 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaGetConfigAttributes
.p2align 4
.type vaGetConfigAttributes, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaGetConfigAttributes
#endif
vaGetConfigAttributes:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+264
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+264]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 33 & 0xffff
#if 33 > 0xffff
movk ip0, 33 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaGetDisplayAttributes
.p2align 4
.type vaGetDisplayAttributes, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaGetDisplayAttributes
#endif
vaGetDisplayAttributes:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+272
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+272]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 34 & 0xffff
#if 34 > 0xffff
movk ip0, 34 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaGetImage
.p2align 4
.type vaGetImage, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaGetImage
#endif
vaGetImage:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+280
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+280]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 35 & 0xffff
#if 35 > 0xffff
movk ip0, 35 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaGetLibFunc
.p2align 4
.type vaGetLibFunc, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaGetLibFunc
#endif
vaGetLibFunc:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+288
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+288]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 36 & 0xffff
#if 36 > 0xffff
movk ip0, 36 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaInitialize
.p2align 4
.type vaInitialize, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaInitialize
#endif
vaInitialize:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+296
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+296]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 37 & 0xffff
#if 37 > 0xffff
movk ip0, 37 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaLockSurface
.p2align 4
.type vaLockSurface, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaLockSurface
#endif
vaLockSurface:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+304
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+304]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 38 & 0xffff
#if 38 > 0xffff
movk ip0, 38 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaMFAddContext
.p2align 4
.type vaMFAddContext, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaMFAddContext
#endif
vaMFAddContext:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+312
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+312]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 39 & 0xffff
#if 39 > 0xffff
movk ip0, 39 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaMFReleaseContext
.p2align 4
.type vaMFReleaseContext, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaMFReleaseContext
#endif
vaMFReleaseContext:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+320
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+320]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 40 & 0xffff
#if 40 > 0xffff
movk ip0, 40 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaMFSubmit
.p2align 4
.type vaMFSubmit, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaMFSubmit
#endif
vaMFSubmit:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+328
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+328]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 41 & 0xffff
#if 41 > 0xffff
movk ip0, 41 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaMapBuffer
.p2align 4
.type vaMapBuffer, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaMapBuffer
#endif
vaMapBuffer:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+336
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+336]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 42 & 0xffff
#if 42 > 0xffff
movk ip0, 42 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaMapBuffer2
.p2align 4
.type vaMapBuffer2, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaMapBuffer2
#endif
vaMapBuffer2:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+344
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+344]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 43 & 0xffff
#if 43 > 0xffff
movk ip0, 43 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaMaxNumConfigAttributes
.p2align 4
.type vaMaxNumConfigAttributes, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaMaxNumConfigAttributes
#endif
vaMaxNumConfigAttributes:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+352
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+352]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 44 & 0xffff
#if 44 > 0xffff
movk ip0, 44 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaMaxNumDisplayAttributes
.p2align 4
.type vaMaxNumDisplayAttributes, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaMaxNumDisplayAttributes
#endif
vaMaxNumDisplayAttributes:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+360
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+360]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 45 & 0xffff
#if 45 > 0xffff
movk ip0, 45 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaMaxNumEntrypoints
.p2align 4
.type vaMaxNumEntrypoints, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaMaxNumEntrypoints
#endif
vaMaxNumEntrypoints:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+368
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+368]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 46 & 0xffff
#if 46 > 0xffff
movk ip0, 46 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaMaxNumImageFormats
.p2align 4
.type vaMaxNumImageFormats, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaMaxNumImageFormats
#endif
vaMaxNumImageFormats:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+376
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+376]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 47 & 0xffff
#if 47 > 0xffff
movk ip0, 47 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaMaxNumProfiles
.p2align 4
.type vaMaxNumProfiles, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaMaxNumProfiles
#endif
vaMaxNumProfiles:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+384
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+384]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 48 & 0xffff
#if 48 > 0xffff
movk ip0, 48 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaMaxNumSubpictureFormats
.p2align 4
.type vaMaxNumSubpictureFormats, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaMaxNumSubpictureFormats
#endif
vaMaxNumSubpictureFormats:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+392
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+392]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 49 & 0xffff
#if 49 > 0xffff
movk ip0, 49 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaProfileStr
.p2align 4
.type vaProfileStr, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaProfileStr
#endif
vaProfileStr:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+400
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+400]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 50 & 0xffff
#if 50 > 0xffff
movk ip0, 50 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaProtectedSessionExecute
.p2align 4
.type vaProtectedSessionExecute, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaProtectedSessionExecute
#endif
vaProtectedSessionExecute:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+408
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+408]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 51 & 0xffff
#if 51 > 0xffff
movk ip0, 51 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaPutImage
.p2align 4
.type vaPutImage, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaPutImage
#endif
vaPutImage:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+416
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+416]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 52 & 0xffff
#if 52 > 0xffff
movk ip0, 52 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaQueryConfigAttributes
.p2align 4
.type vaQueryConfigAttributes, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaQueryConfigAttributes
#endif
vaQueryConfigAttributes:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+424
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+424]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 53 & 0xffff
#if 53 > 0xffff
movk ip0, 53 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaQueryConfigEntrypoints
.p2align 4
.type vaQueryConfigEntrypoints, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaQueryConfigEntrypoints
#endif
vaQueryConfigEntrypoints:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+432
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+432]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 54 & 0xffff
#if 54 > 0xffff
movk ip0, 54 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaQueryConfigProfiles
.p2align 4
.type vaQueryConfigProfiles, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaQueryConfigProfiles
#endif
vaQueryConfigProfiles:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+440
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+440]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 55 & 0xffff
#if 55 > 0xffff
movk ip0, 55 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaQueryDisplayAttributes
.p2align 4
.type vaQueryDisplayAttributes, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaQueryDisplayAttributes
#endif
vaQueryDisplayAttributes:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+448
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+448]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 56 & 0xffff
#if 56 > 0xffff
movk ip0, 56 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaQueryImageFormats
.p2align 4
.type vaQueryImageFormats, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaQueryImageFormats
#endif
vaQueryImageFormats:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+456
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+456]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 57 & 0xffff
#if 57 > 0xffff
movk ip0, 57 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaQueryProcessingRate
.p2align 4
.type vaQueryProcessingRate, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaQueryProcessingRate
#endif
vaQueryProcessingRate:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+464
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+464]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 58 & 0xffff
#if 58 > 0xffff
movk ip0, 58 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaQuerySubpictureFormats
.p2align 4
.type vaQuerySubpictureFormats, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaQuerySubpictureFormats
#endif
vaQuerySubpictureFormats:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+472
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+472]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 59 & 0xffff
#if 59 > 0xffff
movk ip0, 59 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaQuerySurfaceAttributes
.p2align 4
.type vaQuerySurfaceAttributes, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaQuerySurfaceAttributes
#endif
vaQuerySurfaceAttributes:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+480
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+480]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 60 & 0xffff
#if 60 > 0xffff
movk ip0, 60 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaQuerySurfaceError
.p2align 4
.type vaQuerySurfaceError, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaQuerySurfaceError
#endif
vaQuerySurfaceError:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+488
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+488]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 61 & 0xffff
#if 61 > 0xffff
movk ip0, 61 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaQuerySurfaceStatus
.p2align 4
.type vaQuerySurfaceStatus, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaQuerySurfaceStatus
#endif
vaQuerySurfaceStatus:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+496
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+496]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 62 & 0xffff
#if 62 > 0xffff
movk ip0, 62 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaQueryVendorString
.p2align 4
.type vaQueryVendorString, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaQueryVendorString
#endif
vaQueryVendorString:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+504
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+504]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 63 & 0xffff
#if 63 > 0xffff
movk ip0, 63 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaQueryVideoProcFilterCaps
.p2align 4
.type vaQueryVideoProcFilterCaps, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaQueryVideoProcFilterCaps
#endif
vaQueryVideoProcFilterCaps:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+512
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+512]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 64 & 0xffff
#if 64 > 0xffff
movk ip0, 64 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaQueryVideoProcFilters
.p2align 4
.type vaQueryVideoProcFilters, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaQueryVideoProcFilters
#endif
vaQueryVideoProcFilters:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+520
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+520]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 65 & 0xffff
#if 65 > 0xffff
movk ip0, 65 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaQueryVideoProcPipelineCaps
.p2align 4
.type vaQueryVideoProcPipelineCaps, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaQueryVideoProcPipelineCaps
#endif
vaQueryVideoProcPipelineCaps:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+528
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+528]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 66 & 0xffff
#if 66 > 0xffff
movk ip0, 66 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaReleaseBufferHandle
.p2align 4
.type vaReleaseBufferHandle, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaReleaseBufferHandle
#endif
vaReleaseBufferHandle:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+536
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+536]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 67 & 0xffff
#if 67 > 0xffff
movk ip0, 67 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaRenderPicture
.p2align 4
.type vaRenderPicture, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaRenderPicture
#endif
vaRenderPicture:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+544
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+544]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 68 & 0xffff
#if 68 > 0xffff
movk ip0, 68 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaSetDisplayAttributes
.p2align 4
.type vaSetDisplayAttributes, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaSetDisplayAttributes
#endif
vaSetDisplayAttributes:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+552
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+552]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 69 & 0xffff
#if 69 > 0xffff
movk ip0, 69 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaSetDriverName
.p2align 4
.type vaSetDriverName, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaSetDriverName
#endif
vaSetDriverName:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+560
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+560]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 70 & 0xffff
#if 70 > 0xffff
movk ip0, 70 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaSetErrorCallback
.p2align 4
.type vaSetErrorCallback, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaSetErrorCallback
#endif
vaSetErrorCallback:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+568
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+568]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 71 & 0xffff
#if 71 > 0xffff
movk ip0, 71 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaSetImagePalette
.p2align 4
.type vaSetImagePalette, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaSetImagePalette
#endif
vaSetImagePalette:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+576
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+576]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 72 & 0xffff
#if 72 > 0xffff
movk ip0, 72 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaSetInfoCallback
.p2align 4
.type vaSetInfoCallback, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaSetInfoCallback
#endif
vaSetInfoCallback:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+584
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+584]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 73 & 0xffff
#if 73 > 0xffff
movk ip0, 73 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaSetSubpictureChromakey
.p2align 4
.type vaSetSubpictureChromakey, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaSetSubpictureChromakey
#endif
vaSetSubpictureChromakey:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+592
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+592]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 74 & 0xffff
#if 74 > 0xffff
movk ip0, 74 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaSetSubpictureGlobalAlpha
.p2align 4
.type vaSetSubpictureGlobalAlpha, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaSetSubpictureGlobalAlpha
#endif
vaSetSubpictureGlobalAlpha:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+600
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+600]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 75 & 0xffff
#if 75 > 0xffff
movk ip0, 75 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaSetSubpictureImage
.p2align 4
.type vaSetSubpictureImage, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaSetSubpictureImage
#endif
vaSetSubpictureImage:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+608
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+608]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 76 & 0xffff
#if 76 > 0xffff
movk ip0, 76 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaStatusStr
.p2align 4
.type vaStatusStr, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaStatusStr
#endif
vaStatusStr:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+616
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+616]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 77 & 0xffff
#if 77 > 0xffff
movk ip0, 77 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaSyncBuffer
.p2align 4
.type vaSyncBuffer, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaSyncBuffer
#endif
vaSyncBuffer:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+624
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+624]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 78 & 0xffff
#if 78 > 0xffff
movk ip0, 78 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaSyncSurface
.p2align 4
.type vaSyncSurface, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaSyncSurface
#endif
vaSyncSurface:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+632
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+632]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 79 & 0xffff
#if 79 > 0xffff
movk ip0, 79 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaSyncSurface2
.p2align 4
.type vaSyncSurface2, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaSyncSurface2
#endif
vaSyncSurface2:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+640
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+640]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 80 & 0xffff
#if 80 > 0xffff
movk ip0, 80 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaTerminate
.p2align 4
.type vaTerminate, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaTerminate
#endif
vaTerminate:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+648
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+648]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 81 & 0xffff
#if 81 > 0xffff
movk ip0, 81 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaUnlockSurface
.p2align 4
.type vaUnlockSurface, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaUnlockSurface
#endif
vaUnlockSurface:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+656
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+656]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 82 & 0xffff
#if 82 > 0xffff
movk ip0, 82 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl vaUnmapBuffer
.p2align 4
.type vaUnmapBuffer, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden vaUnmapBuffer
#endif
vaUnmapBuffer:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+664
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+664]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 83 & 0xffff
#if 83 > 0xffff
movk ip0, 83 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl va_TracePutSurface
.p2align 4
.type va_TracePutSurface, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden va_TracePutSurface
#endif
va_TracePutSurface:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+672
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+672]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 84 & 0xffff
#if 84 > 0xffff
movk ip0, 84 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl va_TraceStatus
.p2align 4
.type va_TraceStatus, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden va_TraceStatus
#endif
va_TraceStatus:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+680
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+680]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 85 & 0xffff
#if 85 > 0xffff
movk ip0, 85 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl va_newDisplayContext
.p2align 4
.type va_newDisplayContext, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden va_newDisplayContext
#endif
va_newDisplayContext:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+688
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+688]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 86 & 0xffff
#if 86 > 0xffff
movk ip0, 86 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc
/*
* Copyright 2018-2025 Yury Gribov
*
* The MIT License (MIT)
*
* Use of this source code is governed by MIT license that can be
* found in the LICENSE.txt file.
*/
.globl va_newDriverContext
.p2align 4
.type va_newDriverContext, %function
#ifndef IMPLIB_EXPORT_SHIMS
.hidden va_newDriverContext
#endif
va_newDriverContext:
.cfi_startproc
1:
// Load address
// TODO: can we do this faster on newer ARMs?
adrp ip0, _libva_so_tramp_table+696
ldr ip0, [ip0, #:lo12:_libva_so_tramp_table+696]
cbz ip0, 2f
// Fast path
br ip0
2:
// Slow path
mov ip0, 87 & 0xffff
#if 87 > 0xffff
movk ip0, 87 >> 16, lsl #16
#endif
stp ip0, lr, [sp, #-16]!; .cfi_adjust_cfa_offset 16; .cfi_rel_offset lr, 8
bl _libva_so_save_regs_and_resolve
ldp xzr, lr, [sp], #16; .cfi_adjust_cfa_offset -16; .cfi_restore lr
br ip0
.cfi_endproc