diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index 40fc228e23..eacdacd138 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -407,3 +407,328 @@ jobs: .. make VERBOSE=1 -j$(nproc) sudo make install + + gcc-10-gen8-off: + runs-on: ubuntu-20.04 + env: + CC: /usr/bin/gcc-10 + CXX: /usr/bin/g++-10 + ASM: /usr/bin/gcc-10 + steps: + - name: checkout media-driver + uses: actions/checkout@v2 + with: + path: media + - name: checkout libva + uses: actions/checkout@v2 + with: + repository: intel/libva + path: libva + - name: checkout gmmlib + uses: actions/checkout@v2 + with: + repository: intel/gmmlib + path: gmmlib + - name: install prerequisites + run: | + sudo apt-get update + sudo apt-get install -y --no-install-recommends \ + cmake \ + libdrm-dev \ + libegl1-mesa-dev \ + libgl1-mesa-dev \ + libx11-dev \ + libxext-dev \ + libxfixes-dev \ + libwayland-dev \ + make + - name: print tools versions + run: | + cmake --version + $CC --version + $CXX --version + - name: build libva + run: | + cd libva + ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu + make -j$(nproc) + sudo make install + - name: build gmmlib + run: | + cd gmmlib + mkdir build && cd build + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=/usr/lib/x86_64-linux-gnu .. + make VERBOSE=1 -j$(nproc) + sudo make install + - name: build media-driver + run: | + cd media + mkdir build && cd build + cmake -DGEN8=OFF \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=/usr/lib/x86_64-linux-gnu \ + -DCMAKE_C_FLAGS_RELEASE="$_CFLAGS" \ + -DCMAKE_CXX_FLAGS_RELEASE="$_CFLAGS" \ + .. + make VERBOSE=1 -j$(nproc) + sudo make install + + gcc-10-gen9-off: + runs-on: ubuntu-20.04 + env: + CC: /usr/bin/gcc-10 + CXX: /usr/bin/g++-10 + ASM: /usr/bin/gcc-10 + steps: + - name: checkout media-driver + uses: actions/checkout@v2 + with: + path: media + - name: checkout libva + uses: actions/checkout@v2 + with: + repository: intel/libva + path: libva + - name: checkout gmmlib + uses: actions/checkout@v2 + with: + repository: intel/gmmlib + path: gmmlib + - name: install prerequisites + run: | + sudo apt-get update + sudo apt-get install -y --no-install-recommends \ + cmake \ + libdrm-dev \ + libegl1-mesa-dev \ + libgl1-mesa-dev \ + libx11-dev \ + libxext-dev \ + libxfixes-dev \ + libwayland-dev \ + make + - name: print tools versions + run: | + cmake --version + $CC --version + $CXX --version + - name: build libva + run: | + cd libva + ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu + make -j$(nproc) + sudo make install + - name: build gmmlib + run: | + cd gmmlib + mkdir build && cd build + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=/usr/lib/x86_64-linux-gnu .. + make VERBOSE=1 -j$(nproc) + sudo make install + - name: build media-driver + run: | + cd media + mkdir build && cd build + cmake -DGEN9=OFF \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=/usr/lib/x86_64-linux-gnu \ + -DCMAKE_C_FLAGS_RELEASE="$_CFLAGS" \ + -DCMAKE_CXX_FLAGS_RELEASE="$_CFLAGS" \ + .. + make VERBOSE=1 -j$(nproc) + sudo make install + + gcc-10-gen10-on: + runs-on: ubuntu-20.04 + env: + CC: /usr/bin/gcc-10 + CXX: /usr/bin/g++-10 + ASM: /usr/bin/gcc-10 + steps: + - name: checkout media-driver + uses: actions/checkout@v2 + with: + path: media + - name: checkout libva + uses: actions/checkout@v2 + with: + repository: intel/libva + path: libva + - name: checkout gmmlib + uses: actions/checkout@v2 + with: + repository: intel/gmmlib + path: gmmlib + - name: install prerequisites + run: | + sudo apt-get update + sudo apt-get install -y --no-install-recommends \ + cmake \ + libdrm-dev \ + libegl1-mesa-dev \ + libgl1-mesa-dev \ + libx11-dev \ + libxext-dev \ + libxfixes-dev \ + libwayland-dev \ + make + - name: print tools versions + run: | + cmake --version + $CC --version + $CXX --version + - name: build libva + run: | + cd libva + ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu + make -j$(nproc) + sudo make install + - name: build gmmlib + run: | + cd gmmlib + mkdir build && cd build + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=/usr/lib/x86_64-linux-gnu .. + make VERBOSE=1 -j$(nproc) + sudo make install + - name: build media-driver + run: | + cd media + mkdir build && cd build + cmake -DGEN10=ON \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=/usr/lib/x86_64-linux-gnu \ + -DCMAKE_C_FLAGS_RELEASE="$_CFLAGS" \ + -DCMAKE_CXX_FLAGS_RELEASE="$_CFLAGS" \ + .. + make VERBOSE=1 -j$(nproc) + sudo make install + + gcc-10-gen11-off: + runs-on: ubuntu-20.04 + env: + CC: /usr/bin/gcc-10 + CXX: /usr/bin/g++-10 + ASM: /usr/bin/gcc-10 + steps: + - name: checkout media-driver + uses: actions/checkout@v2 + with: + path: media + - name: checkout libva + uses: actions/checkout@v2 + with: + repository: intel/libva + path: libva + - name: checkout gmmlib + uses: actions/checkout@v2 + with: + repository: intel/gmmlib + path: gmmlib + - name: install prerequisites + run: | + sudo apt-get update + sudo apt-get install -y --no-install-recommends \ + cmake \ + libdrm-dev \ + libegl1-mesa-dev \ + libgl1-mesa-dev \ + libx11-dev \ + libxext-dev \ + libxfixes-dev \ + libwayland-dev \ + make + - name: print tools versions + run: | + cmake --version + $CC --version + $CXX --version + - name: build libva + run: | + cd libva + ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu + make -j$(nproc) + sudo make install + - name: build gmmlib + run: | + cd gmmlib + mkdir build && cd build + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=/usr/lib/x86_64-linux-gnu .. + make VERBOSE=1 -j$(nproc) + sudo make install + - name: build media-driver + run: | + cd media + mkdir build && cd build + cmake -DGEN11=OFF \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=/usr/lib/x86_64-linux-gnu \ + -DCMAKE_C_FLAGS_RELEASE="$_CFLAGS" \ + -DCMAKE_CXX_FLAGS_RELEASE="$_CFLAGS" \ + .. + make VERBOSE=1 -j$(nproc) + sudo make install + + gcc-10-gen12-off: + runs-on: ubuntu-20.04 + env: + CC: /usr/bin/gcc-10 + CXX: /usr/bin/g++-10 + ASM: /usr/bin/gcc-10 + steps: + - name: checkout media-driver + uses: actions/checkout@v2 + with: + path: media + - name: checkout libva + uses: actions/checkout@v2 + with: + repository: intel/libva + path: libva + - name: checkout gmmlib + uses: actions/checkout@v2 + with: + repository: intel/gmmlib + path: gmmlib + - name: install prerequisites + run: | + sudo apt-get update + sudo apt-get install -y --no-install-recommends \ + cmake \ + libdrm-dev \ + libegl1-mesa-dev \ + libgl1-mesa-dev \ + libx11-dev \ + libxext-dev \ + libxfixes-dev \ + libwayland-dev \ + make + - name: print tools versions + run: | + cmake --version + $CC --version + $CXX --version + - name: build libva + run: | + cd libva + ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu + make -j$(nproc) + sudo make install + - name: build gmmlib + run: | + cd gmmlib + mkdir build && cd build + cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=/usr/lib/x86_64-linux-gnu .. + make VERBOSE=1 -j$(nproc) + sudo make install + - name: build media-driver + run: | + cd media + mkdir build && cd build + cmake -DGEN12=OFF \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=/usr/lib/x86_64-linux-gnu \ + -DCMAKE_C_FLAGS_RELEASE="$_CFLAGS" \ + -DCMAKE_CXX_FLAGS_RELEASE="$_CFLAGS" \ + .. + make VERBOSE=1 -j$(nproc) + sudo make install diff --git a/media_driver/agnostic/Xe_M/media_srcs.cmake b/media_driver/agnostic/Xe_M/media_srcs.cmake index d3d5dbd8bb..988906bbb1 100644 --- a/media_driver/agnostic/Xe_M/media_srcs.cmake +++ b/media_driver/agnostic/Xe_M/media_srcs.cmake @@ -18,7 +18,7 @@ # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR # OTHER DEALINGS IN THE SOFTWARE. -if(GEN12) +if(ENABLE_REQUIRED_GEN_CODE OR GEN12) media_include_subdirectory(Xe_M_base) endif() diff --git a/media_driver/agnostic/Xe_R/media_srcs.cmake b/media_driver/agnostic/Xe_R/media_srcs.cmake index 4bcb1d29ad..de9daf48a2 100644 --- a/media_driver/agnostic/Xe_R/media_srcs.cmake +++ b/media_driver/agnostic/Xe_R/media_srcs.cmake @@ -18,7 +18,7 @@ # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR # OTHER DEALINGS IN THE SOFTWARE. -if(GEN12) +if(ENABLE_REQUIRED_GEN_CODE OR GEN12) media_include_subdirectory(Xe_HP_base) endif() diff --git a/media_driver/agnostic/media_srcs.cmake b/media_driver/agnostic/media_srcs.cmake index 7c7387a6a9..c47d64f0ad 100755 --- a/media_driver/agnostic/media_srcs.cmake +++ b/media_driver/agnostic/media_srcs.cmake @@ -298,61 +298,63 @@ if(GEN8_BDW) media_include_subdirectory(gen8_bdw) endif() -if(GEN9) +if(ENABLE_REQUIRED_GEN_CODE OR GEN9) media_include_subdirectory(gen9) endif() -if(GEN9_CML) +if(ENABLE_REQUIRED_GEN_CODE OR GEN9_CML) media_include_subdirectory(gen9_cml) endif() -if(GEN9_CMPV) +if(ENABLE_REQUIRED_GEN_CODE OR GEN9_CMPV) media_include_subdirectory(gen9_cmpv) endif() -if(GEN9_BXT) +if(ENABLE_REQUIRED_GEN_CODE OR GEN9_BXT) media_include_subdirectory(gen9_bxt) endif() -if(GEN9_SKL) +if(ENABLE_REQUIRED_GEN_CODE OR GEN9_SKL) media_include_subdirectory(gen9_skl) endif() -if(GEN9_GLK) +if(ENABLE_REQUIRED_GEN_CODE OR GEN9_GLK) media_include_subdirectory(gen9_glk) endif() -if(GEN9_KBL) +if(ENABLE_REQUIRED_GEN_CODE OR GEN9_KBL) media_include_subdirectory(gen9_kbl) endif() -if(GEN10) +if(ENABLE_REQUIRED_GEN_CODE OR GEN10) media_include_subdirectory(gen10) endif() -if(GEN11) +if(ENABLE_REQUIRED_GEN_CODE OR GEN11) media_include_subdirectory(gen11) endif() -if(GEN11_ICLLP) +if(ENABLE_REQUIRED_GEN_CODE OR GEN11_ICLLP) media_include_subdirectory(gen11_icllp) endif() -if(GEN11_JSL) +if(ENABLE_REQUIRED_GEN_CODE OR GEN11_JSL) media_include_subdirectory(gen11_jsl_ehl) endif() -if(GEN12) +if(ENABLE_REQUIRED_GEN_CODE OR GEN12) media_include_subdirectory(gen12) media_include_subdirectory(g12) media_include_subdirectory(../media_softlet/agnostic/gen12) endif() -if(GEN12_TGLLP) +if(ENABLE_REQUIRED_GEN_CODE OR GEN12_TGLLP) media_include_subdirectory(gen12_tgllp) endif() +if(ENABLE_REQUIRED_GEN_CODE OR GEN12) media_include_subdirectory(Xe_M) media_include_subdirectory(Xe_R) +endif() include(${MEDIA_EXT}/agnostic/media_srcs_ext.cmake OPTIONAL) diff --git a/media_driver/cmake/linux/media_gen_flags_linux.cmake b/media_driver/cmake/linux/media_gen_flags_linux.cmake index 936b09309b..80e6e12fd6 100644 --- a/media_driver/cmake/linux/media_gen_flags_linux.cmake +++ b/media_driver/cmake/linux/media_gen_flags_linux.cmake @@ -18,6 +18,17 @@ # ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR # OTHER DEALINGS IN THE SOFTWARE. +# TODO: Remove this option when all Gen options can successfully disable +# driver code. +# Status: +# GEN8: Done +# GEN9: TODO +# GEN10: TODO (Remove) +# GEN11: TODO +# GEN12: TODO +option(ENABLE_REQUIRED_GEN_CODE "Make per-Gen options disable only media-kernels (not driver code) if driver code is known to be required for a successful build" + ON) + option(GEN8 "Enable Gen8 support" ON) cmake_dependent_option(GEN8_BDW "Enabled BDW support (Gen8)" ON @@ -46,7 +57,7 @@ cmake_dependent_option(GEN9_CMPV "Enabled CMPV support (Gen9)" ON "GEN9" OFF) -option(GEN10 "Enable Gen10 support" ON) +option(GEN10 "Enable Gen10 support" OFF) cmake_dependent_option(GEN10_CNL "Enabled CNL support (Gen10)" ON "GEN10" OFF) diff --git a/media_driver/linux/media_srcs.cmake b/media_driver/linux/media_srcs.cmake index 0e7365d0aa..613ecea92a 100644 --- a/media_driver/linux/media_srcs.cmake +++ b/media_driver/linux/media_srcs.cmake @@ -24,43 +24,43 @@ if(GEN8) media_include_subdirectory(gen8) endif() -if(GEN9) +if(ENABLE_REQUIRED_GEN_CODE OR GEN9) media_include_subdirectory(gen9) endif() -if(GEN9_BXT) +if(ENABLE_REQUIRED_GEN_CODE OR GEN9_BXT) media_include_subdirectory(gen9_bxt) endif() -if(GEN9_SKL) +if(ENABLE_REQUIRED_GEN_CODE OR GEN9_SKL) media_include_subdirectory(gen9_skl) endif() -if(GEN9_SKL) +if(ENABLE_REQUIRED_GEN_CODE OR GEN9_SKL) media_include_subdirectory(gen9_kbl) endif() -if(GEN9_GLK) +if(ENABLE_REQUIRED_GEN_CODE OR GEN9_GLK) media_include_subdirectory(gen9_glk) endif() -if(GEN9_CFL) +if(ENABLE_REQUIRED_GEN_CODE OR GEN9_CFL) media_include_subdirectory(gen9_cfl) endif() -if(GEN10) +if(ENABLE_REQUIRED_GEN_CODE OR GEN10) media_include_subdirectory(gen10) endif() -if(GEN10_CNL) +if(ENABLE_REQUIRED_GEN_CODE OR GEN10_CNL) media_include_subdirectory(gen10_cnl) endif() -if(GEN11) +if(ENABLE_REQUIRED_GEN_CODE OR GEN11) media_include_subdirectory(gen11) endif() -if(GEN12) +if(ENABLE_REQUIRED_GEN_CODE OR GEN12) media_include_subdirectory(gen12) endif() diff --git a/media_driver/media_interface/media_srcs.cmake b/media_driver/media_interface/media_srcs.cmake index dfa7aa3f1c..e0dc45e09c 100644 --- a/media_driver/media_interface/media_srcs.cmake +++ b/media_driver/media_interface/media_srcs.cmake @@ -23,55 +23,55 @@ if(GEN8_BDW) media_include_subdirectory(media_interfaces_m8_bdw) endif() -if(GEN9_BXT) +if(ENABLE_REQUIRED_GEN_CODE OR GEN9_BXT) media_include_subdirectory(media_interfaces_m9_bxt) endif() -if(GEN9_SKL) +if(ENABLE_REQUIRED_GEN_CODE OR GEN9_SKL) media_include_subdirectory(media_interfaces_m9_skl) endif() -if(GEN9_CFL) +if(ENABLE_REQUIRED_GEN_CODE OR GEN9_CFL) media_include_subdirectory(media_interfaces_m9_cfl) endif() -if(GEN9_GLK) +if(ENABLE_REQUIRED_GEN_CODE OR GEN9_GLK) media_include_subdirectory(media_interfaces_m9_glk) endif() -if(GEN9_KBL) +if(ENABLE_REQUIRED_GEN_CODE OR GEN9_KBL) media_include_subdirectory(media_interfaces_m9_kbl) endif() -if(GEN10_CNL) +if(ENABLE_REQUIRED_GEN_CODE OR GEN10_CNL) media_include_subdirectory(media_interfaces_m10_cnl) endif() -if(GEN11_ICLLP) +if(ENABLE_REQUIRED_GEN_CODE OR GEN11_ICLLP) media_include_subdirectory(media_interfaces_m11_icllp) endif() -if(GEN11_JSL) +if(ENABLE_REQUIRED_GEN_CODE OR GEN11_JSL) media_include_subdirectory(media_interfaces_m11_jsl_ehl) endif() -if(GEN12_TGLLP) +if(ENABLE_REQUIRED_GEN_CODE OR GEN12_TGLLP) media_include_subdirectory(media_interfaces_m12_tgllp) endif() -if(GEN12_DG1) +if(ENABLE_REQUIRED_GEN_CODE OR GEN12_DG1) media_include_subdirectory(media_interfaces_m12_dg1) endif() -if(GEN12_RKL) +if(ENABLE_REQUIRED_GEN_CODE OR GEN12_RKL) media_include_subdirectory(media_interfaces_m12_rkl) endif() -if(GEN12_ADLS) +if(ENABLE_REQUIRED_GEN_CODE OR GEN12_ADLS) media_include_subdirectory(media_interfaces_m12_adls) endif() -if(GEN12_ADLP) +if(ENABLE_REQUIRED_GEN_CODE OR GEN12_ADLP) media_include_subdirectory(media_interfaces_m12_adlp) endif() diff --git a/media_driver/media_softlet/agnostic/g12/media_srcs.cmake b/media_driver/media_softlet/agnostic/g12/media_srcs.cmake index 112d6b5f51..168df9cd12 100644 --- a/media_driver/media_softlet/agnostic/g12/media_srcs.cmake +++ b/media_driver/media_softlet/agnostic/g12/media_srcs.cmake @@ -20,10 +20,10 @@ media_include_subdirectory(g12_base) -if(GEN12_TGLLP) +if(ENABLE_REQUIRED_GEN_CODE OR GEN12_TGLLP) media_include_subdirectory(g12_0) endif() -if(GEN12_DG1) +if(ENABLE_REQUIRED_GEN_CODE OR GEN12_DG1) media_include_subdirectory(g12_1) endif()