Lines Matching defs:Allocation
47 class Allocation;
560 * from RenderScript kernels. An Allocation provides the backing store for a
563 * An Allocation also contains a set of usage flags that denote how the
564 * Allocation could be used. For example, an Allocation may have usage flags
567 * syncAll(int) in order to ensure that different users of the Allocation have
568 * a consistent view of memory. For example, in the case where an Allocation is
573 class Allocation : public BaseObj {
577 sp<Allocation> mAdaptedAllocation;
599 Allocation(void *id, sp<RS> rs, sp<const Type> t, uint32_t usage);
636 * Propagate changes from one usage of the Allocation to other usages of the Allocation.
642 * Send a buffer to the output stream. The contents of the Allocation will
644 * USAGE_IO_OUTPUT is set on the Allocation.
649 * Receive the latest input into the Allocation. This operation
650 * is only valid if USAGE_IO_INPUT is set on the Allocation.
663 * Associate a Surface with this Allocation. This
671 * Generate a mipmap chain. This is only valid if the Type of the Allocation
674 * the Allocation is also using other memory spaces, a call to
675 * syncAll(Allocation.USAGE_SCRIPT) is required.
680 * Copy an array into part of this Allocation.
688 * Copy part of an Allocation into part of this Allocation.
691 * @param[in] data Allocation from which to copy
694 void copy1DRangeFrom(uint32_t off, size_t count, const sp<const Allocation>& data, uint32_t dataOff);
697 * Copy an array into part of this Allocation.
705 * Copy entire array to an Allocation.
711 * Copy entire Allocation to an array.
717 * Copy from an array into a rectangular region in this Allocation. The
719 * @param[in] xoff X offset of region to update in this Allocation
720 * @param[in] yoff Y offset of region to update in this Allocation
729 * Copy from this Allocation into a rectangular region in an array. The
731 * @param[in] xoff X offset of region to copy from this Allocation
732 * @param[in] yoff Y offset of region to copy from this Allocation
741 * Copy from an Allocation into a rectangular region in this Allocation.
742 * @param[in] xoff X offset of region to update in this Allocation
743 * @param[in] yoff Y offset of region to update in this Allocation
746 * @param[in] data Allocation from which to copy
751 const sp<const Allocation>& data, uint32_t dataXoff, uint32_t dataYoff);
754 * Copy from a strided array into a rectangular region in this Allocation.
755 * @param[in] xoff X offset of region to update in this Allocation
756 * @param[in] yoff Y offset of region to update in this Allocation
766 * Copy from a strided array into this Allocation.
773 * Copy from a rectangular region in this Allocation into a strided array.
774 * @param[in] xoff X offset of region to update in this Allocation
775 * @param[in] yoff Y offset of region to update in this Allocation
785 * Copy this Allocation into a strided array.
793 * Copy from an array into a 3D region in this Allocation. The
795 * @param[in] xoff X offset of region to update in this Allocation
796 * @param[in] yoff Y offset of region to update in this Allocation
797 * @param[in] zoff Z offset of region to update in this Allocation
807 * Copy from an Allocation into a 3D region in this Allocation.
808 * @param[in] xoff X offset of region to update in this Allocation
809 * @param[in] yoff Y offset of region to update in this Allocation
810 * @param[in] zoff Z offset of region to update in this Allocation
814 * @param[in] data Allocation from which to copy
821 const sp<const Allocation>& data,
825 * Copy a 3D region in this Allocation into an array. The
827 * @param[in] xoff X offset of region to update in this Allocation
828 * @param[in] yoff Y offset of region to update in this Allocation
829 * @param[in] zoff Z offset of region to update in this Allocation
839 * Creates an Allocation for use by scripts with a given Type.
840 * @param[in] rs Context to which the Allocation will belong
841 * @param[in] type Type of the Allocation
842 * @param[in] mipmaps desired mipmap behavior for the Allocation
843 * @param[in] usage usage for the Allocation
844 * @return new Allocation
846 static sp<Allocation> createTyped(const sp<RS>& rs, const sp<const Type>& type,
850 * Creates an Allocation for use by scripts with a given Type and a backing pointer. For use
852 * @param[in] rs Context to which the Allocation will belong
853 * @param[in] type Type of the Allocation
854 * @param[in] mipmaps desired mipmap behavior for the Allocation
855 * @param[in] usage usage for the Allocation
856 * @param[in] pointer existing backing store to use for this Allocation if possible
857 * @return new Allocation
859 static sp<Allocation> createTyped(const sp<RS>& rs, const sp<const Type>& type,
863 * Creates an Allocation for use by scripts with a given Type with no mipmaps.
864 * @param[in] rs Context to which the Allocation will belong
865 * @param[in] type Type of the Allocation
866 * @param[in] usage usage for the Allocation
867 * @return new Allocation
869 static sp<Allocation> createTyped(const sp<RS>& rs, const sp<const Type>& type,
872 * Creates an Allocation with a specified number of given elements.
873 * @param[in] rs Context to which the Allocation will belong
874 * @param[in] e Element used in the Allocation
875 * @param[in] count Number of elements of the Allocation
876 * @param[in] usage usage for the Allocation
877 * @return new Allocation
879 static sp<Allocation> createSized(const sp<RS>& rs, const sp<const Element>& e, size_t count,
883 * Creates a 2D Allocation with a specified number of given elements.
884 * @param[in] rs Context to which the Allocation will belong
885 * @param[in] e Element used in the Allocation
886 * @param[in] x Width in Elements of the Allocation
887 * @param[in] y Height of the Allocation
888 * @param[in] usage usage for the Allocation
889 * @return new Allocation
891 static sp<Allocation> createSized2D(const sp<RS>& rs, const sp<const Element>& e,
899 * stride in bytes of a 2D Allocation
906 * An Element represents one item within an Allocation. An Element is roughly
918 * Sampler. Note that Allocation objects with DataKind USER cannot be used as
919 * input for a Sampler. In general, Allocation objects that are intended for
1087 * Utility function for returning an Element containing a single Allocation.
1549 * A Type describes the Element and dimensions used for an Allocation or a
1562 * A Type also supports YUV format information to support an Allocation in a YUV
1567 friend class Allocation;
1587 * @return YUV format of the Allocation
1594 * Returns the Element of the Allocation.
1595 * @return YUV format of the Allocation
1602 * Returns the X dimension of the Allocation.
1610 * Returns the Y dimension of the Allocation.
1618 * Returns the Z dimension of the Allocation.
1626 * Returns true if the Allocation has mipmaps.
1627 * @return true if the Allocation has mipmaps
1634 * Returns true if the Allocation is a cube map
1635 * @return true if the Allocation is a cube map
1642 * Returns number of accessible Elements in the Allocation
1643 * @return number of accessible Elements in the Allocation
1650 * Returns size in bytes of all Elements in the Allocation
1651 * @return size in bytes of all Elements in the Allocation
1701 void forEach(uint32_t slot, const sp<const Allocation>& in, const sp<const Allocation>& out,
1703 void bindAllocation(const sp<Allocation>& va, uint32_t slot) const;
1735 sp<Allocation> mAllocation;
1748 sp<const Allocation> getAllocation() {
1799 * @param[in] ain input Allocation
1800 * @param[in] aout output Allocation
1802 void forEach(const sp<Allocation>& ain, const sp<Allocation>& aout);
1809 void setLUT(const sp<Allocation>& lut);
1850 float alpha, const sp<Allocation>& A, const sp<Allocation>& X, int incX,
1851 float beta, const sp<Allocation>& Y, int incY);
1869 double alpha, const sp<Allocation>& A, const sp<Allocation>& X, int incX,
1870 double beta, const sp<Allocation>& Y, int incY);
1888 Float2 alpha, const sp<Allocation>& A, const sp<Allocation>& X, int incX,
1889 Float2 beta, const sp<Allocation>& Y, int incY);
1907 Double2 alpha, const sp<Allocation>& A, const sp<Allocation>& X, int incX,
1908 Double2 beta, const sp<Allocation>& Y, int incY);
1916 * Note: For a M*N matrix, the input Allocation should also be of size M*N (dimY = M, dimX = N),
1935 int KL, int KU, float alpha, const sp<Allocation>& A, const sp<Allocation>& X, int incX,
1936 float beta, const sp<Allocation>& Y, int incY);
1944 * Note: For a M*N matrix, the input Allocation should also be of size M*N (dimY = M, dimX = N),
1963 int KL, int KU, double alpha, const sp<Allocation>& A, const sp<Allocation>& X,
1964 int incX, double beta, const sp<Allocation>& Y, int incY);
1972 * Note: For a M*N matrix, the input Allocation should also be of size M*N (dimY = M, dimX = N),
1991 int KL, int KU, Float2 alpha, const sp<Allocation>& A, const sp<Allocation>& X,
1992 int incX, Float2 beta, const sp<Allocation>& Y, int incY);
2000 * Note: For a M*N matrix, the input Allocation should also be of size M*N (dimY = M, dimX = N),
2019 int KL, int KU, Double2 alpha, const sp<Allocation>& A, const sp<Allocation>& X, int incX,
2020 Double2 beta, const sp<Allocation>& Y, int incY);
2036 const sp<Allocation>& A, const sp<Allocation>& X, int incX);
2052 const sp<Allocation>& A, const sp<Allocation>& X, int incX);
2068 const sp<Allocation>& A, const sp<Allocation>& X, int incX);
2084 const sp<Allocation>& A, const sp<Allocation>& X, int incX);
2092 * Note: For a N*N matrix, the input Allocation should also be of size N*N (dimY = N, dimX = N),
2108 int K, const sp<Allocation>& A, const sp<Allocation>& X, int incX);
2116 * Note: For a N*N matrix, the input Allocation should also be of size N*N (dimY = N, dimX = N),
2132 int K, const sp<Allocation>& A, const sp<Allocation>& X, int incX);
2140 * Note: For a N*N matrix, the input Allocation should also be of size N*N (dimY = N, dimX = N),
2156 int K, const sp<Allocation>& A, const sp<Allocation>& X, int incX);
2164 * Note: For a N*N matrix, the input Allocation should also be of size N*N (dimY = N, dimX = N),
2180 int K, const sp<Allocation>& A, const sp<Allocation>& X, int incX);
2188 * Note: For a N*N matrix, the input Allocation should be a 1D allocation of size dimX = N*(N+1)/2,
2204 const sp<Allocation>& Ap, const sp<Allocation>& X, int incX);
2212 * Note: For a N*N matrix, the input Allocation should be a 1D allocation of size dimX = N*(N+1)/2,
2228 const sp<Allocation>& Ap, const sp<Allocation>& X, int incX);
2236 * Note: For a N*N matrix, the input Allocation should be a 1D allocation of size dimX = N*(N+1)/2,
2252 const sp<Allocation>& Ap, const sp<Allocation>& X, int incX);
2260 * Note: For a N*N matrix, the input Allocation should be a 1D allocation of size dimX = N*(N+1)/2,
2276 const sp<Allocation>& Ap, const sp<Allocation>& X, int incX);
2292 const sp<Allocation>& A, const sp<Allocation>& X, int incX);
2308 const sp<Allocation>& A, const sp<Allocation>& X, int incX);
2324 const sp<Allocation>& A, const sp<Allocation>& X, int incX);
2340 const sp<Allocation>& A, const sp<Allocation>& X, int incX);
2348 * Note: For a N*N matrix, the input Allocation should also be of size N*N (dimY = N, dimX = N),
2364 int K, const sp<Allocation>& A, const sp<Allocation>& X, int incX);
2372 * Note: For a N*N matrix, the input Allocation should also be of size N*N (dimY = N, dimX = N),
2388 int K, const sp<Allocation>& A, const sp<Allocation>& X, int incX);
2396 * Note: For a N*N matrix, the input Allocation should also be of size N*N (dimY = N, dimX = N),
2412 int K, const sp<Allocation>& A, const sp<Allocation>& X, int incX);
2420 * Note: For a N*N matrix, the input Allocation should also be of size N*N (dimY = N, dimX = N),
2436 int K, const sp<Allocation>& A, const sp<Allocation>& X, int incX);
2444 * Note: For a N*N matrix, the input Allocation should be a 1D allocation of size dimX = N*(N+1)/2,
2460 const sp<Allocation>& Ap, const sp<Allocation>& X, int incX);
2468 * Note: For a N*N matrix, the input Allocation should be a 1D allocation of size dimX = N*(N+1)/2,
2484 const sp<Allocation>& Ap, const sp<Allocation>& X, int incX);
2492 * Note: For a N*N matrix, the input Allocation should be a 1D allocation of size dimX = N*(N+1)/2,
2508 const sp<Allocation>& Ap, const sp<Allocation>& X, int incX);
2516 * Note: For a N*N matrix, the input Allocation should be a 1D allocation of size dimX = N*(N+1)/2,
2532 const sp<Allocation>& Ap, const sp<Allocation>& X, int incX);
2549 void SSYMV(RsBlasUplo Uplo, float alpha, const sp<Allocation>& A, const sp<Allocation>& X,
2550 int incX, float beta, const sp<Allocation>& Y, int incY);
2558 * Note: For a N*N matrix, the input Allocation should also be of size N*N (dimY = N, dimX = N),
2575 void SSBMV(RsBlasUplo Uplo, int K, float alpha, const sp<Allocation>& A, const sp<Allocation>& X,
2576 int incX, float beta, const sp<Allocation>& Y, int incY);
2584 * Note: For a N*N matrix, the input Allocation should be a 1D allocation of size dimX = N*(N+1)/2,
2601 void SSPMV(RsBlasUplo Uplo, float alpha, const sp<Allocation>& Ap, const sp<Allocation>& X,
2602 int incX, float beta, const sp<Allocation>& Y, int incY);
2617 void SGER(float alpha, const sp<Allocation>& X, int incX, const sp<Allocation>& Y, int incY, const sp<Allocation>& A);
2631 void SSYR(RsBlasUplo Uplo, float alpha, const sp<Allocation>& X, int incX, const sp<Allocation>& A);
2639 * Note: For a N*N matrix, the input Allocation should be a 1D allocation of size dimX = N*(N+1)/2,
2653 void SSPR(RsBlasUplo Uplo, float alpha, const sp<Allocation>& X, int incX, const sp<Allocation>& Ap);
2669 void SSYR2(RsBlasUplo Uplo, float alpha, const sp<Allocation>& X, int incX,
2670 const sp<Allocation>& Y, int incY, const sp<Allocation>& A);
2678 * Note: For a N*N matrix, the input Allocation should be a 1D allocation of size dimX = N*(N+1)/2,
2694 void SSPR2(RsBlasUplo Uplo, float alpha, const sp<Allocation>& X, int incX,
2695 const sp<Allocation>& Y, int incY, const sp<Allocation>& Ap);
2712 void DSYMV(RsBlasUplo Uplo, double alpha, const sp<Allocation>& A, const sp<Allocation>& X, int incX,
2713 double beta, const sp<Allocation>& Y, int incY);
2721 * Note: For a N*N matrix, the input Allocation should also be of size N*N (dimY = N, dimX = N),
2738 void DSBMV(RsBlasUplo Uplo, int K, double alpha, const sp<Allocation>& A, const sp<Allocation>& X, int incX,
2739 double beta, const sp<Allocation>& Y, int incY);
2747 * Note: For a N*N matrix, the input Allocation should be a 1D allocation of size dimX = N*(N+1)/2,
2764 void DSPMV(RsBlasUplo Uplo, double alpha, const sp<Allocation>& Ap, const sp<Allocation>& X, int incX,
2765 double beta, const sp<Allocation>& Y, int incY);
2780 void DGER(double alpha, const sp<Allocation>& X, int incX, const sp<Allocation>& Y, int incY, const sp<Allocation>& A);
2794 void DSYR(RsBlasUplo Uplo, double alpha, const sp<Allocation>& X, int incX, const sp<Allocation>& A);
2802 * Note: For a N*N matrix, the input Allocation should be a 1D allocation of size dimX = N*(N+1)/2,
2816 void DSPR(RsBlasUplo Uplo, double alpha, const sp<Allocation>& X, int incX, const sp<Allocation>& Ap);
2832 void DSYR2(RsBlasUplo Uplo, double alpha, const sp<Allocation>& X, int incX,
2833 const sp<Allocation>& Y, int incY, const sp<Allocation>& A);
2841 * Note: For a N*N matrix, the input Allocation should be a 1D allocation of size dimX = N*(N+1)/2,
2857 void DSPR2(RsBlasUplo Uplo, double alpha, const sp<Allocation>& X, int incX,
2858 const sp<Allocation>& Y, int incY, const sp<Allocation>& Ap);
2875 void CHEMV(RsBlasUplo Uplo, Float2 alpha, const sp<Allocation>& A, const sp<Allocation>& X,
2876 int incX, Float2 beta, const sp<Allocation>& Y, int incY);
2884 * Note: For a N*N matrix, the input Allocation should also be of size N*N (dimY = N, dimX = N),
2901 void CHBMV(RsBlasUplo Uplo, int K, Float2 alpha, const sp<Allocation>& A, const sp<Allocation>& X,
2902 int incX, Float2 beta, const sp<Allocation>& Y, int incY);
2910 * Note: For a N*N matrix, the input Allocation should be a 1D allocation of size dimX = N*(N+1)/2,
2927 void CHPMV(RsBlasUplo Uplo, Float2 alpha, const sp<Allocation>& Ap, const sp<Allocation>& X,
2928 int incX, Float2 beta, const sp<Allocation>& Y, int incY);
2943 void CGERU(Float2 alpha, const sp<Allocation>& X, int incX,
2944 const sp<Allocation>& Y, int incY, const sp<Allocation>& A);
2959 void CGERC(Float2 alpha, const sp<Allocation>& X, int incX,
2960 const sp<Allocation>& Y, int incY, const sp<Allocation>& A);
2974 void CHER(RsBlasUplo Uplo, float alpha, const sp<Allocation>& X, int incX, const sp<Allocation>& A);
2982 * Note: For a N*N matrix, the input Allocation should be a 1D allocation of size dimX = N*(N+1)/2,
2996 void CHPR(RsBlasUplo Uplo, float alpha, const sp<Allocation>& X, int incX, const sp<Allocation>& Ap);
3012 void CHER2(RsBlasUplo Uplo, Float2 alpha, const sp<Allocation>& X, int incX,
3013 const sp<Allocation>& Y, int incY, const sp<Allocation>& A);
3021 * Note: For a N*N matrix, the input Allocation should be a 1D allocation of size dimX = N*(N+1)/2,
3037 void CHPR2(RsBlasUplo Uplo, Float2 alpha, const sp<Allocation>& X, int incX,
3038 const sp<Allocation>& Y, int incY, const sp<Allocation>& Ap);
3055 void ZHEMV(RsBlasUplo Uplo, Double2 alpha, const sp<Allocation>& A, const sp<Allocation>& X,
3056 int incX, Double2 beta, const sp<Allocation>& Y, int incY);
3064 * Note: For a N*N matrix, the input Allocation should also be of size N*N (dimY = N, dimX = N),
3081 void ZHBMV(RsBlasUplo Uplo, int K, Double2 alpha, const sp<Allocation>& A, const sp<Allocation>& X,
3082 int incX, Double2 beta, const sp<Allocation>& Y, int incY);
3090 * Note: For a N*N matrix, the input Allocation should be a 1D allocation of size dimX = N*(N+1)/2,
3107 void ZHPMV(RsBlasUplo Uplo, Double2 alpha, const sp<Allocation>& Ap, const sp<Allocation>& X,
3108 int incX, Double2 beta, const sp<Allocation>& Y, int incY);
3123 void ZGERU(Double2 alpha, const sp<Allocation>& X, int incX,
3124 const sp<Allocation>& Y, int incY, const sp<Allocation>& A);
3139 void ZGERC(Double2 alpha, const sp<Allocation>& X, int incX,
3140 const sp<Allocation>& Y, int incY, const sp<Allocation>& A);
3154 void ZHER(RsBlasUplo Uplo, double alpha, const sp<Allocation>& X, int incX, const sp<Allocation>& A);
3162 * Note: For a N*N matrix, the input Allocation should be a 1D allocation of size dimX = N*(N+1)/2,
3176 void ZHPR(RsBlasUplo Uplo, double alpha, const sp<Allocation>& X, int incX, const sp<Allocation>& Ap);
3192 void ZHER2(RsBlasUplo Uplo, Double2 alpha, const sp<Allocation>& X, int incX,
3193 const sp<Allocation>& Y, int incY, const sp<Allocation>& A);
3201 * Note: For a N*N matrix, the input Allocation should be a 1D allocation of size dimX = N*(N+1)/2,
3217 void ZHPR2(RsBlasUplo Uplo, Double2 alpha, const sp<Allocation>& X, int incX,
3218 const sp<Allocation>& Y, int incY, const sp<Allocation>& Ap);
3234 void SGEMM(RsBlasTranspose TransA, RsBlasTranspose TransB, float alpha, const sp<Allocation>& A,
3235 const sp<Allocation>& B, float beta, const sp<Allocation>& C);
3252 void DGEMM(RsBlasTranspose TransA, RsBlasTranspose TransB, double alpha, const sp<Allocation>& A,
3253 const sp<Allocation>& B, double beta, const sp<Allocation>& C);
3269 void CGEMM(RsBlasTranspose TransA, RsBlasTranspose TransB, Float2 alpha, const sp<Allocation>& A,
3270 const sp<Allocation>& B, Float2 beta, const sp<Allocation>& C);
3286 void ZGEMM(RsBlasTranspose TransA, RsBlasTranspose TransB, Double2 alpha, const sp<Allocation>& A,
3287 const sp<Allocation>& B, Double2 beta, const sp<Allocation>& C);
3303 void SSYMM(RsBlasSide Side, RsBlasUplo Uplo, float alpha, const sp<Allocation>& A,
3304 const sp<Allocation>& B, float beta, const sp<Allocation>& C);
3320 void DSYMM(RsBlasSide Side, RsBlasUplo Uplo, double alpha, const sp<Allocation>& A,
3321 const sp<Allocation>& B, double beta, const sp<Allocation>& C);
3337 void CSYMM(RsBlasSide Side, RsBlasUplo Uplo, Float2 alpha, const sp<Allocation>& A,
3338 const sp<Allocation>& B, Float2 beta, const sp<Allocation>& C);
3354 void ZSYMM(RsBlasSide Side, RsBlasUplo Uplo, Double2 alpha, const sp<Allocation>& A,
3355 const sp<Allocation>& B, Double2 beta, const sp<Allocation>& C);
3371 const sp<Allocation>& A, float beta, const sp<Allocation>& C);
3387 const sp<Allocation>& A, double beta, const sp<Allocation>& C);
3403 const sp<Allocation>& A, Float2 beta, const sp<Allocation>& C);
3419 const sp<Allocation>& A, Double2 beta, const sp<Allocation>& C);
3436 const sp<Allocation>& A, const sp<Allocation>& B, float beta, const sp<Allocation>& C);
3453 const sp<Allocation>& A, const sp<Allocation>& B, double beta, const sp<Allocation>& C);
3470 const sp<Allocation>& A, const sp<Allocation>& B, Float2 beta, const sp<Allocation>& C);
3487 const sp<Allocation>& A, const sp<Allocation>& B, Double2 beta, const sp<Allocation>& C);
3505 RsBlasDiag Diag, float alpha, const sp<Allocation>& A, const sp<Allocation>& B);
3523 double alpha, const sp<Allocation>& A, const sp<Allocation>& B);
3541 Float2 alpha, const sp<Allocation>& A, const sp<Allocation>& B);
3559 Double2 alpha, const sp<Allocation>& A, const sp<Allocation>& B);
3577 float alpha, const sp<Allocation>& A, const sp<Allocation>& B);
3595 double alpha, const sp<Allocation>& A, const sp<Allocation>& B);
3613 Float2 alpha, const sp<Allocation>& A, const sp<Allocation>& B);
3631 Double2 alpha, const sp<Allocation>& A, const sp<Allocation>& B);
3647 void CHEMM(RsBlasSide Side, RsBlasUplo Uplo, Float2 alpha, const sp<Allocation>& A,
3648 const sp<Allocation>& B, Float2 beta, const sp<Allocation>& C);
3664 void ZHEMM(RsBlasSide Side, RsBlasUplo Uplo, Double2 alpha, const sp<Allocation>& A,
3665 const sp<Allocation>& B, Double2 beta, const sp<Allocation>& C);
3680 void CHERK(RsBlasUplo Uplo, RsBlasTranspose Trans, float alpha, const sp<Allocation>& A,
3681 float beta, const sp<Allocation>& C);
3696 void ZHERK(RsBlasUplo Uplo, RsBlasTranspose Trans, double alpha, const sp<Allocation>& A,
3697 double beta, const sp<Allocation>& C);
3713 void CHER2K(RsBlasUplo Uplo, RsBlasTranspose Trans, Float2 alpha, const sp<Allocation>& A,
3714 const sp<Allocation>& B, float beta, const sp<Allocation>& C);
3730 void ZHER2K(RsBlasUplo Uplo, RsBlasTranspose Trans, Double2 alpha, const sp<Allocation>& A,
3731 const sp<Allocation>& B, double beta, const sp<Allocation>& C);
3748 void BNNM(const sp<Allocation>& A, int a_offset, const sp<Allocation>& B, int b_offset, const sp<Allocation>& C,
3768 * @param[in] in input Allocation
3769 * @param[in] out output Allocation
3771 void forEachClear(const sp<Allocation>& in, const sp<Allocation>& out);
3774 * @param[in] in input Allocation
3775 * @param[in] out output Allocation
3777 void forEachSrc(const sp<Allocation>& in, const sp<Allocation>& out);
3780 * @param[in] in input Allocation
3781 * @param[in] out output Allocation
3783 void forEachDst(const sp<Allocation>& in, const sp<Allocation>& out);
3786 * @param[in] in input Allocation
3787 * @param[in] out output Allocation
3789 void forEachSrcOver(const sp<Allocation>& in, const sp<Allocation>& out);
3792 * @param[in] in input Allocation
3793 * @param[in] out output Allocation
3795 void forEachDstOver(const sp<Allocation>& in, const sp<Allocation>& out);
3798 * @param[in] in input Allocation
3799 * @param[in] out output Allocation
3801 void forEachSrcIn(const sp<Allocation>& in, const sp<Allocation>& out);
3804 * @param[in] in input Allocation
3805 * @param[in] out output Allocation
3807 void forEachDstIn(const sp<Allocation>& in, const sp<Allocation>& out);
3810 * @param[in] in input Allocation
3811 * @param[in] out output Allocation
3813 void forEachSrcOut(const sp<Allocation>& in, const sp<Allocation>& out);
3816 * @param[in] in input Allocation
3817 * @param[in] out output Allocation
3819 void forEachDstOut(const sp<Allocation>& in, const sp<Allocation>& out);
3822 * @param[in] in input Allocation
3823 * @param[in] out output Allocation
3825 void forEachSrcAtop(const sp<Allocation>& in, const sp<Allocation>& out);
3828 * @param[in] in input Allocation
3829 * @param[in] out output Allocation
3831 void forEachDstAtop(const sp<Allocation>& in, const sp<Allocation>& out);
3834 * @param[in] in input Allocation
3835 * @param[in] out output Allocation
3837 void forEachXor(const sp<Allocation>& in, const sp<Allocation>& out);
3840 * @param[in] in input Allocation
3841 * @param[in] out output Allocation
3843 void forEachMultiply(const sp<Allocation>& in, const sp<Allocation>& out);
3846 * @param[in] in input Allocation
3847 * @param[in] out output Allocation
3849 void forEachAdd(const sp<Allocation>& in, const sp<Allocation>& out);
3852 * @param[in] in input Allocation
3853 * @param[in] out output Allocation
3855 void forEachSubtract(const sp<Allocation>& in, const sp<Allocation>& out);
3860 * radius to all elements of an Allocation.
3875 * @param[in] in input Allocation
3877 void setInput(const sp<Allocation>& in);
3880 * @param[in] output Allocation
3882 void forEach(const sp<Allocation>& out);
3910 * @param[in] in input Allocation
3911 * @param[out] out output Allocation
3913 void forEach(const sp<Allocation>& in, const sp<Allocation>& out);
3969 * @param[in] in input Allocation
3971 void setInput(const sp<Allocation>& in);
3974 * @param[in] out output Allocation
3976 void forEach(const sp<Allocation>& out);
4001 * @param[in] in input Allocation
4003 void setInput(const sp<Allocation>& in);
4006 * @param[in] out output Allocation
4008 void forEach(const sp<Allocation>& out);
4022 sp<Allocation> mOut;
4042 void setOutput(const sp<Allocation>& aout);
4067 void forEach(const sp<Allocation>& ain);
4078 void forEach_dot(const sp<Allocation>& ain);
4088 sp<Allocation> LUT;
4113 void forEach(const sp<Allocation>& ain, const sp<Allocation>& aout);
4150 sp<Allocation> mInput;
4163 * Allocation is rescaled if necessary using bi-cubic
4165 * @param[in] ain input Allocation
4166 * @param[in] aout output Allocation
4168 void forEach_bicubic(const sp<Allocation>& aout);
4174 void setInput(const sp<Allocation>& ain);
4181 * as a YUV element Allocation. The output is RGBA; the alpha channel
4204 void setInput(const sp<Allocation>& in);
4212 void forEach(const sp<Allocation>& out);
4221 * Any Allocation used with a Sampler must have been created with
4223 * Allocation that was not created with