Skip to content

Commit cd8aaad

Browse files
authored
Merge pull request #90 from rhubert/rh-mesa-intel
Mesa: add support for intel / X11
2 parents 2061374 + 06a6a2f commit cd8aaad

31 files changed

Lines changed: 862 additions & 75 deletions

classes/wayland-scanner.yaml

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,14 @@ depends:
88
depends:
99
- name: graphics::wayland::wayland-scanner
1010
use: [tools]
11+
if: "${BASEMENT_HAS_WAYLAND:-true}"
1112

12-
buildToolsWeak: [wayland-scanner]
13+
buildToolsWeak:
14+
- name: wayland-scanner
15+
if: ${BASEMENT_HAS_WAYLAND:-true}
16+
buildVars: [BASEMENT_HAS_WAYLAND]
1317
buildSetup: |
14-
# add wayland-scanner to the pkg-config lib path, so it could be found by others
15-
export PKG_CONFIG_LIBDIR+=":${BOB_TOOL_PATHS[wayland-scanner]}/../lib/pkgconfig"
18+
if ${BASEMENT_HAS_WAYLAND:-true} ; then
19+
# add wayland-scanner to the pkg-config lib path, so it could be found by others
20+
export PKG_CONFIG_LIBDIR+=":${BOB_TOOL_PATHS[wayland-scanner]}/../lib/pkgconfig"
21+
fi

config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
bobMinimumVersion: "1.0"
1+
bobMinimumVersion: "1.1.0rc1"
22
layers:
33
- basement

recipes/devel/makedepend.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ metaEnvironment:
44
PKG_VERSION: "1.0.5"
55

66
depends:
7-
- graphics::xorg::proto::xproto
7+
- graphics::xorg::proto::xorgproto
88

99
checkoutSCM:
1010
scm: url
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
inherit: [autotools]
2+
3+
metaEnvironment:
4+
PKG_LICENSE: "X11"
5+
PKG_VERSION: "1.17.0"
6+
7+
checkoutSCM:
8+
scm: url
9+
url: https://xcb.freedesktop.org/dist/xcb-proto-${PKG_VERSION}.tar.xz
10+
digestSHA256: 2c1bacd2110f4799f74de6ebb714b94cf6f80fb112316b1219480fd22562148c
11+
stripComponents: 1
12+
13+
buildTools: [python3]
14+
buildScript: |
15+
export PYTHON=python3
16+
autotoolsBuild $1
17+
18+
packageScript: |
19+
autotoolsPackageDev $1 \
20+
"usr/share/***" "usr/lib/python*/***"
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
inherit: [autotools]
2+
3+
metaEnvironment:
4+
PKG_VERSION: "2024.1"
5+
6+
checkoutSCM:
7+
scm: url
8+
url: https://www.x.org/archive/individual/proto/xorgproto-${PKG_VERSION}.tar.xz
9+
digestSHA1: "49a078b1150463d0b633c6c75becf291b318a8c8"
10+
stripComponents: 1
11+
12+
buildScript: |
13+
autotoolsBuild $1
14+
15+
packageScript: |
16+
autotoolsPackageDev

recipes/graphics/xorg/proto/xproto.yaml

Lines changed: 0 additions & 16 deletions
This file was deleted.
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
inherit: [autotools]
2+
3+
metaEnvironment:
4+
PKG_VERSION: "1.20.2"
5+
PKG_LICENSE: "MIT"
6+
7+
checkoutSCM:
8+
scm: url
9+
url: https://www.x.org/archive/individual/util/util-macros-${PKG_VERSION}.tar.xz
10+
digestSHA256: 9ac269eba24f672d7d7b3574e4be5f333d13f04a7712303b1821b2a51ac82e8e
11+
stripComponents: 1
12+
13+
buildScript: |
14+
autotoolsBuild $1
15+
16+
packageScript: |
17+
autotoolsPackageDev $1 "usr/share/***"

recipes/libs/libunwind.yaml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
inherit: [autotools]
2+
3+
metaEnvironment:
4+
PKG_LICENSE: "MIT"
5+
PKG_VERSION: "1.8.1"
6+
7+
checkoutSCM:
8+
scm: url
9+
url: ${GITHUB_MIRROR}/libunwind/libunwind/releases/download/v${PKG_VERSION}/libunwind-${PKG_VERSION}.tar.gz
10+
digestSHA256: ddf0e32dd5fafe5283198d37e4bf9decf7ba1770b6e7e006c33e6df79e6a6157
11+
stripComponents: 1
12+
13+
buildScript: |
14+
autotoolsBuild $1 --disable-tests
15+
16+
multiPackage:
17+
dev:
18+
packageScript: autotoolsPackageDev
19+
tgt:
20+
packageScript: autotoolsPackageTgt

recipes/libs/mesa3d.yaml

Lines changed: 179 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,68 +1,204 @@
11
inherit: [meson, wayland-scanner]
22

33
metaEnvironment:
4-
PKG_VERSION: "24.2.8"
4+
PKG_DESCRIPTION: "Mesa OpenGL library"
5+
PKG_VERSION: "25.0.5"
56
PKG_LICENSE: "MIT, SGI, Khronos"
67

7-
depends:
8-
- libs::zlib-dev
9-
- virtual::libs::libdrm-dev
10-
- graphics::wayland::wayland-protocols
11-
- graphics::wayland::wayland-dev
8+
Config:
9+
MESA3D_GALLIUM_DRIVERS:
10+
help: "List of gallium drivers to build"
11+
type: str
12+
# crocus,etnaviv,freedreno,i915,iris,lima,nouveau,panfrost,r300,r600,radeonsi,svga,softpipe,llvmpipe,tegra,v3d,vc4,virgl
13+
# this is the maximum we support right now:
14+
default: "crocus,lima,panfrost,svga,nouveau,tegra,v3d,vc4,virgl"
15+
MESA3D_GLX:
16+
help: "Build support for GLX platform. Default: disabled"
17+
type: choice
18+
choice:
19+
auto:
20+
disabled:
21+
dri:
22+
xlib:
23+
default: "disabled"
24+
MESA3D_GLX_READ_ONLY_TEXT:
25+
help: "Disable writable .text section on x86"
26+
type: bool
27+
default: False
28+
MESA3D_PLATFORM:
29+
help: "Window system to support. Default: wayland"
30+
type: choice
31+
choice:
32+
wayland:
33+
x11:
34+
default: wayland
1235

36+
depends:
1337
- tools:
1438
target-toolchain: host-compat-toolchain
1539
depends:
1640
- python::mako
1741
- python::pyyaml
18-
- python::pycparser
42+
- name: python::pycparser
43+
if: "$(eq,$MESA3D_PLATFORM,wayland)"
1944

45+
- libs::expat-dev
2046
- use: []
2147
depends:
22-
- libs::zlib-tgt
23-
- virtual::libs::libdrm-tgt
24-
- graphics::wayland::wayland-tgt
48+
- libs::expat-tgt
2549

2650
checkoutSCM:
2751
scm: url
2852
url: https://archive.mesa3d.org/mesa-${PKG_VERSION}.tar.xz
29-
digestSHA1: c7994d1bf40879518b6ae331dd92e04b6e9d436e
53+
digestSHA1: d6427cb320fcbd8bbe223ad69b16619391812fee
3054
stripComponents: 1
3155

3256
buildTools: [bison, flex, m4]
33-
buildVars: [CONFIG_MESA3D_GALLIUM_DRIVERS]
34-
buildScript: |
35-
# crocus,etnaviv,freedreno,i915,iris,lima,nouveau,panfrost,r300,r600,radeonsi,svga,softpipe,llvmpipe,tegra,v3d,vc4,virgl
36-
# this is the maximum we support right now:
37-
CONFIG_MESA3D_GALLIUM_DRIVERS=${CONFIG_MESA3D_GALLIUM_DRIVERS:-crocus,lima,panfrost,svga,nouveau,tegra,v3d,vc4,virgl}
38-
39-
mesonBuild $1 \
40-
-Dglx=disabled \
41-
-Dgallium-xa=disabled \
42-
-Dglvnd=disabled \
43-
-Dgallium-opencl=disabled \
44-
-Dgallium-drivers="$CONFIG_MESA3D_GALLIUM_DRIVERS" \
45-
-Dvulkan-drivers="" \
46-
-Dplatforms=wayland \
47-
-Dgbm=enabled \
48-
-Degl=enabled \
49-
-Dopengl=false \
50-
-Dshared-glapi=enabled \
51-
-Dgles1=enabled \
52-
-Dgles2=enabled
5357

5458
multiPackage:
59+
clc:
60+
depends:
61+
- devel::llvm-libclc-dev
62+
- libs::spirv-tools-dev
63+
- libs::spirv-llvm-translator-dev
64+
- use: []
65+
depends:
66+
- devel::llvm-libclc-tgt
67+
- libs::spirv-tools-tgt
68+
- libs::spirv-llvm-translator-tgt
69+
buildTools: [llvm]
70+
buildSetup: |
71+
if [ -e cross_file.txt ] && ! grep -q llvm-config cross_file.txt ; then
72+
sed -i \
73+
"/\[binaries\]/a llvm-config = '${BOB_DEP_PATHS['devel::llvm-libs-dev']}\/usr\/bin\/llvm-config'" \
74+
cross_file.txt
75+
fi
76+
77+
buildScript: |
78+
mesonBuild $1 \
79+
-Dintel-clc=enabled \
80+
-Dinstall-intel-clc=True \
81+
-Dmesa-clc=enabled \
82+
-Dinstall-mesa-clc=True \
83+
-Dgallium-xa=disabled \
84+
-Dglvnd=disabled \
85+
-Dgallium-opencl=disabled \
86+
-Dgallium-drivers="" \
87+
-Dvulkan-drivers="" \
88+
-Dplatforms="" \
89+
-Dvalgrind=disabled \
90+
-Dosmesa=false \
91+
-Dshared-llvm=disabled \
92+
93+
multiPackage:
94+
dev:
95+
packageScript: mesonPackageDev
96+
provideDeps: ['*-dev']
97+
tgt:
98+
packageScript: mesonPackageLibs
99+
provideDeps: ['*-tgt']
100+
"":
101+
depends:
102+
- use: []
103+
name: libs::mesa3d-clc-tgt
104+
provideDeps: ['*-tgt']
105+
packageScript: |
106+
mesonPackageBin
107+
provideTools:
108+
mesa_clc: "usr/bin"
109+
55110
"":
56111
depends:
57-
- name: libs::mesa3d-tgt
58-
use: []
59-
packageScript: mesonPackageBin
60-
provideDeps: [ "*-tgt" ]
61-
62-
dev:
63-
packageScript: mesonPackageDev
64-
provideDeps: [ "*-dev" ]
65-
66-
tgt:
67-
packageScript: mesonPackageLib
68-
provideDeps: [ "*-tgt" ]
112+
113+
- if: "$(eq,$MESA3D_PLATFORM,wayland)"
114+
depends:
115+
- graphics::wayland::wayland-protocols
116+
- graphics::wayland::wayland-dev
117+
118+
- if: "$(eq,$MESA3D_PLATFORM,x11)"
119+
depends:
120+
- graphics::xorg::proto::xorgproto
121+
- libs::xcb::libxcb-dev
122+
- libs::xorg::libX11-dev
123+
- libs::xorg::libXdamage-dev
124+
- libs::xorg::libXext-dev
125+
- libs::xorg::libXfixes-dev
126+
- libs::xorg::libXrandr-dev
127+
- libs::xorg::libXshmfence-dev
128+
- libs::xorg::libXt-dev
129+
- libs::xorg::libXxf86vm-dev
130+
- virtual::core::udev-dev
131+
132+
- if: "$(match,$MESA3D_GALLIUM_DRIVERS,iris)"
133+
tools:
134+
target-toolchain: host-compat-toolchain
135+
depends:
136+
- name: libs::mesa3d-clc
137+
use: [tools]
138+
139+
- libs::libunwind-dev
140+
- libs::zlib-dev
141+
- virtual::libs::libdrm-dev
142+
- use: []
143+
depends:
144+
- libs::libunwind-tgt
145+
- libs::zlib-tgt
146+
- virtual::libs::libdrm-tgt
147+
148+
- if: "$(eq,$MESA3D_PLATFORM,wayland)"
149+
name: graphics::wayland::wayland-tgt
150+
151+
- if: "$(eq,$MESA3D_PLATFORM,x11)"
152+
depends:
153+
- libs::xcb::libxcb-tgt
154+
- libs::xorg::libX11-tgt
155+
- libs::xorg::libXdamage-tgt
156+
- libs::xorg::libXext-tgt
157+
- libs::xorg::libXfixes-tgt
158+
- libs::xorg::libXrandr-tgt
159+
- libs::xorg::libXshmfence-tgt
160+
- libs::xorg::libXt-tgt
161+
- libs::xorg::libXxf86vm-tgt
162+
- virtual::core::udev-tgt
163+
164+
buildTools:
165+
- if: "$(match,$MESA3D_GALLIUM_DRIVERS,iris)"
166+
name: mesa_clc
167+
buildVars: [MESA3D_GALLIUM_DRIVERS, MESA3D_GLX, MESA3D_PLATFORM,
168+
MESA3D_GLX_READ_ONLY_TEXT]
169+
buildScript: |
170+
mesonBuild $1 \
171+
-Dglx=${MESA3D_GLX} \
172+
-Dgallium-xa=disabled \
173+
-Dglvnd=disabled \
174+
-Dgallium-opencl=disabled \
175+
-Dgallium-drivers="$MESA3D_GALLIUM_DRIVERS" \
176+
-Dvulkan-drivers="" \
177+
-Dplatforms=${MESA3D_PLATFORM} \
178+
-Dgbm=enabled \
179+
-Degl=enabled \
180+
-Dshared-glapi=enabled \
181+
-Dgles1=enabled \
182+
-Dgles2=enabled \
183+
-Dglx-read-only-text=$([[ $MESA3D_GLX_READ_ONLY_TEXT -ne 0 ]] && echo true || echo false) \
184+
-Dvalgrind=disabled \
185+
-Dllvm=disabled \
186+
-Dintel-clc=system \
187+
${BOB_TOOL_PATHS[mesa_clc]+-Dmesa-clc=system} \
188+
-Dosmesa=false
189+
190+
multiPackage:
191+
"":
192+
depends:
193+
- name: libs::mesa3d-tgt
194+
use: []
195+
packageScript: mesonPackageBin
196+
provideDeps: [ "*-tgt" ]
197+
198+
dev:
199+
packageScript: mesonPackageDev
200+
provideDeps: [ "*-dev" ]
201+
202+
tgt:
203+
packageScript: mesonPackageLib
204+
provideDeps: [ "*-tgt" ]

recipes/libs/spirv-headers.yaml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
inherit: [cmake]
2+
3+
metaEnvironment:
4+
PKG_VERSION: "1.4.309.0"
5+
PKG_LICENSE: "MIT"
6+
7+
checkoutSCM:
8+
scm: url
9+
url: https://github.com/KhronosGroup/SPIRV-Headers/archive/refs/tags/vulkan-sdk-1.4.309.0.tar.gz
10+
digestSHA256: a96f8b4f2dfb18f7432e5c523e220ab0075372a9509e0c25fbff21c76af0de7c
11+
stripComponents: 1
12+
13+
buildScript: |
14+
cmakeBuild $1
15+
16+
multiPackage:
17+
dev:
18+
packageScript:
19+
cmakePackageDev
20+
tgt:
21+
packageScript:
22+
cmakePackageTgt

0 commit comments

Comments
 (0)