精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

OpenHarmony富設備移植指南—開源GPU驅動編譯

系統 OpenHarmony
這篇文章我打算分享一下我移植適配GPU的相關經驗,希望能幫到大家。

??想了解更多關于開源的內容,請訪問:??

??51CTO 開源基礎軟件社區??

??https://ost.51cto.com??

在OpenHarmony的各部件適配中,GPU適配是公認的最難,首先原廠安卓的驅動是沒辦法用的,后來又因為OpenHarmony3.1開始啟用了自研的Rosen合成框架取代了Weston合成框架,原來能直接用的開源圖形驅動現在也不能直接用了,新版的OpenHarmony需要圖形驅動要額外對接OpenHarmony的接口,采用閉源驅動要得到原廠的支持,這個目前走不通,所以第三方設備要啟用GPU加速只能選擇采用開源的Mesa3d驅動,所幸OpenHarmony提供了一份mesa3d的參考實現,也能使OpenHarmony流暢絲滑了,這篇文章我打算分享一下我移植適配GPU的相關經驗,希望能幫到大家。

同時在此說明一下,這些知識基本都是我在網上自學得來,不是圖形專家,沒有深入學習過圖形方面的知識,對某些圖形的專業名詞或者某些概念可能會用詞不準確或者解釋錯誤,請大家諒解。

1、OpenHarmony圖形顯示移植適配思路

首先借用一張OpenHarmony圖形能力的視圖,我們可以了解到目前OpenHarmony當前以及未來支持的能力情況。

#創作者激勵#OpenHarmony富設備移植指南(6.1)開源GPU驅動編譯-開源基礎軟件社區

之前我們點亮屏幕采用的是CPU合成+CPU渲染的技術路徑,在【2022.3】的時候開始支持的,同時采用OpenGLES接口的GPU合成+GPU渲染也在3.2Beta4【2022.12】的時候實現了,基于這個版本才能實現完整的GPU加速,可以期待一下【2023.9】基于Vulkan接口的GPU加速。

經過上面簡單介紹,可能大家對GPU圖形適配還是毫無頭緒,因為這是在引申圖形適配的一些前置知識,在此我簡單總結一下適配OH圖形需要關注兩個大點:合成和渲染,下面是簡單的解釋。

1.合成:計算處理圖層疊加關系。

2.渲染:生成需要顯示的色彩數據(buffer)。

以上是我的個人總結,可能不準確,大致先這樣分,這樣后面好進行講解移植適配的思路。

下面進入正題,因為移植GPU比較復雜,不可能一部到位,在此我拆開進行逐步實現,以便出現問題時能快速定位問題點出現在哪一部分,拆分思路如下:

1.不啟用GPU功能,在CPU合成+CPU渲染的環境下,確認GPU驅動正常工作

2.啟用部分GPU功能,在CPU合成+GPU渲染的環境下,確認GPU能正確渲染

3.啟用GPU合成+GPU渲染,加速OpenHarmony圖形顯示

2、編譯開源GPU驅動Mesa3d

(1)編譯mesa3d

安裝依賴

首先安裝編譯需要的依賴:

sudo apt-get install -y meson cmake llvm
python3 -m pip install meson==0.62.0
python -m pip install --upgrade pip
pip install mako atomic markupsafe

版本變更失效路徑修正

OpenHarmony源碼中以及帶有適配過的mesa3d庫,但是因為長時間沒有維護,部分配置需要更新:

ohos/pkgconfig_template/gbm.pc。

libdir=${ohos_project_dir}/device/rockchip/hardware/gpu
includedir=${ohos_project_dir}/device/rockchip/hardware/gpu/include
Cflags: -I${ohos_project_dir}/device/rockchip/hardware/gpu/include

替換為:

libdir=${ohos_project_dir}/device/soc/qualcomm/msm8998/hardware/gpu
includedir=${ohos_project_dir}/device/soc/qualcomm/msm8998/hardware/gpu/include
Cflags: -I${ohos_project_dir}/device/soc/qualcomm/msm8998/hardware/gpu/include

ohos/pkgconfig_template/libdrm.pc。

libdir=${ohos_project_dir}/out/ohos-arm-release/graphic/graphic_standard/
修正為:
libdir=${ohos_project_dir}/out/ohos-arm-release/thirdparty/libdrm/

ohos/pkgconfig_template/libhilog.pc。

includedir=${ohos_project_dir}/foundation/graphic/standard/rosen/include/backstore/nativewindow
修正為:
includedir=${ohos_project_dir}/base/hiviewdfx/hilog/interfaces/native/innerkits/include

ohos/pkgconfig_template/libjpeg.pc。

libdir=${ohos_project_dir}/out/ohos-arm-release/obj/third_party/libjpeg/
includedir=${ohos_project_dir}/third_party/libjpeg
Libs: -L${libdir} -ljpeg_static

修正為:

libdir=${ohos_project_dir}/out/ohos-arm-release/obj/third_party/libjpeg-turbo/
includedir=${ohos_project_dir}/third_party/libjpeg-turbo
Libs: -L${libdir} -llibturbojpeg_static

ohos/pkgconfig_template/libpng.pc。

libdir=${ohos_project_dir}/out/ohos-arm-release/common/graphic_standard/
修正為:
libdir=${ohos_project_dir}/out/ohos-arm-release/thirdparty/libpng/

ohos/meson_cross_process.py。

'-Lproject_stub/prebuilts/clang/ohos/linux-x86_64/llvm/lib/clang/10.0.1/lib/arm-linux-ohos',
'-Lproject_stub/prebuilts/clang/ohos/linux-x87_64/llvm/lib/arm-linux-ohos/c++',
修正為:
'-Lproject_stub/prebuilts/clang/ohos/linux-x86_64/llvm/lib/clang/current/lib/arm-linux-ohos',
'-Lproject_stub/prebuilts/clang/ohos/linux-x86_64/llvm/lib/arm-linux-ohos/c++',

以上是因為版本變遷需要進行的修改,下面講解適配新的GPU需要做的修改。

驅動編譯腳本64位適配

因為我適配小米6采用的是64位系統,官方的mesa庫里面的腳本是32位的,這里我采用的方法是復制原版32位的兩個相關腳本,修改為64位編譯腳本。

復制ohos/build_ohos.py為ohos/build_ohos64.py。

復制ohos/meson_cross_process.py為ohos/meson_cross_process64.py。

修改gpu驅動名以及驅動搜索路徑。

ohos/build_ohos64.py。

run_cross_pross_cmd = 'python3 ' + script_dir + '/meson_cross_process.py ' + sys.argv[1] + ' ' + sys.argv[2]
...
run_build_cmd += '-Dplatforms=ohos -Degl-native-platform=ohos -Ddri-drivers= -Dgallium-drivers=panfrost \
-Dvulkan-drivers= -Dgbm=enabled -Degl=enabled -Dcpp_rtti=false -Dglx=disabled -Dtools=panfrost -Ddri-search-path=/system/lib '

修改為:
run_cross_pross_cmd = 'python3 ' + script_dir + '/meson_cross_process64.py ' + sys.argv[1] + ' ' + sys.argv[2]
...
run_build_cmd += '-Dplatforms=ohos -Degl-native-platform=ohos -Ddri-drivers= -Dgallium-drivers=freedreno \
-Dvulkan-drivers= -Dgbm=enabled -Degl=enabled -Dcpp_rtti=false -Dglx=disabled -Dtools= -Ddri-search-path=/vendor/lib/chipsetsdk '

這里簡單解釋編譯參數需要修改的三個地方

-Dgallium-drivers=panfrost  ->  freedreno

這里修改的是開源GPU驅動的名字,panfrost是arm mali gpu對應的開源驅動的名字,freedreno是高通gpu對應的開源驅動的名字。

-Dtools=

這個是加入編譯某些可以查看gpu負載的工具,我不需要,而且加入之后編譯報錯,解決比較麻煩,暫時去掉了。

 -Ddri-search-path=/system/lib ->  /vendor/lib/chipsetsdk

這個是驅動so庫放置的路徑,原配置是3.1版本還沒有soc分離思想,所以統一放置到system/lib下了,3.2采用了soc分離思想,soc驅動統一放置到vendor下了。

如果需要編譯32位GPU驅動,只需要參考修改gpu驅動名以及驅動搜索路徑即可。

meson_cross_process64.py

模板部分

修改【arm-linux-ohosmusl】為【aarch64-linux-ohosmusl】

去掉-march,-mtune等優化參數,最后修改為:

corss_file_content='''
[properties]
needs_exe_wrapper = true

c_args = [
'--target=aarch64-linux-ohosmusl',
'--sysroot=sysroot_stub',
'-fPIC']

cpp_args = [
'--target=aarch64-linux-ohosmusl',
'--sysroot=sysroot_stub',
'-fPIC']

c_link_args = [
'--target=aarch64-linux-ohosmusl',
'-fPIC',
'--sysroot=sysroot_stub',
'-Lsysroot_stub/usr/lib/aarch64-linux-ohos',
'-Lproject_stub/prebuilts/clang/ohos/linux-x86_64/llvm/lib/clang/current/lib/aarch64-linux-ohos',
'-Lproject_stub/prebuilts/clang/ohos/linux-x86_64/llvm/lib/aarch64-linux-ohos/c++',
'--rtlib=compiler-rt',
]

cpp_link_args = [
'--target=aarch64-linux-ohosmusl',
'--sysroot=sysroot_stub',
'-Lsysroot_stub/usr/lib/aarch64-linux-ohos',
'-Lproject_stub/prebuilts/clang/ohos/linux-x86_64/llvm/lib/clang/current/lib/aarch64-linux-ohos',
'-Lproject_stub/prebuilts/clang/ohos/linux-x86_64/llvm/lib/aarch64-linux-ohos/c++',
'-fPIC',
'-Wl,--exclude-libs=libunwind_llvm.a',
'-Wl,--exclude-libs=libc++_static.a',
'-Wl,--exclude-libs=libvpx_assembly_arm.a',
'-Wl,--warn-shared-textrel',
'--rtlib=compiler-rt',
]

[binaries]
ar = 'project_stub/prebuilts/clang/ohos/linux-x86_64/llvm/bin/llvm-ar'
c = ['ccache', 'project_stub/prebuilts/clang/ohos/linux-x86_64/llvm/bin/clang']
cpp = ['ccache', 'project_stub/prebuilts/clang/ohos/linux-x86_64/llvm/bin/clang++']
c_ld= 'lld'
cpp_ld = 'lld'
strip = 'project_stub/prebuilts/clang/ohos/linux-x86_64/llvm/bin/llvm-strip'
pkgconfig = '/usr/bin/pkg-config'

[host_machine]
system = 'linux'
cpu_family = 'aarch64'
cpu = 'armv8'
endian = 'little'
'''

另外generate_pc_file函數中需要添加多一行,把pkgconfig_template中的【ohos-arm】替換為【ohos-arm64】

raw_content = raw_content.replace("ohos_project_directory_stub", project_dir)
raw_content = raw_content.replace("ohos-arm-release", product_name)
添加:
raw_content = raw_content.replace("ohos-arm", "ohos-arm64")

修改build_id獲取函數

因為OpenHarmony在elf文件里面的note信息添加了一個ohos特有的標識符,導致mesa3d獲取build_id的函數進行地址偏移計算的時候計算失誤,需要修正build_id獲取函數。

src/util/build_id.c。

#創作者激勵#OpenHarmony富設備移植指南(6.1)開源GPU驅動編譯-開源基礎軟件社區

mesa編譯

soc目錄下參照rockchip新建對應的qualcomm/msm8998/hardware/gpu目錄,include內的頭文件可復制rockchip下的文件。

修改完畢之后參照README_zh.md,在mesa3d目錄下執行py腳本進行編譯

python ohos/build_ohos64.py /home/diemit/ohos_beta5 sagit /home/diemit/ohos_beta5/third_party/mesa3d/

正常完成如下顯示。

#創作者激勵#OpenHarmony富設備移植指南(6.1)開源GPU驅動編譯-開源基礎軟件社區

3、OpenHarmony編譯框架適配

復制編譯出的lib到對應的soc/gpu目錄下

cp build-ohos/src/gallium/targets/dri/libgallium_dri.so ../../device/soc/qualcomm/msm8998/hardware/gpu/lib64
cp build-ohos/src/egl/libEGL.so.1.0.0 ../../device/soc/qualcomm/msm8998/hardware/gpu/lib64
cp build-ohos/install/lib/libGLESv1_CM.so.1.1.0 ../../device/soc/qualcomm/msm8998/hardware/gpu/lib64
cp build-ohos/install/lib/libGLESv2.so.2.0.0 ../../device/soc/qualcomm/msm8998/hardware/gpu/lib64
cp build-ohos/install/lib/libgbm.so.1.0.0 ../../device/soc/qualcomm/msm8998/hardware/gpu/lib64
cp build-ohos/install/lib/libglapi.so.0.0.0 ../../device/soc/qualcomm/msm8998/hardware/gpu/lib64

添加對應的BUILD.gn,復制對應的so文件到vendor下,并創建軟連接

import("http://build/ohos.gni")
import("http://build/ohos/ndk/ndk.gni")

ohos_prebuilt_shared_library("mesa_egl") {
source = "lib64/libEGL.so.1.0.0"
install_enable = true
part_name = "qualcomm_products"
install_images = [ chipset_base_dir ]
relative_install_dir = "chipsetsdk"
symlink_target_name = [
"libEGL.so",
"libEGL_impl.so",
]
}

ohos_prebuilt_shared_library("mesa_gbm") {
source = "lib64/libgbm.so.1.0.0"
install_enable = true
part_name = "qualcomm_products"
install_images = [ chipset_base_dir ]
relative_install_dir = "chipsetsdk"
symlink_target_name = [
"libgbm.so.1",
"libgbm.so",
]
}

ohos_prebuilt_shared_library("mesa_glapi") {
source = "lib64/libglapi.so.0.0.0"
install_enable = true
part_name = "qualcomm_products"
install_images = [ chipset_base_dir ]
relative_install_dir = "chipsetsdk"
symlink_target_name = [
"libglapi.so.0",
"libglapi.so",
]
}

ohos_prebuilt_shared_library("mesa_glesv1") {
source = "lib64/libGLESv1_CM.so.1.1.0"
install_enable = true
part_name = "qualcomm_products"
install_images = [ chipset_base_dir ]
relative_install_dir = "chipsetsdk"
symlink_target_name = [
"libGLESv1.so",
"libGLESv1_impl.so",
]
}

ohos_prebuilt_shared_library("mesa_glesv2") {
source = "lib64/libGLESv2.so.2.0.0"
install_enable = true
part_name = "qualcomm_products"
install_images = [ chipset_base_dir ]
relative_install_dir = "chipsetsdk"
symlink_target_name = [
"libGLESv2.so",
"libGLESv2_impl.so",
"libGLESv3.so",
"libGLESv3_impl.so",
]
}

ohos_prebuilt_shared_library("libgallium_dri") {
source = "lib64/libgallium_dri.so"
install_enable = true
part_name = "qualcomm_products"
install_images = [ chipset_base_dir ]
relative_install_dir = "chipsetsdk"
symlink_target_name = [
"msm_dri.so",
]
}

group("mesa3d-lib") {
deps = [
":mesa_egl",
":mesa_gbm",
":mesa_glapi",
":mesa_glesv1",
":mesa_glesv2",
":libgallium_dri",
]
}

上層BUILD.gn中添加gpu對應的lib信息。

import("http://build/ohos.gni")
group("hardware_group") {
deps = [
"gpu:mesa3d-lib",
]
}

這里可能會有的小伙伴會疑惑,為啥要復制build-ohos/src/gallium/targets/dri/libgallium_dri.so而不是build-ohos/install/lib/dri/msm_dri.so,這也是我之前遇到的問題,后來我發現dri下面那一大堆都是同一個文件,都是通過腳本從libgallium_dri.so復制過來重命名的而已,所以直接復制libgallium_dri.so即可,libgallium_dri.so可以軟連接成所有x_dri.so

#創作者激勵#OpenHarmony富設備移植指南(6.1)開源GPU驅動編譯-開源基礎軟件社區

#創作者激勵#OpenHarmony富設備移植指南(6.1)開源GPU驅動編譯-開源基礎軟件社區

另外為什么要軟連接成x_impl.so,是因為OH的代碼里面是用這個文件名進行lib的加載。

#創作者激勵#OpenHarmony富設備移植指南(6.1)開源GPU驅動編譯-開源基礎軟件社區

GPU適配這塊我是在樹莓派上首次驗證成功,細節印象還比較深刻,所以打算詳細講解,篇幅會比較長,第一篇先講解mesa編譯的坑與解決辦法,下篇講解編譯gpu測試程序,與gpu驅動程序的驗證,敬請期待。

??想了解更多關于開源的內容,請訪問:??

??51CTO 開源基礎軟件社區??

??https://ost.51cto.com??

責任編輯:jianghua 來源: 51CTO 開源基礎軟件社區
相關推薦

2023-03-10 09:47:45

OpenGL渲染設備移植

2023-03-23 16:02:07

樹莓派4GPU調試

2023-02-07 15:52:50

2023-02-06 16:21:48

2023-02-28 15:40:16

鴻蒙CPU渲染

2023-04-06 09:10:13

設備移植鴻蒙

2023-02-14 17:06:31

設備移植打包刷機

2023-02-08 15:46:50

設備移植第三方內核適配

2023-05-16 14:49:25

鴻蒙內核移植

2023-05-05 16:05:26

設備內核移植鴻蒙

2022-03-17 15:55:19

播放數字音頻解碼鴻蒙

2021-12-16 15:14:54

鴻蒙HarmonyOS應用

2022-04-15 14:31:02

鴻蒙操作系統

2022-04-01 15:18:04

HarmonyHDF 驅動鴻蒙

2021-09-08 15:23:51

鴻蒙HarmonyOS應用

2024-07-26 16:39:33

鴻蒙系統開源構建系統

2023-08-18 14:28:18

UART異步通信

2023-09-01 18:18:32

2022-10-24 14:54:29

LWIP協議鴻蒙
點贊
收藏

51CTO技術棧公眾號

蜜桃999成人看片在线观看| 午夜精品久久久久久久白皮肤| 成人3d动漫一区二区三区| 国产福利第一视频在线播放| 美国一区二区三区在线播放| 久久777国产线看观看精品| 99久久国产精| 色综合久久久| 欧美午夜精品久久久久久人妖| 亚洲成人蜜桃| 蜜桃91麻豆精品一二三区| 亚洲在线视频| 大胆人体色综合| 黄色正能量网站| 99久久999| 色丁香久综合在线久综合在线观看| 欧美日韩一级在线| 青青草在线视频免费观看| 寂寞少妇一区二区三区| 欧美又大又硬又粗bbbbb| 国精品无码一区二区三区| 日韩啪啪网站| 精品久久人人做人人爽| 色片在线免费观看| 波多视频一区| 亚洲黄色尤物视频| 亚洲国产午夜伦理片大全在线观看网站 | 精品成在人线av无码免费看| 国产色在线 com| 豆国产96在线|亚洲| 国产精品一区久久久| 国产精品999在线观看| 欧美一区在线看| 在线亚洲欧美视频| 中文字幕丰满孑伦无码专区| 成人动态视频| 欧美久久久影院| 99久久国产宗和精品1上映| av在线理伦电影| 亚洲日本电影在线| 亚洲三区在线| www视频在线观看免费| 2014亚洲片线观看视频免费| 国产尤物99| 亚洲黄色在线观看视频| 国模一区二区三区白浆| 国产在线观看91精品一区| 一级黄色在线观看| 男人的天堂亚洲| 欧美专区在线视频| 毛片毛片女人毛片毛片| 亚洲最黄网站| 6080yy精品一区二区三区| 九九九在线视频| 亚洲欧美综合| 欧美激情综合亚洲一二区| 国产性生活网站| 狠狠色丁香久久综合频道| 久久999免费视频| 九九精品在线观看视频| 国产伊人精品| 久久青草福利网站| 精品在线播放视频| 国产欧美综合一区二区三区| 国产69久久精品成人看| 中文字幕一区二区三区精品 | 性色av一区二区三区四区| 视频一区免费在线观看| 国产精品91在线| 在线观看毛片视频| 国产最新精品免费| 99久久无色码| 午夜福利视频一区二区| xfplay精品久久| 亚洲第一综合| 黄色视屏免费在线观看| 亚洲午夜一区二区三区| 丁香花在线影院观看在线播放| 91探花在线观看| 欧美日韩国产精品专区| 99蜜桃臀久久久欧美精品网站| 国产成人精品一区二三区在线观看| 欧美午夜不卡视频| 污污视频网站在线| 岛国成人av| 国产视频在线一区二区| 欧美性生交大片| 亚洲视频一区| 国产精品久久久久久久久久尿 | 91狠狠综合久久久| 欧美日韩亚洲一区三区| 日本a级片电影一区二区| 一区二区不卡视频在线观看| 国产成人av影院| 欧美亚洲免费高清在线观看| 国产在线激情| 欧美日韩美女在线| 一区二区在线免费看| 66精品视频在线观看| 亚洲欧洲自拍偷拍| 欧美成人黄色网| 久久综合中文| 国产精品免费区二区三区观看 | 麻豆国产精品va在线观看不卡| 免费毛片一区二区三区| 久久精品国产一区二区三区免费看 | 成人av手机在线观看| 日本一区二区三区免费观看 | 国产成人免费91av在线| 精品二区在线观看| 国产人伦精品一区二区| 成年人看的毛片| 国产999精品在线观看| 亚洲另类欧美自拍| 国产精品老熟女一区二区| 日韩中文字幕麻豆| 国产欧美欧洲| av毛片在线看| 欧美中文字幕一二三区视频| 91九色蝌蚪porny| 99精品视频精品精品视频| 欧美一二三视频| 亚洲AV无码一区二区三区性| 国产精品三级av在线播放| 亚欧无线一线二线三线区别| 亚洲一级大片| 久久精品国产69国产精品亚洲 | 91av久久| 欧美一区二区三区人| 在哪里可以看毛片| 日韩一级大片| 国产精品对白刺激久久久| 黄色av电影在线播放| 色婷婷综合视频在线观看| 黄色激情在线观看| 欧美黄色一区二区| 91在线免费网站| 欧美被日视频| 欧美日韩免费视频| 日本黄色激情视频| 老司机精品导航| 欧美激情论坛| 老司机2019福利精品视频导航| 亚洲第一精品久久忘忧草社区| 四虎免费在线视频| 国产高清精品久久久久| 日本精品免费视频| 精品视频一二| 欧美久久精品午夜青青大伊人 | 久久成人综合网| 午夜老司机精品| 国产在线|日韩| 国产香蕉97碰碰久久人人| 成年人视频免费| 国产三级精品三级| 中文字幕视频在线免费观看| av一区二区高清| 国产精品成人va在线观看| 成年人视频免费在线观看| 欧美日韩在线精品一区二区三区激情 | 亚洲美女色播| 久久综合久久八八| 超碰在线观看av| 亚洲一区在线免费观看| 亚洲中文字幕无码一区| 一区二区三区福利| 日韩电影免费观看在| 另类一区二区三区| 欧美成人免费在线视频| 可以免费看毛片的网站| 婷婷开心激情综合| av黄色在线免费观看| 美女任你摸久久| 91免费版看片| 另类图片第一页| 国产精品久久久久久久久久久新郎| 男人的天堂在线视频免费观看| 日韩欧美一区在线| 99精品视频99| 国产精品卡一卡二卡三| 免费欧美一级片| 亚洲综合不卡| 一区二区精品国产| 国产精品chinese在线观看| 欧美整片在线观看| 欧美96在线| 亚洲国产精品电影在线观看| 黄色网址中文字幕| 亚洲免费观看高清完整版在线 | 91影院在线播放| 亚洲一二三区不卡| 日韩免费成人av| 国产成人亚洲综合色影视| 欧美日韩一区二区在线免费观看| 欧美3p在线观看| 精品国产第一页| 免费一级欧美在线观看视频| 国内精品一区二区三区| 亚洲xxxxxx| 精品视频在线播放| 99久久99久久久精品棕色圆| 日韩欧美极品在线观看| 欧美色图亚洲天堂| 欧美国产精品久久| 国产吃瓜黑料一区二区| 蜜臀国产一区二区三区在线播放| 国产成人一区二区三区别| 久久精品国产68国产精品亚洲| 国产精品大全| 成人激情久久| 国产精品女主播| 看黄在线观看| 欧美精品久久一区二区 | 欧美日韩国产va另类| av资源种子在线观看| 亚洲精品国产精品乱码不99按摩| 国产精品久久久久久免费免熟 | a级片免费观看| 在线观看国产一区二区| a v视频在线观看| 伊人夜夜躁av伊人久久| 一本一本久久a久久| 久久精品人人做人人综合| 国产又粗又猛又色| 国产精品综合在线视频| 一级黄色录像在线观看| 日本aⅴ免费视频一区二区三区| 秋霞无码一区二区| 国模一区二区三区| 粉嫩av一区二区三区天美传媒| 久久香蕉国产| 亚洲国产日韩综合一区| 欧美综合视频| 日韩国产一区久久| 国产尤物久久久| 欧美日韩在线一区二区三区| 日韩欧美在线精品| 国产一区在线观| 欧美jizz19性欧美| 精品久久久久亚洲| 欧美18免费视频| 国产在线欧美日韩| 群体交乱之放荡娇妻一区二区| 国产欧美一区二区在线播放| 成人看片黄a免费看视频| 999在线观看免费大全电视剧| 亚洲精品乱码日韩| 成人精品一区二区三区| 国产精品诱惑| 国产在线播放不卡| 在线观看亚洲精品福利片| 川上优av一区二区线观看| 高清一区二区中文字幕| 96久久精品| 粉嫩的18在线观看极品精品| 国产一区二区高清视频| 欧美日韩一本| 奇米影视首页 狠狠色丁香婷婷久久综合| 曰本一区二区三区视频| 日本不卡一区二区三区在线观看 | 热这里只有精品| 欧美激情五月| 成人免费观看cn| 媚黑女一区二区| 无限资源日本好片| 日韩不卡免费视频| 五月天丁香花婷婷| 成人性色生活片| 特级西西人体wwwww| 久久精品一区八戒影视| 国内毛片毛片毛片毛片毛片| 亚洲人成小说网站色在线 | 国产精品成人无码专区| 26uuu亚洲综合色| 国产成人免费观看网站| 亚洲欧洲制服丝袜| 日本少妇性高潮| 在线免费观看成人短视频| 曰批又黄又爽免费视频| 日韩欧美国产综合在线一区二区三区 | 日本中文字幕中出在线| 91精品成人久久| 国产 日韩 欧美一区| 91在线中文字幕| 精品日产乱码久久久久久仙踪林| 欧美一区二区三区电影在线观看 | www.久久色.com| 3344国产永久在线观看视频| 国产成人在线亚洲欧美| 免费精品一区| 欧美精品一区在线发布| 欧美 日韩 国产精品免费观看| koreanbj精品视频一区| 久久99精品一区二区三区| 91成人在线观看喷潮蘑菇| 国产视频一区二区在线| 日韩女优一区二区| 色综合久久88色综合天天 | 亚洲精品久久久久国产| 婷婷在线视频观看| 91成品人片a无限观看| www.久久久久爱免| 欧美另类一区| 精品动漫3d一区二区三区免费版 | 国产成人无遮挡在线视频| 欧美色图亚洲激情| 一区二区三区四区视频精品免费| 一级黄色大片视频| 欧美一卡2卡3卡4卡| 国产在线三区| 久久久久久久久亚洲| 日本免费在线一区| 欧美xxxx黑人又粗又长密月 | 欧美成人免费va影院高清| 欧美特大特白屁股xxxx| 国产精品一区在线播放| 91成人看片| 成人3d动漫一区二区三区| 91在线国内视频| 日韩欧美亚洲国产| 91精品国产aⅴ一区二区| 风间由美一区| 国产97人人超碰caoprom| 国产在线播放精品| 青青视频免费在线| 寂寞少妇一区二区三区| 97人妻人人揉人人躁人人| 欧美性生交大片免费| 韩国av永久免费| 欧美乱妇40p| 57pao成人永久免费| 日韩欧美手机在线| 水野朝阳av一区二区三区| 给我免费观看片在线电影的| 一区二区三区国产豹纹内裤在线| 国产乱码精品一区二三区蜜臂| 在线观看亚洲视频| 久久久人成影片一区二区三区在哪下载 | 色哟哟亚洲精品一区二区| 日韩免费福利视频| 欧美另类高清视频在线| 欧美综合二区| 亚洲天堂久久新| 欧美网站在线观看| 天天干天天舔天天射| 国内免费精品永久在线视频| 成人爽a毛片免费啪啪红桃视频| 成人免费在线视频播放| 国产福利一区二区三区在线视频| 久久免费看少妇高潮v片特黄| 欧美日韩五月天| av在线播放av| 国产自摸综合网| 午夜精品一区二区三区国产 | 国产高潮呻吟久久久| 国产精品性做久久久久久| 久久国产精品波多野结衣| 欧美成人一区二区| 91在线超碰| 欧美日韩一区二区三区在线视频| 丝袜诱惑亚洲看片| 亚洲天堂最新地址| 欧美日韩国产综合久久| 菠萝蜜视频国产在线播放| 97伦理在线四区| 国产日韩欧美一区在线| 91中文字幕永久在线| 欧美一a一片一级一片| 麻豆电影在线播放| 99re在线观看| 国产日韩欧美一区二区三区在线观看 | 精品国产三级| 日韩a级在线观看| 久久综合九色综合欧美就去吻 | 日韩欧美亚洲国产另类| 成年女人在线看片| 欧美在线激情| 国内一区二区视频| 国产在线观看你懂的| 亚洲欧美在线x视频| 久久日本片精品aaaaa国产| 热久久最新地址| 久久久不卡影院| 亚洲综合精品视频| 7777精品视频| 久久精品播放| 三级男人添奶爽爽爽视频| 欧美艳星brazzers| 操喷在线视频| 夜夜爽www精品| 成人av在线资源| 在线免费av网| 91av在线播放| 五月精品视频| 成人免费看aa片| 欧美一级久久久| 婷婷激情一区| 国产精品久久中文字幕| 亚洲欧洲一区二区三区| 天天射天天色天天干|