All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/4] spirv-headers: Add receipe
@ 2021-01-24 18:26 Jose Quaresma
  2021-01-24 18:26 ` [PATCH 2/4] spirv-tools: cleanup Jose Quaresma
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Jose Quaresma @ 2021-01-24 18:26 UTC (permalink / raw)
  To: openembedded-core; +Cc: Jose Quaresma

Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
---
 meta/conf/distro/include/maintainers.inc        |  1 +
 .../spir/spirv-headers_1.5.4.bb                 | 17 +++++++++++++++++
 2 files changed, 18 insertions(+)
 create mode 100644 meta/recipes-graphics/spir/spirv-headers_1.5.4.bb

diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc
index b0ddfb89a8..baad4a351f 100644
--- a/meta/conf/distro/include/maintainers.inc
+++ b/meta/conf/distro/include/maintainers.inc
@@ -668,6 +668,7 @@ RECIPE_MAINTAINER_pn-slang = "Yi Zhao <yi.zhao@windriver.com>"
 RECIPE_MAINTAINER_pn-socat = "Hongxu Jia <hongxu.jia@windriver.com>"
 RECIPE_MAINTAINER_pn-speex = "Unassigned <unassigned@yoctoproject.org>"
 RECIPE_MAINTAINER_pn-speexdsp = "Unassigned <unassigned@yoctoproject.org>"
+RECIPE_MAINTAINER_pn-spirv-headers = "Jose Quaresma <quaresma.jose@gmail.com>"
 RECIPE_MAINTAINER_pn-spirv-tools = "Jose Quaresma <quaresma.jose@gmail.com>"
 RECIPE_MAINTAINER_pn-sqlite3 = "Anuj Mittal <anuj.mittal@intel.com>"
 RECIPE_MAINTAINER_pn-squashfs-tools = "Robert Yang <liezhi.yang@windriver.com>"
diff --git a/meta/recipes-graphics/spir/spirv-headers_1.5.4.bb b/meta/recipes-graphics/spir/spirv-headers_1.5.4.bb
new file mode 100644
index 0000000000..14723f951b
--- /dev/null
+++ b/meta/recipes-graphics/spir/spirv-headers_1.5.4.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Machine-readable files for the SPIR-V Registry"
+DESCRIPTION = "Headers are provided in the include directory, with up-to-date \
+headers in the unified1 subdirectory. Older headers are provided according to \
+their version."
+SECTION = "graphics"
+HOMEPAGE = "https://www.khronos.org/registry/spir-v"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c938b85bceb8fb26c1a807f28a52ae2d"
+
+SRCREV = "f027d53ded7e230e008d37c8b47ede7cd308e19d"
+SRC_URI = "git://github.com/KhronosGroup/SPIRV-Headers;protocol=https"
+UPSTREAM_CHECK_GITTAGREGEX = "^(?P<pver>\d+(\.\d+)+)$"
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+BBCLASSEXTEND = "native nativesdk"
-- 
2.30.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 2/4] spirv-tools: cleanup
  2021-01-24 18:26 [PATCH 1/4] spirv-headers: Add receipe Jose Quaresma
@ 2021-01-24 18:26 ` Jose Quaresma
  2021-01-24 18:26 ` [PATCH 3/4] selftest/reproducible: remove spirv-tools-dev from exclusion list Jose Quaresma
  2021-01-24 18:26 ` [PATCH 4/4] shaderc: add spirv-headers as dependencie Jose Quaresma
  2 siblings, 0 replies; 8+ messages in thread
From: Jose Quaresma @ 2021-01-24 18:26 UTC (permalink / raw)
  To: openembedded-core; +Cc: Jose Quaresma

- spirv-headers is provived in a separete receipe, so add it as dependencie
- add a new package spirv-tools-lesspipe that needs bash
- remove unneeded external sources

Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
---
 .../spir/spirv-tools_2020.6.bb                | 31 ++++++-------------
 1 file changed, 10 insertions(+), 21 deletions(-)

diff --git a/meta/recipes-graphics/spir/spirv-tools_2020.6.bb b/meta/recipes-graphics/spir/spirv-tools_2020.6.bb
index eb07833f22..2c855d8d8e 100644
--- a/meta/recipes-graphics/spir/spirv-tools_2020.6.bb
+++ b/meta/recipes-graphics/spir/spirv-tools_2020.6.bb
@@ -2,37 +2,26 @@ SUMMARY  = "The SPIR-V Tools project provides an API and commands for \
 processing SPIR-V modules"
 DESCRIPTION = "The project includes an assembler, binary module parser, \
 disassembler, validator, and optimizer for SPIR-V."
+SECTION = "graphics"
 LICENSE  = "Apache-2.0"
 LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
-SECTION = "graphics"
 
+SRCREV = "b27b1afd12d05bf238ac7368bb49de73cd620a8e"
+SRC_URI = "git://github.com/KhronosGroup/SPIRV-Tools.git"
+UPSTREAM_CHECK_GITTAGREGEX = "^(?P<pver>\d+(\.\d+)+)$"
 S = "${WORKDIR}/git"
-DEST_DIR = "${S}/external" 
-SRC_URI = "git://github.com/KhronosGroup/SPIRV-Tools.git;name=spirv-tools \
-           git://github.com/KhronosGroup/SPIRV-Headers.git;name=spirv-headers;destsuffix=${DEST_DIR}/spirv-headers \
-           git://github.com/google/effcee.git;name=effcee;destsuffix=${DEST_DIR}/effcee \
-           git://github.com/google/re2.git;name=re2;destsuffix=${DEST_DIR}/re2 \
-           git://github.com/google/googletest.git;name=googletest;destsuffix=${DEST_DIR}/googletest \
-           file://0001-Respect-CMAKE_INSTALL_LIBDIR-in-installed-CMake-file.patch;destsuffix=${DEST_DIR}/effcee \
-"
-SRCREV_spirv-tools = "b27b1afd12d05bf238ac7368bb49de73cd620a8e"
-SRCREV_spirv-headers = "f027d53ded7e230e008d37c8b47ede7cd308e19d"
-SRCREV_effcee = "cd25ec17e9382f99a895b9ef53ff3c277464d07d"
-SRCREV_re2 = "5bd613749fd530b576b890283bfb6bc6ea6246cb"
-SRCREV_googletest = "f2fb48c3b3d79a75a88a99fba6576b25d42ec528"
 
 inherit cmake python3native
 
-EXTRA_OECMAKE += "-DSPIRV_WERROR=OFF"
+DEPENDS = "spirv-headers"
 
-do_install_append() {
-	install -d ${D}/${includedir}/spirv
-	install -m 0644 ${DEST_DIR}/spirv-headers/include/spirv/1.2/* ${D}${includedir}/spirv
-	install -d ${D}/${includedir}/spirv/unified1
-	install -m 0644 ${DEST_DIR}/spirv-headers/include/spirv/unified1/* ${D}${includedir}/spirv/unified1
-}
+EXTRA_OECMAKE += "-DSPIRV-Headers_SOURCE_DIR=${STAGING_EXECPREFIXDIR}"
 
 FILES_SOLIBSDEV = ""
 FILES_${PN} += "${libdir}/*.so"
 
+PACKAGES =+ "${PN}-lesspipe"
+FILES_${PN}-lesspipe = "${base_bindir}/spirv-lesspipe.sh"
+RDEPENDS_${PN}-lesspipe += "${PN} bash"
+
 BBCLASSEXTEND = "native nativesdk"
-- 
2.30.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 3/4] selftest/reproducible: remove spirv-tools-dev from exclusion list
  2021-01-24 18:26 [PATCH 1/4] spirv-headers: Add receipe Jose Quaresma
  2021-01-24 18:26 ` [PATCH 2/4] spirv-tools: cleanup Jose Quaresma
@ 2021-01-24 18:26 ` Jose Quaresma
  2021-01-25 20:13   ` [OE-core] " Richard Purdie
  2021-01-24 18:26 ` [PATCH 4/4] shaderc: add spirv-headers as dependencie Jose Quaresma
  2 siblings, 1 reply; 8+ messages in thread
From: Jose Quaresma @ 2021-01-24 18:26 UTC (permalink / raw)
  To: openembedded-core; +Cc: Jose Quaresma

Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
---
 meta/lib/oeqa/selftest/cases/reproducible.py | 1 -
 1 file changed, 1 deletion(-)

diff --git a/meta/lib/oeqa/selftest/cases/reproducible.py b/meta/lib/oeqa/selftest/cases/reproducible.py
index eee494e5cc..deddf6e50b 100644
--- a/meta/lib/oeqa/selftest/cases/reproducible.py
+++ b/meta/lib/oeqa/selftest/cases/reproducible.py
@@ -65,7 +65,6 @@ exclude_packages = [
 	'quilt-ptest',
 	'rsync',
 	'ruby',
-	'spirv-tools-dev',
 	'swig',
 	'syslinux-misc',
 	'systemd-bootchart',
-- 
2.30.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 4/4] shaderc: add spirv-headers as dependencie
  2021-01-24 18:26 [PATCH 1/4] spirv-headers: Add receipe Jose Quaresma
  2021-01-24 18:26 ` [PATCH 2/4] spirv-tools: cleanup Jose Quaresma
  2021-01-24 18:26 ` [PATCH 3/4] selftest/reproducible: remove spirv-tools-dev from exclusion list Jose Quaresma
@ 2021-01-24 18:26 ` Jose Quaresma
  2 siblings, 0 replies; 8+ messages in thread
From: Jose Quaresma @ 2021-01-24 18:26 UTC (permalink / raw)
  To: openembedded-core; +Cc: Jose Quaresma

Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
---
 meta/recipes-graphics/shaderc/shaderc_2020.4.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-graphics/shaderc/shaderc_2020.4.bb b/meta/recipes-graphics/shaderc/shaderc_2020.4.bb
index 18a08ee6c5..8658a5737b 100644
--- a/meta/recipes-graphics/shaderc/shaderc_2020.4.bb
+++ b/meta/recipes-graphics/shaderc/shaderc_2020.4.bb
@@ -15,7 +15,7 @@ S = "${WORKDIR}/git"
 
 inherit cmake python3native
 
-DEPENDS = "spirv-tools glslang"
+DEPENDS = "spirv-headers spirv-tools glslang"
 
 EXTRA_OECMAKE = " \
     -DCMAKE_BUILD_TYPE=Release \
-- 
2.30.0


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [OE-core] [PATCH 3/4] selftest/reproducible: remove spirv-tools-dev from exclusion list
  2021-01-24 18:26 ` [PATCH 3/4] selftest/reproducible: remove spirv-tools-dev from exclusion list Jose Quaresma
@ 2021-01-25 20:13   ` Richard Purdie
  2021-01-25 23:52     ` Jose Quaresma
  0 siblings, 1 reply; 8+ messages in thread
From: Richard Purdie @ 2021-01-25 20:13 UTC (permalink / raw)
  To: Jose Quaresma, openembedded-core; +Cc: Alexandre Belloni

On Sun, 2021-01-24 at 18:26 +0000, Jose Quaresma wrote:
> Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
> ---
>  meta/lib/oeqa/selftest/cases/reproducible.py | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/meta/lib/oeqa/selftest/cases/reproducible.py b/meta/lib/oeqa/selftest/cases/reproducible.py
> index eee494e5cc..deddf6e50b 100644
> --- a/meta/lib/oeqa/selftest/cases/reproducible.py
> +++ b/meta/lib/oeqa/selftest/cases/reproducible.py
> @@ -65,7 +65,6 @@ exclude_packages = [
>  	'quilt-ptest',
>  	'rsync',
>  	'ruby',
> -	'spirv-tools-dev',
>  	'swig',
>  	'syslinux-misc',
>  	'systemd-bootchart',

Thanks for looking at this, unfortunately in testing it shows there is
still some kind of issue:

https://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20210125-8161_obd/packages/diff-html/

Looks like it shouldn't be too hard to fix though!

Cheers,

Richard




^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [OE-core] [PATCH 3/4] selftest/reproducible: remove spirv-tools-dev from exclusion list
  2021-01-25 20:13   ` [OE-core] " Richard Purdie
@ 2021-01-25 23:52     ` Jose Quaresma
  2021-01-26  0:04       ` Richard Purdie
  0 siblings, 1 reply; 8+ messages in thread
From: Jose Quaresma @ 2021-01-25 23:52 UTC (permalink / raw)
  To: Richard Purdie; +Cc: OE-core, Alexandre Belloni

[-- Attachment #1: Type: text/plain, Size: 1569 bytes --]

Hi Richard,

librt.so is part of the glibc and are allays present on staging sysroot.
how does the cmake can find the librt.so outside of the sysroot if it are
present on that.

The problem is at:
https://github.com/KhronosGroup/SPIRV-Tools/blob/b27b1afd12d05bf238ac7368bb49de73cd620a8e/source/CMakeLists.txt#L397

Probably I need to force the find_library to search first on
STAGING_DIR_HOST

Richard Purdie <richard.purdie@linuxfoundation.org> escreveu no dia
segunda, 25/01/2021 à(s) 20:13:

> On Sun, 2021-01-24 at 18:26 +0000, Jose Quaresma wrote:
> > Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
> > ---
> >  meta/lib/oeqa/selftest/cases/reproducible.py | 1 -
> >  1 file changed, 1 deletion(-)
> >
> > diff --git a/meta/lib/oeqa/selftest/cases/reproducible.py
> b/meta/lib/oeqa/selftest/cases/reproducible.py
> > index eee494e5cc..deddf6e50b 100644
> > --- a/meta/lib/oeqa/selftest/cases/reproducible.py
> > +++ b/meta/lib/oeqa/selftest/cases/reproducible.py
> > @@ -65,7 +65,6 @@ exclude_packages = [
> >       'quilt-ptest',
> >       'rsync',
> >       'ruby',
> > -     'spirv-tools-dev',
> >       'swig',
> >       'syslinux-misc',
> >       'systemd-bootchart',
>
> Thanks for looking at this, unfortunately in testing it shows there is
> still some kind of issue:
>
>
> https://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20210125-8161_obd/packages/diff-html/
>
> Looks like it shouldn't be too hard to fix though!
>
> Cheers,
>
> Richard
>
>
>
>

-- 
best regards,
José Quaresma

[-- Attachment #2: Type: text/html, Size: 2626 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [OE-core] [PATCH 3/4] selftest/reproducible: remove spirv-tools-dev from exclusion list
  2021-01-25 23:52     ` Jose Quaresma
@ 2021-01-26  0:04       ` Richard Purdie
  2021-01-26  9:44         ` Jose Quaresma
  0 siblings, 1 reply; 8+ messages in thread
From: Richard Purdie @ 2021-01-26  0:04 UTC (permalink / raw)
  To: Jose Quaresma; +Cc: OE-core, Alexandre Belloni

On Mon, 2021-01-25 at 23:52 +0000, Jose Quaresma wrote:
> Hi Richard,
> 
> librt.so is part of the glibc and are allays present on staging
> sysroot.
> how does the cmake can find the librt.so outside of the sysroot if it
> are present on that.
> 
> The problem is at:
> https://github.com/KhronosGroup/SPIRV-Tools/blob/b27b1afd12d05bf238ac7368bb49de73cd620a8e/source/CMakeLists.txt#L397
> 
> Probably I need to force the find_library to search first on
> STAGING_DIR_HOST

I think somehow we need to replace the full sysroot path with a
variable, or make cmake do that itself if we can. It may be possible to
have cmake evaluate the variable with reference to the sysroot too but
that is likely more complex. I'm afraid cmake isn't one of my strong
areas.

We do have a second issue too the autobuilder has shown up:

https://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20210125-3iawhiyz/packages/diff-html/

Does something in glslang or spriv-tools use precompiled headers? We
had problems with that in the vulkan-samples recipe that looked like
this (a cmake based C++ project where there were changes in the
debug_loc section) so we may need to disable PCH here too...

Cheers,

Richard


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [OE-core] [PATCH 3/4] selftest/reproducible: remove spirv-tools-dev from exclusion list
  2021-01-26  0:04       ` Richard Purdie
@ 2021-01-26  9:44         ` Jose Quaresma
  0 siblings, 0 replies; 8+ messages in thread
From: Jose Quaresma @ 2021-01-26  9:44 UTC (permalink / raw)
  To: Richard Purdie; +Cc: OE-core, Alexandre Belloni

[-- Attachment #1: Type: text/plain, Size: 1830 bytes --]

Hi Richard,

Many thanks for your explanation.

For now i think is better to drop this pacth and will resend it when I have
a solution.

Richard Purdie <richard.purdie@linuxfoundation.org> escreveu no dia terça,
26/01/2021 à(s) 00:04:

> On Mon, 2021-01-25 at 23:52 +0000, Jose Quaresma wrote:
> > Hi Richard,
> >
> > librt.so is part of the glibc and are allays present on staging
> > sysroot.
> > how does the cmake can find the librt.so outside of the sysroot if it
> > are present on that.
> >
> > The problem is at:
> >
> https://github.com/KhronosGroup/SPIRV-Tools/blob/b27b1afd12d05bf238ac7368bb49de73cd620a8e/source/CMakeLists.txt#L397
> >
> > Probably I need to force the find_library to search first on
> > STAGING_DIR_HOST
>
> I think somehow we need to replace the full sysroot path with a
> variable, or make cmake do that itself if we can. It may be possible to
> have cmake evaluate the variable with reference to the sysroot too but
> that is likely more complex. I'm afraid cmake isn't one of my strong
> areas.
>

I will look at this to see what can be changed in the cmake.bbclass to
achieve
your suggestion.


>
> We do have a second issue too the autobuilder has shown up:
>
>
> https://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20210125-3iawhiyz/packages/diff-html/
>
> Does something in glslang or spriv-tools use precompiled headers? We
> had problems with that in the vulkan-samples recipe that looked like
> this (a cmake based C++ project where there were changes in the
> debug_loc section) so we may need to disable PCH here too...
>

Yes, I think there are the glslang that have precompiled headers enabled.
I will investigate this issue and send a fix for it.


>
> Cheers,
>
> Richard
>
>

-- 
best regards,
José Quaresma

[-- Attachment #2: Type: text/html, Size: 3032 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2021-01-26  9:44 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-24 18:26 [PATCH 1/4] spirv-headers: Add receipe Jose Quaresma
2021-01-24 18:26 ` [PATCH 2/4] spirv-tools: cleanup Jose Quaresma
2021-01-24 18:26 ` [PATCH 3/4] selftest/reproducible: remove spirv-tools-dev from exclusion list Jose Quaresma
2021-01-25 20:13   ` [OE-core] " Richard Purdie
2021-01-25 23:52     ` Jose Quaresma
2021-01-26  0:04       ` Richard Purdie
2021-01-26  9:44         ` Jose Quaresma
2021-01-24 18:26 ` [PATCH 4/4] shaderc: add spirv-headers as dependencie Jose Quaresma

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.