• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1name: ci
2
3on: [ push, pull_request ]
4
5env:
6  _CFLAGS: -O2 -Wformat -Wformat-security -Wall -Werror -D_FORTIFY_SOURCE=2 -fstack-protector-strong
7
8permissions: read-all
9
10jobs:
11  clang14:
12    runs-on: ubuntu-20.04
13    env:
14      CC: /usr/bin/clang-14
15      CXX: /usr/bin/clang++-14
16      ASM: /usr/bin/clang-14
17    steps:
18    - name: checkout media-driver
19      uses: actions/checkout@v4
20      with:
21        path: media
22    - name: checkout libva
23      uses: actions/checkout@v4
24      with:
25        repository: intel/libva
26        path: libva
27    - name: checkout gmmlib
28      uses: actions/checkout@v4
29      with:
30        repository: intel/gmmlib
31        path: gmmlib
32    - name: install toolchain
33      run: |
34        if [[ -e $CC && -e $CXX ]]; then \
35          echo "clang-14 already presents in the image"; \
36        else \
37          echo "clang-14 missed in the image, installing from llvm"; \
38          echo "deb [trusted=yes] http://apt.llvm.org/focal/ llvm-toolchain-focal-14 main" | sudo tee -a /etc/apt/sources.list; \
39          sudo apt-get update; \
40          sudo apt-get install -y --no-install-recommends clang-14; \
41        fi
42    - name: install prerequisites
43      run: |
44        sudo apt-get update
45        sudo apt-get install -y --no-install-recommends \
46          cmake \
47          libdrm-dev \
48          libx11-dev \
49          libxext-dev \
50          libx11-xcb-dev \
51          libxcb-dri3-dev \
52          libxfixes-dev \
53          libwayland-dev \
54          make
55    - name: print tools versions
56      run: |
57        cmake --version
58        $CC --version
59        $CXX --version
60    - name: build libva
61      run: |
62        cd libva
63        ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu
64        make -j$(nproc)
65        sudo make install
66    - name: build gmmlib
67      run: |
68        cd gmmlib
69        mkdir build && cd build
70        cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=/usr/lib/x86_64-linux-gnu ..
71        make VERBOSE=1 -j$(nproc)
72        sudo make install
73    - name: build media-driver
74      run: |
75        cd media
76        mkdir build && cd build
77        cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=/usr/lib/x86_64-linux-gnu \
78          -DCMAKE_C_FLAGS_RELEASE="$_CFLAGS" \
79          -DCMAKE_CXX_FLAGS_RELEASE="$_CFLAGS" \
80          ..
81        make VERBOSE=1 -j$(nproc)
82        sudo make install
83
84  gcc-11:
85    runs-on: ubuntu-22.04
86    env:
87      CC: /usr/bin/gcc-11
88      CXX: /usr/bin/g++-11
89      ASM: /usr/bin/gcc-11
90    steps:
91    - name: checkout media-driver
92      uses: actions/checkout@v4
93      with:
94        path: media
95    - name: checkout libva
96      uses: actions/checkout@v4
97      with:
98        repository: intel/libva
99        path: libva
100    - name: checkout gmmlib
101      uses: actions/checkout@v4
102      with:
103        repository: intel/gmmlib
104        path: gmmlib
105    - name: install prerequisites
106      run: |
107        sudo apt-get update
108        sudo apt-get install -y --no-install-recommends \
109          automake \
110          cmake \
111          gcc \
112          g++ \
113          libtool \
114          libdrm-dev \
115          libx11-dev \
116          libx11-xcb-dev \
117          libxcb-dri3-dev \
118          libxext-dev \
119          libxfixes-dev \
120          libwayland-dev \
121          ninja-build \
122          pkg-config \
123          make
124    - name: print tools versions
125      run: |
126        cmake --version
127        $CC --version
128        $CXX --version
129    - name: build libva
130      run: |
131        cd libva
132        ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu
133        make -j$(nproc)
134        sudo make install
135    - name: build gmmlib
136      run: |
137        cd gmmlib
138        mkdir build && cd build
139        cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=/usr/lib/x86_64-linux-gnu ..
140        make VERBOSE=1 -j$(nproc)
141        sudo make install
142    - name: build media-driver
143      run: |
144        cd media
145        mkdir build && cd build
146        cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=/usr/lib/x86_64-linux-gnu \
147          -DCMAKE_C_FLAGS_RELEASE="$_CFLAGS" \
148          -DCMAKE_CXX_FLAGS_RELEASE="$_CFLAGS" \
149          ..
150        make VERBOSE=1 -j$(nproc)
151        sudo make install
152
153  gcc-10:
154    runs-on: ubuntu-20.04
155    env:
156      CC: /usr/bin/gcc-10
157      CXX: /usr/bin/g++-10
158      ASM: /usr/bin/gcc-10
159    steps:
160    - name: checkout media-driver
161      uses: actions/checkout@v4
162      with:
163        path: media
164    - name: checkout libva
165      uses: actions/checkout@v4
166      with:
167        repository: intel/libva
168        path: libva
169    - name: checkout gmmlib
170      uses: actions/checkout@v4
171      with:
172        repository: intel/gmmlib
173        path: gmmlib
174    - name: install prerequisites
175      run: |
176        sudo apt-get update
177        sudo apt-get install -y --no-install-recommends \
178          cmake \
179          libdrm-dev \
180          libx11-dev \
181          libx11-xcb-dev \
182          libxcb-dri3-dev \
183          libxext-dev \
184          libxfixes-dev \
185          libwayland-dev \
186          make
187    - name: print tools versions
188      run: |
189        cmake --version
190        $CC --version
191        $CXX --version
192    - name: build libva
193      run: |
194        cd libva
195        ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu
196        make -j$(nproc)
197        sudo make install
198    - name: build gmmlib
199      run: |
200        cd gmmlib
201        mkdir build && cd build
202        cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=/usr/lib/x86_64-linux-gnu ..
203        make VERBOSE=1 -j$(nproc)
204        sudo make install
205    - name: build media-driver
206      run: |
207        cd media
208        mkdir build && cd build
209        cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=/usr/lib/x86_64-linux-gnu \
210          -DCMAKE_C_FLAGS_RELEASE="$_CFLAGS" \
211          -DCMAKE_CXX_FLAGS_RELEASE="$_CFLAGS" \
212          ..
213        make VERBOSE=1 -j$(nproc)
214        sudo make install
215
216  gcc-10-production-kmd:
217    runs-on: ubuntu-20.04
218    env:
219      CC: /usr/bin/gcc-10
220      CXX: /usr/bin/g++-10
221      ASM: /usr/bin/gcc-10
222    steps:
223    - name: checkout media-driver
224      uses: actions/checkout@v4
225      with:
226        path: media
227    - name: checkout libva
228      uses: actions/checkout@v4
229      with:
230        repository: intel/libva
231        path: libva
232    - name: checkout gmmlib
233      uses: actions/checkout@v4
234      with:
235        repository: intel/gmmlib
236        path: gmmlib
237    - name: install prerequisites
238      run: |
239        sudo apt-get update
240        sudo apt-get install -y --no-install-recommends \
241          cmake \
242          libdrm-dev \
243          libx11-dev \
244          libx11-xcb-dev \
245          libxcb-dri3-dev \
246          libxext-dev \
247          libxfixes-dev \
248          libwayland-dev \
249          make
250    - name: print tools versions
251      run: |
252        cmake --version
253        $CC --version
254        $CXX --version
255    - name: build libva
256      run: |
257        cd libva
258        ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu
259        make -j$(nproc)
260        sudo make install
261    - name: build gmmlib
262      run: |
263        cd gmmlib
264        mkdir build && cd build
265        cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=/usr/lib/x86_64-linux-gnu ..
266        make VERBOSE=1 -j$(nproc)
267        sudo make install
268    - name: build media-driver
269      run: |
270        cd media
271        mkdir build && cd build
272        cmake -DENABLE_PRODUCTION_KMD=ON \
273          -DCMAKE_INSTALL_PREFIX=/usr \
274          -DCMAKE_INSTALL_LIBDIR=/usr/lib/x86_64-linux-gnu \
275          -DCMAKE_C_FLAGS_RELEASE="$_CFLAGS" \
276          -DCMAKE_CXX_FLAGS_RELEASE="$_CFLAGS" \
277          ..
278        make VERBOSE=1 -j$(nproc)
279        sudo make install
280
281  gcc-10-nonfree-kernels-off:
282    runs-on: ubuntu-20.04
283    env:
284      CC: /usr/bin/gcc-10
285      CXX: /usr/bin/g++-10
286      ASM: /usr/bin/gcc-10
287    steps:
288    - name: checkout media-driver
289      uses: actions/checkout@v4
290      with:
291        path: media
292    - name: checkout libva
293      uses: actions/checkout@v4
294      with:
295        repository: intel/libva
296        path: libva
297    - name: checkout gmmlib
298      uses: actions/checkout@v4
299      with:
300        repository: intel/gmmlib
301        path: gmmlib
302    - name: install prerequisites
303      run: |
304        sudo apt-get update
305        sudo apt-get install -y --no-install-recommends \
306          cmake \
307          libdrm-dev \
308          libx11-dev \
309          libx11-xcb-dev \
310          libxcb-dri3-dev \
311          libxext-dev \
312          libxfixes-dev \
313          libwayland-dev \
314          make
315    - name: print tools versions
316      run: |
317        cmake --version
318        $CC --version
319        $CXX --version
320    - name: build libva
321      run: |
322        cd libva
323        ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu
324        make -j$(nproc)
325        sudo make install
326    - name: build gmmlib
327      run: |
328        cd gmmlib
329        mkdir build && cd build
330        cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=/usr/lib/x86_64-linux-gnu ..
331        make VERBOSE=1 -j$(nproc)
332        sudo make install
333    - name: build media-driver
334      run: |
335        cd media
336        mkdir build && cd build
337        cmake -DENABLE_NONFREE_KERNELS=OFF \
338          -DCMAKE_INSTALL_PREFIX=/usr \
339          -DCMAKE_INSTALL_LIBDIR=/usr/lib/x86_64-linux-gnu \
340          -DCMAKE_C_FLAGS_RELEASE="$_CFLAGS" \
341          -DCMAKE_CXX_FLAGS_RELEASE="$_CFLAGS" \
342          ..
343        make VERBOSE=1 -j$(nproc)
344        sudo make install
345
346  gcc-10-kernels-off:
347    runs-on: ubuntu-20.04
348    env:
349      CC: /usr/bin/gcc-10
350      CXX: /usr/bin/g++-10
351      ASM: /usr/bin/gcc-10
352    steps:
353    - name: checkout media-driver
354      uses: actions/checkout@v4
355      with:
356        path: media
357    - name: checkout libva
358      uses: actions/checkout@v4
359      with:
360        repository: intel/libva
361        path: libva
362    - name: checkout gmmlib
363      uses: actions/checkout@v4
364      with:
365        repository: intel/gmmlib
366        path: gmmlib
367    - name: install prerequisites
368      run: |
369        sudo apt-get update
370        sudo apt-get install -y --no-install-recommends \
371          cmake \
372          libdrm-dev \
373          libx11-dev \
374          libx11-xcb-dev \
375          libxcb-dri3-dev \
376          libxext-dev \
377          libxfixes-dev \
378          libwayland-dev \
379          make
380    - name: print tools versions
381      run: |
382        cmake --version
383        $CC --version
384        $CXX --version
385    - name: build libva
386      run: |
387        cd libva
388        ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu
389        make -j$(nproc)
390        sudo make install
391    - name: build gmmlib
392      run: |
393        cd gmmlib
394        mkdir build && cd build
395        cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=/usr/lib/x86_64-linux-gnu ..
396        make VERBOSE=1 -j$(nproc)
397        sudo make install
398    - name: build media-driver
399      run: |
400        cd media
401        mkdir build && cd build
402        cmake -DENABLE_KERNELS=OFF \
403          -DCMAKE_INSTALL_PREFIX=/usr \
404          -DCMAKE_INSTALL_LIBDIR=/usr/lib/x86_64-linux-gnu \
405          -DCMAKE_C_FLAGS_RELEASE="$_CFLAGS" \
406          -DCMAKE_CXX_FLAGS_RELEASE="$_CFLAGS" \
407          ..
408        make VERBOSE=1 -j$(nproc)
409        sudo make install
410
411  gcc-10-gen8-off:
412    runs-on: ubuntu-20.04
413    env:
414      CC: /usr/bin/gcc-10
415      CXX: /usr/bin/g++-10
416      ASM: /usr/bin/gcc-10
417    steps:
418    - name: checkout media-driver
419      uses: actions/checkout@v4
420      with:
421        path: media
422    - name: checkout libva
423      uses: actions/checkout@v4
424      with:
425        repository: intel/libva
426        path: libva
427    - name: checkout gmmlib
428      uses: actions/checkout@v4
429      with:
430        repository: intel/gmmlib
431        path: gmmlib
432    - name: install prerequisites
433      run: |
434        sudo apt-get update
435        sudo apt-get install -y --no-install-recommends \
436          cmake \
437          libdrm-dev \
438          libx11-dev \
439          libx11-xcb-dev \
440          libxcb-dri3-dev \
441          libxext-dev \
442          libxfixes-dev \
443          libwayland-dev \
444          make
445    - name: print tools versions
446      run: |
447        cmake --version
448        $CC --version
449        $CXX --version
450    - name: build libva
451      run: |
452        cd libva
453        ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu
454        make -j$(nproc)
455        sudo make install
456    - name: build gmmlib
457      run: |
458        cd gmmlib
459        mkdir build && cd build
460        cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=/usr/lib/x86_64-linux-gnu ..
461        make VERBOSE=1 -j$(nproc)
462        sudo make install
463    - name: build media-driver
464      run: |
465        cd media
466        mkdir build && cd build
467        cmake -DGEN8=OFF \
468          -DCMAKE_INSTALL_PREFIX=/usr \
469          -DCMAKE_INSTALL_LIBDIR=/usr/lib/x86_64-linux-gnu \
470          -DCMAKE_C_FLAGS_RELEASE="$_CFLAGS" \
471          -DCMAKE_CXX_FLAGS_RELEASE="$_CFLAGS" \
472          ..
473        make VERBOSE=1 -j$(nproc)
474        sudo make install
475
476  gcc-10-gen9-off:
477    runs-on: ubuntu-20.04
478    env:
479      CC: /usr/bin/gcc-10
480      CXX: /usr/bin/g++-10
481      ASM: /usr/bin/gcc-10
482    steps:
483    - name: checkout media-driver
484      uses: actions/checkout@v4
485      with:
486        path: media
487    - name: checkout libva
488      uses: actions/checkout@v4
489      with:
490        repository: intel/libva
491        path: libva
492    - name: checkout gmmlib
493      uses: actions/checkout@v4
494      with:
495        repository: intel/gmmlib
496        path: gmmlib
497    - name: install prerequisites
498      run: |
499        sudo apt-get update
500        sudo apt-get install -y --no-install-recommends \
501          cmake \
502          libdrm-dev \
503          libx11-dev \
504          libx11-xcb-dev \
505          libxcb-dri3-dev \
506          libxext-dev \
507          libxfixes-dev \
508          libwayland-dev \
509          make
510    - name: print tools versions
511      run: |
512        cmake --version
513        $CC --version
514        $CXX --version
515    - name: build libva
516      run: |
517        cd libva
518        ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu
519        make -j$(nproc)
520        sudo make install
521    - name: build gmmlib
522      run: |
523        cd gmmlib
524        mkdir build && cd build
525        cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=/usr/lib/x86_64-linux-gnu ..
526        make VERBOSE=1 -j$(nproc)
527        sudo make install
528    - name: build media-driver
529      run: |
530        cd media
531        mkdir build && cd build
532        cmake -DGEN9=OFF \
533          -DCMAKE_INSTALL_PREFIX=/usr \
534          -DCMAKE_INSTALL_LIBDIR=/usr/lib/x86_64-linux-gnu \
535          -DCMAKE_C_FLAGS_RELEASE="$_CFLAGS" \
536          -DCMAKE_CXX_FLAGS_RELEASE="$_CFLAGS" \
537          ..
538        make VERBOSE=1 -j$(nproc)
539        sudo make install
540
541  gcc-10-gen11-off:
542    runs-on: ubuntu-20.04
543    env:
544      CC: /usr/bin/gcc-10
545      CXX: /usr/bin/g++-10
546      ASM: /usr/bin/gcc-10
547    steps:
548    - name: checkout media-driver
549      uses: actions/checkout@v4
550      with:
551        path: media
552    - name: checkout libva
553      uses: actions/checkout@v4
554      with:
555        repository: intel/libva
556        path: libva
557    - name: checkout gmmlib
558      uses: actions/checkout@v4
559      with:
560        repository: intel/gmmlib
561        path: gmmlib
562    - name: install prerequisites
563      run: |
564        sudo apt-get update
565        sudo apt-get install -y --no-install-recommends \
566          cmake \
567          libdrm-dev \
568          libx11-dev \
569          libx11-xcb-dev \
570          libxcb-dri3-dev \
571          libxext-dev \
572          libxfixes-dev \
573          libwayland-dev \
574          make
575    - name: print tools versions
576      run: |
577        cmake --version
578        $CC --version
579        $CXX --version
580    - name: build libva
581      run: |
582        cd libva
583        ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu
584        make -j$(nproc)
585        sudo make install
586    - name: build gmmlib
587      run: |
588        cd gmmlib
589        mkdir build && cd build
590        cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=/usr/lib/x86_64-linux-gnu ..
591        make VERBOSE=1 -j$(nproc)
592        sudo make install
593    - name: build media-driver
594      run: |
595        cd media
596        mkdir build && cd build
597        cmake -DGEN11=OFF \
598          -DCMAKE_INSTALL_PREFIX=/usr \
599          -DCMAKE_INSTALL_LIBDIR=/usr/lib/x86_64-linux-gnu \
600          -DCMAKE_C_FLAGS_RELEASE="$_CFLAGS" \
601          -DCMAKE_CXX_FLAGS_RELEASE="$_CFLAGS" \
602          ..
603        make VERBOSE=1 -j$(nproc)
604        sudo make install
605
606  gcc-10-gen12-off:
607    runs-on: ubuntu-20.04
608    env:
609      CC: /usr/bin/gcc-10
610      CXX: /usr/bin/g++-10
611      ASM: /usr/bin/gcc-10
612    steps:
613    - name: checkout media-driver
614      uses: actions/checkout@v4
615      with:
616        path: media
617    - name: checkout libva
618      uses: actions/checkout@v4
619      with:
620        repository: intel/libva
621        path: libva
622    - name: checkout gmmlib
623      uses: actions/checkout@v4
624      with:
625        repository: intel/gmmlib
626        path: gmmlib
627    - name: install prerequisites
628      run: |
629        sudo apt-get update
630        sudo apt-get install -y --no-install-recommends \
631          cmake \
632          libdrm-dev \
633          libx11-dev \
634          libx11-xcb-dev \
635          libxcb-dri3-dev \
636          libxext-dev \
637          libxfixes-dev \
638          libwayland-dev \
639          make
640    - name: print tools versions
641      run: |
642        cmake --version
643        $CC --version
644        $CXX --version
645    - name: build libva
646      run: |
647        cd libva
648        ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu
649        make -j$(nproc)
650        sudo make install
651    - name: build gmmlib
652      run: |
653        cd gmmlib
654        mkdir build && cd build
655        cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=/usr/lib/x86_64-linux-gnu ..
656        make VERBOSE=1 -j$(nproc)
657        sudo make install
658    - name: build media-driver
659      run: |
660        cd media
661        mkdir build && cd build
662        cmake -DGEN12=OFF \
663          -DCMAKE_INSTALL_PREFIX=/usr \
664          -DCMAKE_INSTALL_LIBDIR=/usr/lib/x86_64-linux-gnu \
665          -DCMAKE_C_FLAGS_RELEASE="$_CFLAGS" \
666          -DCMAKE_CXX_FLAGS_RELEASE="$_CFLAGS" \
667          ..
668        make VERBOSE=1 -j$(nproc)
669        sudo make install
670
671  gcc-10-mtl-off:
672    runs-on: ubuntu-20.04
673    env:
674      CC: /usr/bin/gcc-10
675      CXX: /usr/bin/g++-10
676      ASM: /usr/bin/gcc-10
677    steps:
678    - name: checkout media-driver
679      uses: actions/checkout@v4
680      with:
681        path: media
682    - name: checkout libva
683      uses: actions/checkout@v4
684      with:
685        repository: intel/libva
686        path: libva
687    - name: checkout gmmlib
688      uses: actions/checkout@v4
689      with:
690        repository: intel/gmmlib
691        path: gmmlib
692    - name: install prerequisites
693      run: |
694        sudo apt-get update
695        sudo apt-get install -y --no-install-recommends \
696          cmake \
697          libdrm-dev \
698          libx11-dev \
699          libx11-xcb-dev \
700          libxcb-dri3-dev \
701          libxext-dev \
702          libxfixes-dev \
703          libwayland-dev \
704          make
705    - name: print tools versions
706      run: |
707        cmake --version
708        $CC --version
709        $CXX --version
710    - name: build libva
711      run: |
712        cd libva
713        ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu
714        make -j$(nproc)
715        sudo make install
716    - name: build gmmlib
717      run: |
718        cd gmmlib
719        mkdir build && cd build
720        cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=/usr/lib/x86_64-linux-gnu ..
721        make VERBOSE=1 -j$(nproc)
722        sudo make install
723    - name: build media-driver
724      run: |
725        cd media
726        mkdir build && cd build
727        cmake -DMTL=OFF \
728          -DCMAKE_INSTALL_PREFIX=/usr \
729          -DCMAKE_INSTALL_LIBDIR=/usr/lib/x86_64-linux-gnu \
730          -DCMAKE_C_FLAGS_RELEASE="$_CFLAGS" \
731          -DCMAKE_CXX_FLAGS_RELEASE="$_CFLAGS" \
732          ..
733        make VERBOSE=1 -j$(nproc)
734        sudo make install
735
736  gcc-10-arl-off:
737    runs-on: ubuntu-20.04
738    env:
739      CC: /usr/bin/gcc-10
740      CXX: /usr/bin/g++-10
741      ASM: /usr/bin/gcc-10
742    steps:
743    - name: checkout media-driver
744      uses: actions/checkout@v4
745      with:
746        path: media
747    - name: checkout libva
748      uses: actions/checkout@v4
749      with:
750        repository: intel/libva
751        path: libva
752    - name: checkout gmmlib
753      uses: actions/checkout@v4
754      with:
755        repository: intel/gmmlib
756        path: gmmlib
757    - name: install prerequisites
758      run: |
759        sudo apt-get update
760        sudo apt-get install -y --no-install-recommends \
761          cmake \
762          libdrm-dev \
763          libx11-dev \
764          libx11-xcb-dev \
765          libxcb-dri3-dev \
766          libxext-dev \
767          libxfixes-dev \
768          libwayland-dev \
769          make
770    - name: print tools versions
771      run: |
772        cmake --version
773        $CC --version
774        $CXX --version
775    - name: build libva
776      run: |
777        cd libva
778        ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu
779        make -j$(nproc)
780        sudo make install
781    - name: build gmmlib
782      run: |
783        cd gmmlib
784        mkdir build && cd build
785        cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=/usr/lib/x86_64-linux-gnu ..
786        make VERBOSE=1 -j$(nproc)
787        sudo make install
788    - name: build media-driver
789      run: |
790        cd media
791        mkdir build && cd build
792        cmake -DARL=OFF \
793          -DCMAKE_INSTALL_PREFIX=/usr \
794          -DCMAKE_INSTALL_LIBDIR=/usr/lib/x86_64-linux-gnu \
795          -DCMAKE_C_FLAGS_RELEASE="$_CFLAGS" \
796          -DCMAKE_CXX_FLAGS_RELEASE="$_CFLAGS" \
797          ..
798        make VERBOSE=1 -j$(nproc)
799        sudo make install
800
801  gcc-10-AVC-HEVC-exclude:
802    runs-on: ubuntu-20.04
803    env:
804      CC: /usr/bin/gcc-10
805      CXX: /usr/bin/g++-10
806      ASM: /usr/bin/gcc-10
807    steps:
808    - name: checkout media-driver
809      uses: actions/checkout@v4
810      with:
811        path: media
812    - name: checkout libva
813      uses: actions/checkout@v4
814      with:
815        repository: intel/libva
816        path: libva
817    - name: checkout gmmlib
818      uses: actions/checkout@v4
819      with:
820        repository: intel/gmmlib
821        path: gmmlib
822    - name: install prerequisites
823      run: |
824        sudo apt-get update
825        sudo apt-get install -y --no-install-recommends \
826          cmake \
827          libdrm-dev \
828          libegl1-mesa-dev \
829          libgl1-mesa-dev \
830          libx11-dev \
831          libx11-xcb-dev \
832          libxcb-dri3-dev \
833          libxext-dev \
834          libxfixes-dev \
835          libwayland-dev \
836          make
837    - name: print tools versions
838      run: |
839        cmake --version
840        $CC --version
841        $CXX --version
842    - name: build libva
843      run: |
844        cd libva
845        ./autogen.sh --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu
846        make -j$(nproc)
847        sudo make install
848    - name: build gmmlib
849      run: |
850        cd gmmlib
851        mkdir build && cd build
852        cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=/usr/lib/x86_64-linux-gnu ..
853        make VERBOSE=1 -j$(nproc)
854        sudo make install
855    - name: build media-driver
856      run: |
857        cd media
858        mkdir build && cd build
859        cmake -DENABLE_NONFREE_KERNELS=ON \
860          -DENABLE_KERNELS=ON \
861          -DCMAKE_INSTALL_PREFIX=/usr \
862          -DCMAKE_INSTALL_LIBDIR=/usr/lib/x86_64-linux-gnu \
863          -DCMAKE_C_FLAGS_RELEASE="$_CFLAGS" \
864          -DCMAKE_CXX_FLAGS_RELEASE="$_CFLAGS" \
865          -DVC1_Decode_Supported="no" \
866          -DAVC_Encode_VME_Supported="no" \
867          -DAVC_Encode_VDEnc_Supported="no" \
868          -DHEVC_Encode_VME_Supported="no" \
869          -DHEVC_Encode_VDEnc_Supported="no" \
870          -DAVC_Decode_Supported="no" \
871          -DHEVC_Decode_Supported="no" \
872          -DAVC_Decode_Supported="no" \
873          ..
874        make VERBOSE=1 -j$(nproc)
875        sudo make install
876