Skip to content

Commit

Permalink
Add ENABLE_KERNELS build option
Browse files Browse the repository at this point in the history
cmake -DENABLE_KERNELS=OFF <workspace>/media-driver

This build option permits to exclude all shaders (kernels) from
the driver build. This provides a full open source driver build.

If someone wants to make sure that binary shaders don’t present
for sure it is possible to delete them with:
  # find . -name igcodeckrn*.c | xargs git rm
  # find . -name igvpkrn*.c | xargs git rm
Mind please that it is not needed to remove corresponding .h files
since they will be needed for successful compilation. The trick is that
0-dummy shaders will actually be fetched from
media_driver/agnostic/common/shared/dummykrn.c
By the build system

Change-Id: I90d6ea7d9dc4df01f6a3741daedc97ad422d6467
Signed-off-by: Dmitry Rogozhkin <dmitry.v.rogozhkin@intel.com>
  • Loading branch information
yangning1368 committed Dec 10, 2018
1 parent bc71759 commit 9b84413
Show file tree
Hide file tree
Showing 19 changed files with 223 additions and 80 deletions.
24 changes: 24 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,3 +34,27 @@ script:
intelmediadriver/media-driver-docker
cmake --build . -- -j 8
- ccache -s
- ccache -z
- sudo rm -rf ${TRAVIS_BUILD_DIR}/../build && mkdir ${TRAVIS_BUILD_DIR}/../build
- >
docker run
-v $HOME/.ccache:/opt/ccache
-v ${TRAVIS_BUILD_DIR}/../:/opt/src
-w /opt/src/build
-e CCACHE_DIR=/opt/ccache
intelmediadriver/media-driver-docker
cmake
-DMEDIA_VERSION="0.1.0"
-DENABLE_KERNELS=OFF
-DBUILD_TYPE=Release
../media-driver
- >
docker run
-v $HOME/.ccache:/opt/ccache
-v ${TRAVIS_BUILD_DIR}/..:/opt/src
-w /opt/src/build
-e CCACHE_DIR=/opt/ccache
intelmediadriver/media-driver-docker
cmake --build . -- -j 8
- ccache -s
- ccache -z
1 change: 1 addition & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ if("${os_name}" STREQUAL "clear-linux-os")
set(CMAKE_INSTALL_SYSCONFDIR "usr/share/defaults/etc")
endif()

option (ENABLE_KERNELS "Build driver with shaders (kernels) support" ON)
option (BUILD_CMRTLIB "Build and Install cmrtlib together with media driver" ON)

include(GNUInstallDirs)
Expand Down
85 changes: 85 additions & 0 deletions media_driver/agnostic/common/shared/dummykrn.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
/*
// Copyright (c) 2018 Intel Corporation
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the
// 'Software'), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be included
// in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/

const unsigned int IGCDUMMYKRN_SIZE = 0;
const unsigned int IGCDUMMYKRN[] = {
};

//gen8 dummy kernel
extern const unsigned int IGCODECKRN_G8_SIZE = IGCDUMMYKRN_SIZE;
extern const unsigned int* IGCODECKRN_G8;
const unsigned int* IGCODECKRN_G8 = IGCDUMMYKRN;

extern const unsigned int IGVPKRN_G8_SIZE = IGCDUMMYKRN_SIZE;
extern const unsigned int* IGVPKRN_G8;
const unsigned int* IGVPKRN_G8 = IGCDUMMYKRN;

//gen9 dummy kernel
extern const unsigned int IGCODECKRN_G9_SIZE = IGCDUMMYKRN_SIZE;
extern const unsigned int* IGCODECKRN_G9;
const unsigned int* IGCODECKRN_G9 =IGCDUMMYKRN;

extern const unsigned int IGVPKRN_G9_SIZE = IGCDUMMYKRN_SIZE;
extern const unsigned int* IGVPKRN_G9;
const unsigned int* IGVPKRN_G9 = IGCDUMMYKRN;

extern const unsigned int IGVP_HVS_DENOISE_G900_SIZE = IGCDUMMYKRN_SIZE;
extern const unsigned int* IGVP_HVS_DENOISE_G900;
const unsigned int* IGVP_HVS_DENOISE_G900 = IGCDUMMYKRN;

//gen9 bxt dummy kernel
extern const unsigned int IGCODECKRN_G9_BXT_SIZE = IGCDUMMYKRN_SIZE;
extern const unsigned int* IGCODECKRN_G9_BXT;
const unsigned int* IGCODECKRN_G9_BXT = IGCDUMMYKRN;

//gen9 kbl dummy kernel
extern const unsigned int IGCODECKRN_G9_KBL_SIZE = IGCDUMMYKRN_SIZE;
extern const unsigned int* IGCODECKRN_G9_KBL;
const unsigned int* IGCODECKRN_G9_KBL = IGCDUMMYKRN;

//gen10 dummy kernel
extern const unsigned int IGCODECKRN_G10_SIZE = IGCDUMMYKRN_SIZE;
extern const unsigned int* IGCODECKRN_G10;
const unsigned int* IGCODECKRN_G10 = IGCDUMMYKRN;

extern const unsigned int IGVPKRN_G10_SIZE = IGCDUMMYKRN_SIZE;
extern const unsigned int* IGVPKRN_G10;
const unsigned int* IGVPKRN_G10 = IGCDUMMYKRN;

//gen11 dummy kernel
extern const unsigned int IGCODECKRN_G11_SIZE = IGCDUMMYKRN_SIZE;
extern const unsigned int* IGCODECKRN_G11;
const unsigned int* IGCODECKRN_G11 = IGCDUMMYKRN;

//gen11 lp dummy kernel
extern const unsigned int IGCODECKRN_G11_ICLLP_SIZE = IGCDUMMYKRN_SIZE;
extern const unsigned int* IGCODECKRN_G11_ICLLP;
const unsigned int* IGCODECKRN_G11_ICLLP = IGCDUMMYKRN;

extern const unsigned int IGVPKRN_G11_ICLLP_SIZE = IGCDUMMYKRN_SIZE;
extern const unsigned int* IGVPKRN_G11_ICLLP;
const unsigned int* IGVPKRN_G11_ICLLP = IGCDUMMYKRN;

extern const unsigned int IGVP3DLUT_GENERATION_G11_ICLLP_SIZE = IGCDUMMYKRN_SIZE;
extern const unsigned int* IGVP3DLUT_GENERATION_G11_ICLLP;
const unsigned int* IGVP3DLUT_GENERATION_G11_ICLLP = IGCDUMMYKRN;
7 changes: 7 additions & 0 deletions media_driver/agnostic/common/shared/media_srcs.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,14 @@
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
# OTHER DEALINGS IN THE SOFTWARE.

if(NOT ENABLE_KERNELS)
set(TMP_SOURCES_
${CMAKE_CURRENT_LIST_DIR}/dummykrn.c
)
endif()

set(TMP_SOURCES_
${TMP_SOURCES_}
${CMAKE_CURRENT_LIST_DIR}/mediamemdecomp.cpp
${CMAKE_CURRENT_LIST_DIR}/media_perf_profiler.cpp
)
Expand Down
15 changes: 9 additions & 6 deletions media_driver/agnostic/gen10/codec/kernel/media_srcs.cmake
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,16 @@
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
# OTHER DEALINGS IN THE SOFTWARE.

set(TMP_SOURCES_
${CMAKE_CURRENT_LIST_DIR}/igcodeckrn_g10.c
)

set(TMP_HEADERS_
${CMAKE_CURRENT_LIST_DIR}/igcodeckrn_g10.h
)
if(ENABLE_KERNELS)
set(TMP_SOURCES_
${CMAKE_CURRENT_LIST_DIR}/igcodeckrn_g10.c
)

set(TMP_HEADERS_
${CMAKE_CURRENT_LIST_DIR}/igcodeckrn_g10.h
)
endif()

set(SOURCES_
${SOURCES_}
Expand Down
14 changes: 8 additions & 6 deletions media_driver/agnostic/gen10/vp/kernel/media_srcs.cmake
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,16 @@
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
# OTHER DEALINGS IN THE SOFTWARE.

set(TMP_SOURCES_
${CMAKE_CURRENT_LIST_DIR}/igvpkrn_g10.c
)
if(ENABLE_KERNELS)
set(TMP_SOURCES_
${CMAKE_CURRENT_LIST_DIR}/igvpkrn_g10.c
)

set(TMP_HEADERS_
${CMAKE_CURRENT_LIST_DIR}/igvpkrn_g10.h
)
endif()

set(TMP_HEADERS_
${CMAKE_CURRENT_LIST_DIR}/igvpkrn_g10.h
)

set(SOURCES_
${SOURCES_}
Expand Down
14 changes: 8 additions & 6 deletions media_driver/agnostic/gen11/codec/kernel/media_srcs.cmake
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,15 @@
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
# OTHER DEALINGS IN THE SOFTWARE.

set(TMP_SOURCES_
${CMAKE_CURRENT_LIST_DIR}/igcodeckrn_g11.c
)
if(ENABLE_KERNELS)
set(TMP_SOURCES_
${CMAKE_CURRENT_LIST_DIR}/igcodeckrn_g11.c
)

set(TMP_HEADERS_
${CMAKE_CURRENT_LIST_DIR}/igcodeckrn_g11.h
)
set(TMP_HEADERS_
${CMAKE_CURRENT_LIST_DIR}/igcodeckrn_g11.h
)
endif()

set(SOURCES_
${SOURCES_}
Expand Down
14 changes: 8 additions & 6 deletions media_driver/agnostic/gen11_icllp/codec/kernel/media_srcs.cmake
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,15 @@
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
# OTHER DEALINGS IN THE SOFTWARE.

set(TMP_SOURCES_
${CMAKE_CURRENT_LIST_DIR}/igcodeckrn_g11_icllp.c
)
if(ENABLE_KERNELS)
set(TMP_SOURCES_
${CMAKE_CURRENT_LIST_DIR}/igcodeckrn_g11_icllp.c
)

set(TMP_HEADERS_
${CMAKE_CURRENT_LIST_DIR}/igcodeckrn_g11_icllp.h
)
set(TMP_HEADERS_
${CMAKE_CURRENT_LIST_DIR}/igcodeckrn_g11_icllp.h
)
endif()

set(SOURCES_
${SOURCES_}
Expand Down
21 changes: 11 additions & 10 deletions media_driver/agnostic/gen11_icllp/vp/kernel/media_srcs.cmake
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -18,16 +18,17 @@
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
# OTHER DEALINGS IN THE SOFTWARE.

set(TMP_SOURCES_
${CMAKE_CURRENT_LIST_DIR}/igvpkrn_g11_icllp.c
${CMAKE_CURRENT_LIST_DIR}/igvpkrn_isa_g11_icllp.c
)


set(TMP_HEADERS_
${CMAKE_CURRENT_LIST_DIR}/igvpkrn_g11_icllp.h
${CMAKE_CURRENT_LIST_DIR}/igvpkrn_isa_g11_icllp.h
)
if(ENABLE_KERNELS)
set(TMP_SOURCES_
${CMAKE_CURRENT_LIST_DIR}/igvpkrn_g11_icllp.c
${CMAKE_CURRENT_LIST_DIR}/igvpkrn_isa_g11_icllp.c
)

set(TMP_HEADERS_
${CMAKE_CURRENT_LIST_DIR}/igvpkrn_g11_icllp.h
${CMAKE_CURRENT_LIST_DIR}/igvpkrn_isa_g11_icllp.h
)
endif()

set(SOURCES_
${SOURCES_}
Expand Down
14 changes: 8 additions & 6 deletions media_driver/agnostic/gen8/codec/kernel/media_srcs.cmake
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,15 @@
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
# OTHER DEALINGS IN THE SOFTWARE.

set(TMP_SOURCES_
${CMAKE_CURRENT_LIST_DIR}/igcodeckrn_g8.c
)
if(ENABLE_KERNELS)
set(TMP_SOURCES_
${CMAKE_CURRENT_LIST_DIR}/igcodeckrn_g8.c
)

set(TMP_HEADERS_
${CMAKE_CURRENT_LIST_DIR}/igcodeckrn_g8.h
)
set(TMP_HEADERS_
${CMAKE_CURRENT_LIST_DIR}/igcodeckrn_g8.h
)
endif()

set(SOURCES_
${SOURCES_}
Expand Down
17 changes: 9 additions & 8 deletions media_driver/agnostic/gen8/vp/kernel/media_srcs.cmake
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,15 @@
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
# OTHER DEALINGS IN THE SOFTWARE.

set(TMP_SOURCES_
${CMAKE_CURRENT_LIST_DIR}/igvpkrn_g8.c
)


set(TMP_HEADERS_
${CMAKE_CURRENT_LIST_DIR}/igvpkrn_g8.h
)
if(ENABLE_KERNELS)
set(TMP_SOURCES_
${CMAKE_CURRENT_LIST_DIR}/igvpkrn_g8.c
)

set(TMP_HEADERS_
${CMAKE_CURRENT_LIST_DIR}/igvpkrn_g8.h
)
endif()

set(SOURCES_
${SOURCES_}
Expand Down
14 changes: 8 additions & 6 deletions media_driver/agnostic/gen9/codec/kernel/media_srcs.cmake
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,15 @@
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
# OTHER DEALINGS IN THE SOFTWARE.

set(TMP_SOURCES_
${CMAKE_CURRENT_LIST_DIR}/igcodeckrn_g9.c
)
if(ENABLE_KERNELS)
set(TMP_SOURCES_
${CMAKE_CURRENT_LIST_DIR}/igcodeckrn_g9.c
)

set(TMP_HEADERS_
${CMAKE_CURRENT_LIST_DIR}/igcodeckrn_g9.h
)
set(TMP_HEADERS_
${CMAKE_CURRENT_LIST_DIR}/igcodeckrn_g9.h
)
endif()

set(SOURCES_
${SOURCES_}
Expand Down
21 changes: 11 additions & 10 deletions media_driver/agnostic/gen9/vp/kernel/media_srcs.cmake
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -18,16 +18,17 @@
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
# OTHER DEALINGS IN THE SOFTWARE.

set(TMP_SOURCES_
${CMAKE_CURRENT_LIST_DIR}/igvpkrn_g9.c
${CMAKE_CURRENT_LIST_DIR}/igvpkrn_isa_g9.c
)


set(TMP_HEADERS_
${CMAKE_CURRENT_LIST_DIR}/igvpkrn_g9.h
${CMAKE_CURRENT_LIST_DIR}/igvpkrn_isa_g9.h
)
if(ENABLE_KERNELS)
set(TMP_SOURCES_
${CMAKE_CURRENT_LIST_DIR}/igvpkrn_g9.c
${CMAKE_CURRENT_LIST_DIR}/igvpkrn_isa_g9.c
)

set(TMP_HEADERS_
${CMAKE_CURRENT_LIST_DIR}/igvpkrn_g9.h
${CMAKE_CURRENT_LIST_DIR}/igvpkrn_isa_g9.h
)
endif()

set(SOURCES_
${SOURCES_}
Expand Down
14 changes: 8 additions & 6 deletions media_driver/agnostic/gen9_bxt/codec/kernel/media_srcs.cmake
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,15 @@
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
# OTHER DEALINGS IN THE SOFTWARE.

set(TMP_SOURCES_
${CMAKE_CURRENT_LIST_DIR}/igcodeckrn_g9_bxt.c
)
if(ENABLE_KERNELS)
set(TMP_SOURCES_
${CMAKE_CURRENT_LIST_DIR}/igcodeckrn_g9_bxt.c
)

set(TMP_HEADERS_
${CMAKE_CURRENT_LIST_DIR}/igcodeckrn_g9_bxt.h
)
set(TMP_HEADERS_
${CMAKE_CURRENT_LIST_DIR}/igcodeckrn_g9_bxt.h
)
endif()

set(SOURCES_
${SOURCES_}
Expand Down
14 changes: 8 additions & 6 deletions media_driver/agnostic/gen9_kbl/codec/kernel/media_srcs.cmake
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,15 @@
# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
# OTHER DEALINGS IN THE SOFTWARE.

set(TMP_SOURCES_
${CMAKE_CURRENT_LIST_DIR}/igcodeckrn_g9_kbl.c
)
if(ENABLE_KERNELS)
set(TMP_SOURCES_
${CMAKE_CURRENT_LIST_DIR}/igcodeckrn_g9_kbl.c
)

set(TMP_HEADERS_
${CMAKE_CURRENT_LIST_DIR}/igcodeckrn_g9_kbl.h
)
set(TMP_HEADERS_
${CMAKE_CURRENT_LIST_DIR}/igcodeckrn_g9_kbl.h
)
endif()

set(SOURCES_
${SOURCES_}
Expand Down

0 comments on commit 9b84413

Please sign in to comment.