diff options
author | Ariadne Conill <ariadne@dereferenced.org> | 2021-03-26 04:53:10 -0600 |
---|---|---|
committer | Ariadne Conill <ariadne@dereferenced.org> | 2021-03-26 04:53:10 -0600 |
commit | 961264086400f55be0d74ea4facdbd04cbee12cc (patch) | |
tree | 654036de7acb1fa9063c5bc9a69ef300b806d305 | |
parent | 9a8576f06f3d651882656759c83f0fcea5a6648b (diff) |
community/chromium: fix DRM code to build with system libva
editor's note: DRM still sucks
-rw-r--r-- | community/chromium/APKBUILD | 4 | ||||
-rw-r--r-- | community/chromium/chromium-drm-compile-fix.patch | 86 |
2 files changed, 89 insertions, 1 deletions
diff --git a/community/chromium/APKBUILD b/community/chromium/APKBUILD index 937e1be3295..9a02cface58 100644 --- a/community/chromium/APKBUILD +++ b/community/chromium/APKBUILD @@ -110,6 +110,7 @@ source="https://commondatastorage.googleapis.com/chromium-browser-official/chrom broken-dcheck.patch unbundled-opus.patch missing-includes.patch + chromium-drm-compile-fix.patch " # secfixes: @@ -403,4 +404,5 @@ cc67d2a77910663e5a1ad5f66606ee2544867aa1fef25e1a1bc355a8db765d5928edb72f158e6a2e 9b1441fe42421ef9ead86a5143bf997d989bd53a8969cdfdf4e0c45f847efc8c1d127e15fb05e2ef5dbefbb228cbdc2849404d74997ca56265599e12e5efd6e4 elf-arm.patch 9b1431fbc94db1d10ef4f26db3329cd1c1c02e957df5e3e9a5e4fa5393e116da5712e2d8e4953fab6d699f94e511a783b5b6ef28120136e1525611c219248cfa broken-dcheck.patch be62fdc26f4ece2c41e0bbcb97ae1e5ae8400c1dcfa9d80ff5eac6725cabb83cc283666fda08d0da33d73df6faa066418b22f65de497c80a2f412430508bebef unbundled-opus.patch -18127e70bbe0756eea638d8405797b5399695c649bed4d970384d2633461114e1b3d63a768e2e53c1fbeda5a5919b41ebe3e85f6913622ce6d5ceafaa92a687b missing-includes.patch" +18127e70bbe0756eea638d8405797b5399695c649bed4d970384d2633461114e1b3d63a768e2e53c1fbeda5a5919b41ebe3e85f6913622ce6d5ceafaa92a687b missing-includes.patch +7802f04ab3012c2d04e93cc63b2d00ea89207cadfb64d5eebde13189fc7a60c31d71a6b5d19dd67a9fdfb79838477bb1f8ecf9a3d93f0ebf445d648a313e8740 chromium-drm-compile-fix.patch" diff --git a/community/chromium/chromium-drm-compile-fix.patch b/community/chromium/chromium-drm-compile-fix.patch new file mode 100644 index 00000000000..3d7b39d978f --- /dev/null +++ b/community/chromium/chromium-drm-compile-fix.patch @@ -0,0 +1,86 @@ +--- chromium-89.0.4389.90.orig/third_party/libva_protected_content/va_protected_content.h ++++ chromium-89.0.4389.90/third_party/libva_protected_content/va_protected_content.h +@@ -132,19 +132,6 @@ + #define VA_PC_SAMPLE_TYPE_FULLSAMPLE 0x00000001 + #define VA_PC_SAMPLE_TYPE_SUBSAMPLE 0x00000002 + +-/** \brief TeeExec Function Codes. */ +-typedef enum _VA_TEE_EXEC_FUNCTION_ID { +- VA_TEE_EXEC_TEE_FUNCID_PASS_THROUGH_NONE = 0x0, +- +- // 0x40000000~0x400000FFF reserved for TEE Exec GPU function +- VA_TEE_EXEC_GPU_FUNCID_ENCRYPTION_BLT = 0x40000000, +- VA_TEE_EXEC_GPU_FUNCID_DECRYPTION_BLT = 0x40000001, +- +- // 0x40001000~0x400001FFF reserved for TEE Exec TEE function +- VA_TEE_EXEC_TEE_FUNCID_PASS_THROUGH = 0x40001000, +- +-} VA_TEE_EXEC_FUNCTION_ID; +- + /** \brief values for the encryption return status. */ + typedef enum { + /** \brief Indicate encryption operation is successful.*/ +@@ -158,63 +145,6 @@ + /** \brief Indicate encryption operation is unsupport. */ + VA_ENCRYPTION_STATUS_UNSUPPORT + } VAEncryptionStatus; +- +-/** \brief structure for encrypted segment info. */ +-typedef struct _VAEncryptionSegmentInfo { +- /** \brief The offset relative to the start of the bitstream input in +- * bytes of the start of the segment*/ +- uint32_t segment_start_offset; +- /** \brief The length of the segments in bytes*/ +- uint32_t segment_length; +- /** \brief The length in bytes of the remainder of an incomplete block +- * from a previous segment*/ +- uint32_t partial_aes_block_size; +- /** \brief The length in bytes of the initial clear data */ +- uint32_t init_byte_length; +- /** \brief This will be AES 128 counter for secure decode and secure +- * encode when numSegments equals 1 */ +- uint8_t aes_cbc_iv_or_ctr[16]; +- /** \brief Reserved bytes for future use, must be zero */ +- uint32_t va_reserved[VA_PADDING_MEDIUM]; +-} VAEncryptionSegmentInfo; +- +-/** \brief encryption parameters, corresponding to +- * #VAEncryptionParameterBufferType*/ +-typedef struct _VAEncryptionParameters { +- /** \brief Encryption type, attribute values. */ +- uint32_t encryption_type; +- /** \brief The number of sengments */ +- uint32_t num_segments; +- /** \brief Pointer of segments */ +- VAEncryptionSegmentInfo* segment_info; +- /** \brief The status report index for CENC workload. +- * The value is to indicate CENC workload and needs to be +- * different for each CENC workload */ +- uint32_t status_report_index; +- /** \brief CENC counter length */ +- uint32_t size_of_length; +- /** \brief Wrapped decrypt blob (Snd)kb */ +- uint8_t wrapped_decrypt_blob[16]; +- /** \brief Wrapped Key blob info (Sne)kb */ +- uint8_t wrapped_encrypt_blob[16]; +- /** \brief Indicates the number of 16-byte BLOCKS that are encrypted in any +- * given encrypted region of segments. +- * If this value is zero: +- * 1. All bytes in encrypted region of segments are encrypted, i.e. the +- * CENC or CBC1 scheme is being used +- * 2. blocks_stripe_clear must also be zero. +- * If this value is non-zero, blocks_stripe_clear must also be non-zero. */ +- uint32_t blocks_stripe_encrypted; +- /** \brief Indicates the number of 16-byte BLOCKS that are clear in any given +- * encrypted region of segments, as defined by the CENS and CBCS schemes in +- * the common encryption spec. +- * If this value is zero, all bytes in encrypted region of segments are +- * encrypted, i.e. the CENC or CBC1 scheme is being used. +- */ +- uint32_t blocks_stripe_clear; +- /** \brief Reserved bytes for future use, must be zero */ +- uint32_t va_reserved[VA_PADDING_MEDIUM]; +-} VAEncryptionParameters; + + /** \brief structure for VA_TEE_EXEC_GPU_FUNCID_ENCRYPTION_BLT */ + typedef struct _VA_PROTECTED_BLT_PARAMS { |