hardknott: vulkan: sync with meta-imx hardknott-5.10.72-2.2.0 branch
Remove a handful of recipes, add a few new ones and update the remaining ones Signed-off-by: Gabriel Valcazar <gabriel.valcazar@digi.com>
This commit is contained in:
parent
8c37b83081
commit
157db7a51d
|
|
@ -1,3 +0,0 @@
|
||||||
# The line is in the 4.0.0 recipe but removed for some reason in
|
|
||||||
# the 4.1.0 recipe. It seems to still be needed.
|
|
||||||
FILES_${PN}-dev += "${libdir}/cmake/"
|
|
||||||
|
|
@ -1,43 +0,0 @@
|
||||||
SUMMARY = "An OpenGL and OpenGL ES shader front end and validator."
|
|
||||||
DESCRIPTION = "Glslang is the official reference compiler front end \
|
|
||||||
for the OpenGL ES and OpenGL shading languages. It \
|
|
||||||
implements a strict interpretation of the specifications \
|
|
||||||
for these languages. It is open and free for anyone to use, \
|
|
||||||
either from a command line or programmatically."
|
|
||||||
SECTION = "graphics"
|
|
||||||
HOMEPAGE = "https://www.khronos.org/opengles/sdk/tools/Reference-Compiler"
|
|
||||||
|
|
||||||
inherit cmake
|
|
||||||
|
|
||||||
LICENSE = "BSD"
|
|
||||||
LIC_FILES_CHKSUM = "file://glslang/Include/Types.h;beginline=1;endline=36;md5=26473d85c7f85d955e24663f67a53818"
|
|
||||||
|
|
||||||
S = "${WORKDIR}/git"
|
|
||||||
|
|
||||||
SRCREV = "1bc601c674aecc2fee0dee8ff7a118db76b4c439"
|
|
||||||
SRC_URI = "git://github.com/KhronosGroup/glslang \
|
|
||||||
"
|
|
||||||
|
|
||||||
FILES_${PN} += "${libdir}/*"
|
|
||||||
|
|
||||||
BBCLASSEXTEND = "native nativesdk"
|
|
||||||
|
|
||||||
do_install_append() {
|
|
||||||
# Some of the vulkan samples/test require these headers
|
|
||||||
install -d ${D}${includedir}/SPIRV
|
|
||||||
cp -f ${S}/SPIRV/GlslangToSpv.h ${D}${includedir}/SPIRV
|
|
||||||
cp -f ${S}/SPIRV/Logger.h ${D}${includedir}/SPIRV
|
|
||||||
cp -f ${S}/SPIRV/SPVRemapper.h ${D}${includedir}/SPIRV
|
|
||||||
cp -f ${S}/SPIRV/spvIR.h ${D}${includedir}/SPIRV
|
|
||||||
|
|
||||||
# Remove redundant headers from spirv-headers
|
|
||||||
rm -rf ${D}${includedir}/SPIRV/GLSL.std.450.h
|
|
||||||
rm -rf ${D}${includedir}/SPIRV/spirv.hpp
|
|
||||||
|
|
||||||
install -d ${D}${includedir}/glslang/Include
|
|
||||||
cp -f ${S}/glslang/Include/*.h ${D}${includedir}/glslang/Include
|
|
||||||
install -d ${D}${includedir}/glslang/Public
|
|
||||||
cp -f ${S}/glslang/Public/*.h ${D}${includedir}/glslang/Public
|
|
||||||
install -d ${D}${includedir}/glslang/MachineIndependent
|
|
||||||
cp -f ${S}/glslang/MachineIndependent/Versions.h ${D}${includedir}/glslang/MachineIndependent
|
|
||||||
}
|
|
||||||
|
|
@ -1,36 +0,0 @@
|
||||||
From c512c6864080ff617afb422a3d04dd902809a6cf Mon Sep 17 00:00:00 2001
|
|
||||||
From: Steven Perron <stevenperron@google.com>
|
|
||||||
Date: Thu, 13 Dec 2018 15:03:28 -0500
|
|
||||||
Subject: [PATCH] Avoid GCC8 warning in text_handler.cpp. (#2197)
|
|
||||||
|
|
||||||
In the function `AssemblyContext::binaryEncodeString`, we want to copy
|
|
||||||
a nul terminated string to an instruction. When coping the string, we
|
|
||||||
did not copy the nul at the end of the source. It was added by setting
|
|
||||||
the entire last word to 0, which is mandated by the spir-v spec. This
|
|
||||||
is not a bug, but it does trigger a warning in GCC8 when doing a release
|
|
||||||
build.
|
|
||||||
|
|
||||||
To avoid the warning, we will copy the nul character at the end of the
|
|
||||||
string too.
|
|
||||||
|
|
||||||
Fixes #1541.
|
|
||||||
---
|
|
||||||
source/text_handler.cpp | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/source/text_handler.cpp b/source/text_handler.cpp
|
|
||||||
index 5f6e8c4..c31f34a 100644
|
|
||||||
--- a/source/text_handler.cpp
|
|
||||||
+++ b/source/text_handler.cpp
|
|
||||||
@@ -313,7 +313,7 @@ spv_result_t AssemblyContext::binaryEncodeString(const char* value,
|
|
||||||
pInst->words.back() = 0;
|
|
||||||
|
|
||||||
char* dest = (char*)&pInst->words[oldWordCount];
|
|
||||||
- strncpy(dest, value, length);
|
|
||||||
+ strncpy(dest, value, length + 1);
|
|
||||||
|
|
||||||
return SPV_SUCCESS;
|
|
||||||
}
|
|
||||||
--
|
|
||||||
2.7.4
|
|
||||||
|
|
||||||
|
|
@ -1,24 +0,0 @@
|
||||||
From 03127fd5a6eff5ae2ebea2e9c6c01fbf1a0a421a Mon Sep 17 00:00:00 2001
|
|
||||||
From: Ankit Navik <ankit.tarot@gmail.com>
|
|
||||||
Date: Tue, 25 Dec 2018 14:34:09 +0530
|
|
||||||
Subject: [PATCH] tools/lesspipe: Allow generic shell
|
|
||||||
|
|
||||||
Upstream-Status: Submitted [https://github.com/KhronosGroup/SPIRV-Tools/pull/2255]
|
|
||||||
Signed-off-by: Ankit Navik <ankit.tarot@gmail.com>
|
|
||||||
---
|
|
||||||
tools/lesspipe/spirv-lesspipe.sh | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/tools/lesspipe/spirv-lesspipe.sh b/tools/lesspipe/spirv-lesspipe.sh
|
|
||||||
index 81e3355..f955259 100644
|
|
||||||
--- a/tools/lesspipe/spirv-lesspipe.sh
|
|
||||||
+++ b/tools/lesspipe/spirv-lesspipe.sh
|
|
||||||
@@ -1,4 +1,4 @@
|
|
||||||
-#!/bin/bash
|
|
||||||
+#!/usr/bin/env sh
|
|
||||||
# Copyright (c) 2016 The Khronos Group Inc.
|
|
||||||
|
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
--
|
|
||||||
2.7.4
|
|
||||||
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
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."
|
|
||||||
LICENSE = "Apache-2.0"
|
|
||||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
|
|
||||||
SECTION = "graphics"
|
|
||||||
|
|
||||||
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 \
|
|
||||||
"
|
|
||||||
SRCREV_spirv-tools = "9b3cc3e05337358d0bd9fec1b7a51e3cbf55312b"
|
|
||||||
SRCREV_spirv-headers = "38cafab379e5d16137cb97a485b9385191039b92"
|
|
||||||
|
|
||||||
inherit cmake python3native
|
|
||||||
|
|
||||||
do_install_append() {
|
|
||||||
install -d ${D}/${includedir}/SPIRV
|
|
||||||
install -m 0644 ${DEST_DIR}/spirv-headers/include/spirv/unified1/* ${D}/${includedir}/SPIRV
|
|
||||||
}
|
|
||||||
|
|
||||||
FILES_SOLIBSDEV = ""
|
|
||||||
FILES_${PN} += "${libdir}/*.so"
|
|
||||||
|
|
@ -0,0 +1,31 @@
|
||||||
|
From 3e3da71c62a36516fa16cfb1d5d55e9e5c86e573 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Neena Busireddy <neenareddy.busireddy@nxp.com>
|
||||||
|
Date: Mon, 3 May 2021 11:44:46 -0700
|
||||||
|
Subject: [PATCH] src/meson.build: Prepend sysroot for the includedir
|
||||||
|
|
||||||
|
Need to prepend PKG_CONFIG_SYSROOT_DIR to the dir path for cross compilation
|
||||||
|
|
||||||
|
Upstream-Status: Inappropriate [OE-specific]
|
||||||
|
|
||||||
|
Signed-off-by: Neena Busireddy <neenareddy.busireddy@nxp.com>
|
||||||
|
---
|
||||||
|
src/meson.build | 3 +++
|
||||||
|
1 file changed, 3 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/meson.build b/src/meson.build
|
||||||
|
index 35813c5..9032706 100644
|
||||||
|
--- a/src/meson.build
|
||||||
|
+++ b/src/meson.build
|
||||||
|
@@ -6,6 +6,9 @@ vulkan_hpp = join_paths([
|
||||||
|
'vulkan.hpp'
|
||||||
|
])
|
||||||
|
|
||||||
|
+pkgconf_sysroot = run_command(prog_python, '-c', 'import os; print(os.environ.get("PKG_CONFIG_SYSROOT_DIR"))').stdout().strip()
|
||||||
|
+vulkan_hpp = pkgconf_sysroot + vulkan_hpp
|
||||||
|
+
|
||||||
|
format_map_gen_h = custom_target(
|
||||||
|
'format_map_gen.h',
|
||||||
|
output: 'format_map_gen.h',
|
||||||
|
--
|
||||||
|
2.17.1
|
||||||
|
|
||||||
|
|
@ -1,37 +0,0 @@
|
||||||
SUMMARY = "Vulkan benchmarking suite."
|
|
||||||
DESCRIPTION = "vkmark is an extensible Vulkan benchmarking suite with \
|
|
||||||
targeted, configurable scenes."
|
|
||||||
SECTION = "graphics"
|
|
||||||
|
|
||||||
LICENSE = "LGPL-2.1"
|
|
||||||
LIC_FILES_CHKSUM = "file://COPYING-LGPL2.1;md5=4fbd65380cdd255951079008b364516c"
|
|
||||||
|
|
||||||
inherit meson
|
|
||||||
|
|
||||||
S = "${WORKDIR}/git"
|
|
||||||
|
|
||||||
SRCREV = "1ebd49364f03372a710f010c01dedd0d79456413"
|
|
||||||
SRC_URI = "git://github.com/vkmark/vkmark;protocol=https"
|
|
||||||
SRC_URI += "file://0001-scenes-Use-depth-format-supported-by-i.MX.patch"
|
|
||||||
|
|
||||||
VKMARK_INSTALL_DIR = "${WORKDIR}/vm-install"
|
|
||||||
|
|
||||||
DEPENDS = " vulkan-headers vulkan-loader imx-gpu-viv assimp glm ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', '', \
|
|
||||||
bb.utils.contains('DISTRO_FEATURES', 'x11', ' libxcb','libdrm libgbm', d), d)}"
|
|
||||||
do_compile() {
|
|
||||||
|
|
||||||
ninja -C ${WORKDIR}/build
|
|
||||||
}
|
|
||||||
|
|
||||||
do_install() {
|
|
||||||
|
|
||||||
DESTDIR=${VKMARK_INSTALL_DIR} ninja -C ${WORKDIR}/build install
|
|
||||||
install -d ${D}${bindir}
|
|
||||||
install -d ${D}${datadir}
|
|
||||||
install -d ${D}${libdir}
|
|
||||||
cp -r ${VKMARK_INSTALL_DIR}${bindir}/* ${D}${bindir}/
|
|
||||||
cp -r ${VKMARK_INSTALL_DIR}${datadir}/* ${D}${datadir}/
|
|
||||||
cp -r ${VKMARK_INSTALL_DIR}${libdir}/* ${D}${libdir}/
|
|
||||||
}
|
|
||||||
|
|
||||||
FILES_${PN} += "${bindir} ${datadir}"
|
|
||||||
|
|
@ -0,0 +1,28 @@
|
||||||
|
SUMMARY = "Vulkan benchmarking suite."
|
||||||
|
DESCRIPTION = "vkmark is an extensible Vulkan benchmarking suite with \
|
||||||
|
targeted, configurable scenes."
|
||||||
|
SECTION = "graphics"
|
||||||
|
LICENSE = "LGPL-2.1"
|
||||||
|
LIC_FILES_CHKSUM = "file://COPYING-LGPL2.1;md5=4fbd65380cdd255951079008b364516c"
|
||||||
|
|
||||||
|
DEPENDS = "vulkan-loader assimp glm"
|
||||||
|
|
||||||
|
SRC_URI = " \
|
||||||
|
git://github.com/vkmark/vkmark;protocol=https \
|
||||||
|
file://0001-scenes-Use-depth-format-supported-by-i.MX.patch \
|
||||||
|
file://0001-src-meson.build-Prepend-sysroot-for-the-includedir.patch \
|
||||||
|
"
|
||||||
|
SRCREV = "53abc4f660191051fba91ea30de084f412e7c68e"
|
||||||
|
S = "${WORKDIR}/git"
|
||||||
|
|
||||||
|
inherit meson
|
||||||
|
|
||||||
|
PACKAGECONFIG ?= " \
|
||||||
|
${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', \
|
||||||
|
bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', \
|
||||||
|
'fb', d), d)} \
|
||||||
|
"
|
||||||
|
|
||||||
|
PACKAGECONFIG[fb] = ",,libdrm libgbm"
|
||||||
|
PACKAGECONFIG[wayland] = ",,wayland-native wayland-protocols"
|
||||||
|
PACKAGECONFIG[x11] = ",,libxcb"
|
||||||
|
|
@ -34,28 +34,24 @@ Upstream-Status: Inappropriate [configuration]
|
||||||
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
|
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
|
||||||
Signed-off-by: Maxin B. John <maxin.john@intel.com>
|
Signed-off-by: Maxin B. John <maxin.john@intel.com>
|
||||||
---
|
---
|
||||||
examples/CMakeLists.txt | 13 -------------
|
examples/CMakeLists.txt | 14 --------------
|
||||||
1 file changed, 13 deletions(-)
|
1 file changed, 14 deletions(-)
|
||||||
|
|
||||||
diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
|
Index: git/examples/CMakeLists.txt
|
||||||
index 2ad87f79..3800ab6e 100644
|
===================================================================
|
||||||
--- a/examples/CMakeLists.txt
|
--- git.orig/examples/CMakeLists.txt
|
||||||
+++ b/examples/CMakeLists.txt
|
+++ git/examples/CMakeLists.txt
|
||||||
@@ -70,25 +70,19 @@ set(EXAMPLES
|
@@ -72,9 +72,6 @@ set(EXAMPLES
|
||||||
computeraytracing
|
|
||||||
computeshader
|
|
||||||
conditionalrender
|
conditionalrender
|
||||||
conservativeraster
|
conservativeraster
|
||||||
debugmarker
|
debugmarker
|
||||||
- deferred
|
- deferred
|
||||||
- deferredmultisampling
|
- deferredmultisampling
|
||||||
- deferredshadows
|
- deferredshadows
|
||||||
|
descriptorindexing
|
||||||
descriptorsets
|
descriptorsets
|
||||||
displacement
|
displacement
|
||||||
distancefieldfonts
|
@@ -85,9 +82,6 @@ set(EXAMPLES
|
||||||
dynamicuniformbuffer
|
|
||||||
gears
|
|
||||||
geometryshader
|
|
||||||
gltfloading
|
gltfloading
|
||||||
gltfscenerendering
|
gltfscenerendering
|
||||||
gltfskinning
|
gltfskinning
|
||||||
|
|
@ -65,11 +61,7 @@ index 2ad87f79..3800ab6e 100644
|
||||||
inlineuniformblocks
|
inlineuniformblocks
|
||||||
inputattachments
|
inputattachments
|
||||||
instancing
|
instancing
|
||||||
multisampling
|
@@ -101,8 +95,6 @@ set(EXAMPLES
|
||||||
multithreading
|
|
||||||
@@ -98,12 +92,10 @@ set(EXAMPLES
|
|
||||||
offscreen
|
|
||||||
oit
|
|
||||||
parallaxmapping
|
parallaxmapping
|
||||||
particlefire
|
particlefire
|
||||||
pbrbasic
|
pbrbasic
|
||||||
|
|
@ -78,11 +70,7 @@ index 2ad87f79..3800ab6e 100644
|
||||||
pipelines
|
pipelines
|
||||||
pipelinestatistics
|
pipelinestatistics
|
||||||
pushconstants
|
pushconstants
|
||||||
pushdescriptors
|
@@ -115,12 +107,8 @@ set(EXAMPLES
|
||||||
radialblur
|
|
||||||
@@ -112,16 +104,12 @@ set(EXAMPLES
|
|
||||||
raytracingcallable
|
|
||||||
raytracingreflections
|
|
||||||
raytracingshadows
|
raytracingshadows
|
||||||
renderheadless
|
renderheadless
|
||||||
screenshot
|
screenshot
|
||||||
|
|
@ -95,11 +83,7 @@ index 2ad87f79..3800ab6e 100644
|
||||||
stencilbuffer
|
stencilbuffer
|
||||||
subpasses
|
subpasses
|
||||||
terraintessellation
|
terraintessellation
|
||||||
tessellation
|
@@ -136,7 +124,6 @@ set(EXAMPLES
|
||||||
textoverlay
|
|
||||||
@@ -133,9 +121,8 @@ set(EXAMPLES
|
|
||||||
texturemipmapgen
|
|
||||||
texturesparseresidency
|
|
||||||
triangle
|
triangle
|
||||||
variablerateshading
|
variablerateshading
|
||||||
viewportarray
|
viewportarray
|
||||||
|
|
|
||||||
|
|
@ -1,72 +0,0 @@
|
||||||
From 55949fea34b4392c988b902e4835939d9a8d5574 Mon Sep 17 00:00:00 2001
|
|
||||||
From: "yuan.tian" <yuan.tian@nxp.com>
|
|
||||||
Date: Thu, 17 Dec 2020 14:19:31 +0800
|
|
||||||
Subject: [PATCH] Fix bug in computeheadless and renderheadless.
|
|
||||||
|
|
||||||
The bug passed invalid pointer value to vkCreateInstance.
|
|
||||||
|
|
||||||
Upstream-Status: Submitted [https://github.com/SaschaWillems/Vulkan/issues/792]
|
|
||||||
|
|
||||||
Signed-off-by: yuan.tian <yuan.tian@nxp.com>
|
|
||||||
---
|
|
||||||
examples/computeheadless/computeheadless.cpp | 4 ++--
|
|
||||||
examples/renderheadless/renderheadless.cpp | 4 ++--
|
|
||||||
2 files changed, 4 insertions(+), 4 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/examples/computeheadless/computeheadless.cpp b/examples/computeheadless/computeheadless.cpp
|
|
||||||
index 49566394..002f74a4 100644
|
|
||||||
--- a/examples/computeheadless/computeheadless.cpp
|
|
||||||
+++ b/examples/computeheadless/computeheadless.cpp
|
|
||||||
@@ -154,6 +154,7 @@ public:
|
|
||||||
vkEnumerateInstanceLayerProperties(&instanceLayerCount, nullptr);
|
|
||||||
std::vector<VkLayerProperties> instanceLayers(instanceLayerCount);
|
|
||||||
vkEnumerateInstanceLayerProperties(&instanceLayerCount, instanceLayers.data());
|
|
||||||
+ const char *validationExt = VK_EXT_DEBUG_REPORT_EXTENSION_NAME;
|
|
||||||
|
|
||||||
bool layersAvailable = true;
|
|
||||||
for (auto layerName : validationLayers) {
|
|
||||||
@@ -172,7 +173,6 @@ public:
|
|
||||||
|
|
||||||
if (layersAvailable) {
|
|
||||||
instanceCreateInfo.ppEnabledLayerNames = validationLayers;
|
|
||||||
- const char *validationExt = VK_EXT_DEBUG_REPORT_EXTENSION_NAME;
|
|
||||||
instanceCreateInfo.enabledLayerCount = layerCount;
|
|
||||||
instanceCreateInfo.enabledExtensionCount = 1;
|
|
||||||
instanceCreateInfo.ppEnabledExtensionNames = &validationExt;
|
|
||||||
@@ -562,4 +562,4 @@ int main() {
|
|
||||||
delete(vulkanExample);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
-#endif
|
|
||||||
\ No newline at end of file
|
|
||||||
+#endif
|
|
||||||
diff --git a/examples/renderheadless/renderheadless.cpp b/examples/renderheadless/renderheadless.cpp
|
|
||||||
index a0126cf3..295346c0 100644
|
|
||||||
--- a/examples/renderheadless/renderheadless.cpp
|
|
||||||
+++ b/examples/renderheadless/renderheadless.cpp
|
|
||||||
@@ -184,6 +184,7 @@ public:
|
|
||||||
vkEnumerateInstanceLayerProperties(&instanceLayerCount, nullptr);
|
|
||||||
std::vector<VkLayerProperties> instanceLayers(instanceLayerCount);
|
|
||||||
vkEnumerateInstanceLayerProperties(&instanceLayerCount, instanceLayers.data());
|
|
||||||
+ const char *validationExt = VK_EXT_DEBUG_REPORT_EXTENSION_NAME;
|
|
||||||
|
|
||||||
bool layersAvailable = true;
|
|
||||||
for (auto layerName : validationLayers) {
|
|
||||||
@@ -202,7 +203,6 @@ public:
|
|
||||||
|
|
||||||
if (layersAvailable) {
|
|
||||||
instanceCreateInfo.ppEnabledLayerNames = validationLayers;
|
|
||||||
- const char *validationExt = VK_EXT_DEBUG_REPORT_EXTENSION_NAME;
|
|
||||||
instanceCreateInfo.enabledLayerCount = layerCount;
|
|
||||||
instanceCreateInfo.enabledExtensionCount = 1;
|
|
||||||
instanceCreateInfo.ppEnabledExtensionNames = &validationExt;
|
|
||||||
@@ -894,4 +894,4 @@ int main() {
|
|
||||||
delete(vulkanExample);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
-#endif
|
|
||||||
\ No newline at end of file
|
|
||||||
+#endif
|
|
||||||
--
|
|
||||||
2.17.1
|
|
||||||
|
|
||||||
|
|
@ -1,10 +0,0 @@
|
||||||
FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"
|
|
||||||
|
|
||||||
SRC_URI_append = " file://0001-Modify-parameter-in-vulkan-demo-computenbody.patch \
|
|
||||||
file://0001-Fix-bug-in-computeheadless-and-renderheadless.patch"
|
|
||||||
SRCREV = "21f9cd52519fab405827ecc965910bf269af3342"
|
|
||||||
DEPENDS_remove = "vulkan"
|
|
||||||
DEPENDS_append = " vulkan-headers vulkan-loader"
|
|
||||||
|
|
||||||
# Digi: The vulkan-validationlayers package is necessary for the demos to work
|
|
||||||
RDEPENDS_${PN} = "vulkan-validationlayers"
|
|
||||||
|
|
@ -0,0 +1,38 @@
|
||||||
|
DESCRIPTION = "Collection of Vulkan examples"
|
||||||
|
LICENSE = "MIT"
|
||||||
|
DEPENDS = "zlib"
|
||||||
|
|
||||||
|
LIC_FILES_CHKSUM = "file://LICENSE.md;md5=dcf473723faabf17baa9b5f2207599d0 \
|
||||||
|
file://examples/triangle/triangle.cpp;endline=12;md5=bccd1bf9cadd9e10086cf7872157e4fa"
|
||||||
|
|
||||||
|
SRCREV_glm = "1ad55c5016339b83b7eec98c31007e0aee57d2bf"
|
||||||
|
SRCREV_ktx = "726d14d02c95bb21ec9e43807751b491d295dd3c"
|
||||||
|
|
||||||
|
SRC_URI = "git://github.com/SaschaWillems/Vulkan.git \
|
||||||
|
git://github.com/g-truc/glm;destsuffix=git/external/glm;name=glm \
|
||||||
|
git://github.com/KhronosGroup/KTX-Software;destsuffix=git/external/ktx;name=ktx;lfs=0 \
|
||||||
|
file://0001-Don-t-build-demos-with-questionably-licensed-data.patch \
|
||||||
|
"
|
||||||
|
UPSTREAM_CHECK_COMMITS = "1"
|
||||||
|
SRCREV = "a2a604be473c829763854ffb34f7978bc0358afb"
|
||||||
|
UPSTREAM_CHECK_GITTAGREGEX = "These are not the releases you're looking for"
|
||||||
|
S = "${WORKDIR}/git"
|
||||||
|
|
||||||
|
REQUIRED_DISTRO_FEATURES = 'vulkan'
|
||||||
|
|
||||||
|
inherit cmake features_check
|
||||||
|
DEPENDS = "vulkan-loader assimp wayland-protocols wayland-native"
|
||||||
|
|
||||||
|
do_install_append () {
|
||||||
|
|
||||||
|
mv ${D}${bindir}/screenshot ${D}${bindir}/vulkan-screenshot
|
||||||
|
}
|
||||||
|
|
||||||
|
EXTRA_OECMAKE = "-DRESOURCE_INSTALL_DIR=${datadir}/vulkan-demos"
|
||||||
|
|
||||||
|
ANY_OF_DISTRO_FEATURES = "x11 wayland"
|
||||||
|
|
||||||
|
# Can only pick one of [wayland,xcb]
|
||||||
|
PACKAGECONFIG = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', 'xcb', d)}"
|
||||||
|
PACKAGECONFIG[wayland] = "-DUSE_WAYLAND_WSI=ON, -DUSE_WAYLAND_WSI=OFF, wayland"
|
||||||
|
PACKAGECONFIG[xcb] = ",,libxcb"
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
|
||||||
|
|
||||||
|
SRC_URI += " \
|
||||||
|
file://0001-Modify-parameter-in-vulkan-demo-computenbody.patch \
|
||||||
|
"
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
|
|
||||||
COMPATIBLE_MACHINE = "(mx8)"
|
|
||||||
COMPATIBLE_MACHINE_mx8mm = "(^$)"
|
|
||||||
|
|
@ -1,20 +0,0 @@
|
||||||
SUMMARY = "Vulkan Header files and API registry"
|
|
||||||
DESCRIPTION = "Vulkan is a new generation graphics and compute API \
|
|
||||||
that provides efficient access to modern GPUs."
|
|
||||||
HOMEPAGE = "https://www.khronos.org/vulkan/"
|
|
||||||
|
|
||||||
LICENSE = "Apache-2.0"
|
|
||||||
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
|
|
||||||
SRC_URI = "git://github.com/KhronosGroup/Vulkan-Headers.git;branch=sdk-1.1.121 \
|
|
||||||
"
|
|
||||||
SRCREV = "5671d014bc1792a116d374792f8a6cfba2e6f512"
|
|
||||||
UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)"
|
|
||||||
|
|
||||||
S = "${WORKDIR}/git"
|
|
||||||
|
|
||||||
REQUIRED_DISTRO_FEATURES = "vulkan"
|
|
||||||
|
|
||||||
inherit cmake features_check
|
|
||||||
ANY_OF_DISTRO_FEATURES = "x11 wayland"
|
|
||||||
|
|
||||||
FILES_${PN} += "${datadir}/vulkan/registry"
|
|
||||||
|
|
@ -1,38 +0,0 @@
|
||||||
SUMMARY = "3D graphics and compute API common loader"
|
|
||||||
DESCRIPTION = "Vulkan is a new generation graphics and compute API \
|
|
||||||
that provides efficient access to modern GPUs. These packages \
|
|
||||||
provide only the common vendor-agnostic library loader, headers and \
|
|
||||||
the vulkaninfo utility."
|
|
||||||
HOMEPAGE = "https://www.khronos.org/vulkan/"
|
|
||||||
BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-Loader"
|
|
||||||
SECTION = "libs"
|
|
||||||
|
|
||||||
LICENSE = "Apache-2.0"
|
|
||||||
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7dbefed23242760aa3475ee42801c5ac"
|
|
||||||
SRC_URI = "git://github.com/KhronosGroup/Vulkan-Loader.git;branch=sdk-${PV}"
|
|
||||||
SRCREV = "a34eada3197b96e46bea3ad4b83bfa4b4396e2ea"
|
|
||||||
|
|
||||||
S = "${WORKDIR}/git"
|
|
||||||
|
|
||||||
REQUIRED_DISTRO_FEATURES = "vulkan"
|
|
||||||
|
|
||||||
inherit cmake features_check python3native lib_package
|
|
||||||
ANY_OF_DISTRO_FEATURES = "x11 wayland"
|
|
||||||
|
|
||||||
DEPENDS += "vulkan-headers"
|
|
||||||
|
|
||||||
EXTRA_OECMAKE = "-DBUILD_TESTS=OFF"
|
|
||||||
|
|
||||||
# must choose x11 or wayland or both
|
|
||||||
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}"
|
|
||||||
|
|
||||||
PACKAGECONFIG[x11] = "-DBUILD_WSI_XLIB_SUPPORT=ON -DBUILD_WSI_XCB_SUPPORT=ON -DDEMOS_WSI_SELECTION=XCB, -DBUILD_WSI_XLIB_SUPPORT=OFF -DBUILD_WSI_XCB_SUPPORT=OFF -DDEMOS_WSI_SELECTION=WAYLAND, libxcb libx11 libxrandr"
|
|
||||||
PACKAGECONFIG[wayland] = "-DBUILD_WSI_WAYLAND_SUPPORT=ON, -DBUILD_WSI_WAYLAND_SUPPORT=OFF, wayland"
|
|
||||||
|
|
||||||
UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)"
|
|
||||||
|
|
||||||
# libvulkan.so is loaded dynamically, so put it in the main package
|
|
||||||
# instead of -dev
|
|
||||||
FILES_SOLIBSDEV = ""
|
|
||||||
FILES_${PN} += "${libdir}/lib*${SOLIBSDEV}"
|
|
||||||
INSANE_SKIP_${PN} += "dev-so"
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
|
|
||||||
# choose wayland
|
|
||||||
PACKAGECONFIG = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '' ,d)}"
|
|
||||||
|
|
||||||
SRC_URI_append = " file://0001-STDIO-844-No-need-to-change-the-App-s-apiVersion-to-.patch"
|
|
||||||
|
|
||||||
# The i.MX implementation is dynamically loaded, so it requires an
|
|
||||||
# explicit runtime dependency.
|
|
||||||
RRECOMMENDS_${PN}_append_imxgpu = " libvulkan-imx"
|
|
||||||
|
|
||||||
COMPATIBLE_MACHINE = "(mx8)"
|
|
||||||
COMPATIBLE_MACHINE_mx8mm = "(^$)"
|
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
|
||||||
|
|
||||||
|
SRC_URI += "file://0001-STDIO-844-No-need-to-change-the-App-s-apiVersion-to-.patch"
|
||||||
|
|
||||||
|
# libvulkan.so is loaded dynamically, so put it in the main package
|
||||||
|
FILES_SOLIBSDEV = ""
|
||||||
|
FILES_${PN} += "${libdir}/lib*${SOLIBSDEV}"
|
||||||
|
INSANE_SKIP_${PN} += "dev-so"
|
||||||
|
|
@ -0,0 +1,87 @@
|
||||||
|
From 7b27a46d14acf050e6e836c41ca2f286680e6edc Mon Sep 17 00:00:00 2001
|
||||||
|
From: Prabhu Sundararaj <prabhu.sundararaj@nxp.com>
|
||||||
|
Date: Tue, 11 May 2021 17:28:06 -0500
|
||||||
|
Subject: [PATCH 1/3] Add support for wayland.
|
||||||
|
|
||||||
|
Use VKB_BUILD_WAYLAND=1 and GLFW_USE_WAYLAND=1 to enable wayland
|
||||||
|
|
||||||
|
Signed-off-by: Hugo Osornio <hugo.osornio@nxp.com>
|
||||||
|
Signed-off-by: Prabhu Sundararaj <prabhu.sundararaj@nxp.com>
|
||||||
|
---
|
||||||
|
bldsys/cmake/template/entrypoint_main.cpp.in | 2 ++
|
||||||
|
framework/platform/unix/unix_platform.cpp | 7 +++++++
|
||||||
|
third_party/CMakeLists.txt | 19 ++++++++++++-------
|
||||||
|
3 files changed, 21 insertions(+), 7 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/bldsys/cmake/template/entrypoint_main.cpp.in b/bldsys/cmake/template/entrypoint_main.cpp.in
|
||||||
|
index 92ec703..eaf158e 100644
|
||||||
|
--- a/bldsys/cmake/template/entrypoint_main.cpp.in
|
||||||
|
+++ b/bldsys/cmake/template/entrypoint_main.cpp.in
|
||||||
|
@@ -47,6 +47,8 @@ int main(int argc, char *argv[])
|
||||||
|
vkb::UnixPlatform platform{vkb::UnixType::Mac, argc, argv};
|
||||||
|
# elif defined(VK_USE_PLATFORM_XCB_KHR)
|
||||||
|
vkb::UnixPlatform platform{vkb::UnixType::Linux, argc, argv};
|
||||||
|
+# elif defined(VK_USE_PLATFORM_WAYLAND_KHR)
|
||||||
|
+ vkb::UnixPlatform platform{vkb::UnixType::Linux, argc, argv};
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
diff --git a/framework/platform/unix/unix_platform.cpp b/framework/platform/unix/unix_platform.cpp
|
||||||
|
index 53a0502..84e8f79 100644
|
||||||
|
--- a/framework/platform/unix/unix_platform.cpp
|
||||||
|
+++ b/framework/platform/unix/unix_platform.cpp
|
||||||
|
@@ -35,6 +35,10 @@ VKBP_ENABLE_WARNINGS()
|
||||||
|
# define VK_KHR_XCB_SURFACE_EXTENSION_NAME "VK_KHR_xcb_surface"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+#ifndef VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME
|
||||||
|
+# define VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME "VK_KHR_wayland_surface"
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
namespace vkb
|
||||||
|
{
|
||||||
|
namespace
|
||||||
|
@@ -95,6 +99,9 @@ const char *UnixPlatform::get_surface_extension()
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
+#ifdef VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME
|
||||||
|
+ return VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME;
|
||||||
|
+#endif
|
||||||
|
return VK_KHR_XCB_SURFACE_EXTENSION_NAME;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
diff --git a/third_party/CMakeLists.txt b/third_party/CMakeLists.txt
|
||||||
|
index 499fe9a..de13c11 100644
|
||||||
|
--- a/third_party/CMakeLists.txt
|
||||||
|
+++ b/third_party/CMakeLists.txt
|
||||||
|
@@ -57,14 +57,19 @@ elseif(WIN32)
|
||||||
|
elseif(APPLE)
|
||||||
|
target_compile_definitions(vulkan INTERFACE VK_USE_PLATFORM_MACOS_MVK)
|
||||||
|
elseif(UNIX)
|
||||||
|
- # See whether X11 is available. If not, fall back to direct-to-display mode.
|
||||||
|
- find_package(X11 QUIET)
|
||||||
|
- if (X11_FOUND)
|
||||||
|
- target_compile_definitions(vulkan INTERFACE VK_USE_PLATFORM_XCB_KHR)
|
||||||
|
+ if (VKB_BUILD_WAYLAND)
|
||||||
|
+ message(STATUS "Using Vulkan platform wayland")
|
||||||
|
+ target_compile_definitions(vulkan INTERFACE VK_USE_PLATFORM_WAYLAND_KHR)
|
||||||
|
else()
|
||||||
|
- set(DIRECT_TO_DISPLAY TRUE)
|
||||||
|
- set(DIRECT_TO_DISPLAY TRUE PARENT_SCOPE)
|
||||||
|
- target_compile_definitions(vulkan INTERFACE VK_USE_PLATFORM_DISPLAY_KHR)
|
||||||
|
+ # See whether X11 is available. If not, fall back to direct-to-display mode.
|
||||||
|
+ find_package(X11 QUIET)
|
||||||
|
+ if (X11_FOUND)
|
||||||
|
+ target_compile_definitions(vulkan INTERFACE VK_USE_PLATFORM_XCB_KHR)
|
||||||
|
+ else()
|
||||||
|
+ set(DIRECT_TO_DISPLAY TRUE)
|
||||||
|
+ set(DIRECT_TO_DISPLAY TRUE PARENT_SCOPE)
|
||||||
|
+ target_compile_definitions(vulkan INTERFACE VK_USE_PLATFORM_DISPLAY_KHR)
|
||||||
|
+ endif()
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
--
|
||||||
|
2.25.1
|
||||||
|
|
||||||
|
|
@ -0,0 +1,66 @@
|
||||||
|
From 49198f6ccb388e511e40c963744033b9732b4de8 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Prabhu Sundararaj <prabhu.sundararaj@nxp.com>
|
||||||
|
Date: Tue, 11 May 2021 17:29:48 -0500
|
||||||
|
Subject: [PATCH 2/3] Wayland support : Use local context window size.
|
||||||
|
|
||||||
|
The default extent will use 0xFFFFFFFF for W and H.
|
||||||
|
|
||||||
|
Signed-off-by: Hugo Osornio <hugo.osornio@nxp.com>
|
||||||
|
Signed-off-by: Prabhu Sundararaj <prabhu.sundararaj@nxp.com>
|
||||||
|
---
|
||||||
|
framework/core/swapchain.cpp | 4 +++-
|
||||||
|
framework/rendering/render_target.cpp | 9 +++++----
|
||||||
|
2 files changed, 8 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/framework/core/swapchain.cpp b/framework/core/swapchain.cpp
|
||||||
|
index 3821889..bed25a5 100644
|
||||||
|
--- a/framework/core/swapchain.cpp
|
||||||
|
+++ b/framework/core/swapchain.cpp
|
||||||
|
@@ -356,7 +356,9 @@ Swapchain::Swapchain(Swapchain & old_swapchain,
|
||||||
|
|
||||||
|
// Chose best properties based on surface capabilities
|
||||||
|
properties.image_count = choose_image_count(image_count, surface_capabilities.minImageCount, surface_capabilities.maxImageCount);
|
||||||
|
- properties.extent = choose_extent(extent, surface_capabilities.minImageExtent, surface_capabilities.maxImageExtent, surface_capabilities.currentExtent);
|
||||||
|
+ VkExtent2D localExtent{800,800};
|
||||||
|
+ LOGI("Using local Extent");
|
||||||
|
+ properties.extent = localExtent;//choose_extent(extent, surface_capabilities.minImageExtent, surface_capabilities.maxImageExtent, surface_capabilities.currentExtent);
|
||||||
|
properties.array_layers = choose_image_array_layers(1U, surface_capabilities.maxImageArrayLayers);
|
||||||
|
properties.surface_format = choose_surface_format(properties.surface_format, surface_formats, surface_format_priority_list);
|
||||||
|
VkFormatProperties format_properties;
|
||||||
|
diff --git a/framework/rendering/render_target.cpp b/framework/rendering/render_target.cpp
|
||||||
|
index f9940b2..068cafa 100644
|
||||||
|
--- a/framework/rendering/render_target.cpp
|
||||||
|
+++ b/framework/rendering/render_target.cpp
|
||||||
|
@@ -40,8 +40,9 @@ Attachment::Attachment(VkFormat format, VkSampleCountFlagBits samples, VkImageUs
|
||||||
|
}
|
||||||
|
const RenderTarget::CreateFunc RenderTarget::DEFAULT_CREATE_FUNC = [](core::Image &&swapchain_image) -> std::unique_ptr<RenderTarget> {
|
||||||
|
VkFormat depth_format = get_suitable_depth_format(swapchain_image.get_device().get_gpu().get_handle());
|
||||||
|
-
|
||||||
|
- core::Image depth_image{swapchain_image.get_device(), swapchain_image.get_extent(),
|
||||||
|
+ VkExtent3D localExtent{800,800,1}; // = swapchain_image.get_extent();
|
||||||
|
+ LOGI("About to create Depth Image {}, {}, {}", localExtent.width, localExtent.height, localExtent.depth);
|
||||||
|
+ core::Image depth_image{swapchain_image.get_device(), /*swapchain_image.get_extent()*/ localExtent,
|
||||||
|
depth_format,
|
||||||
|
VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT | VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT,
|
||||||
|
VMA_MEMORY_USAGE_GPU_ONLY};
|
||||||
|
@@ -70,7 +71,7 @@ vkb::RenderTarget::RenderTarget(std::vector<core::Image> &&images) :
|
||||||
|
// Allow only one extent size for a render target
|
||||||
|
if (unique_extent.size() != 1)
|
||||||
|
{
|
||||||
|
- throw VulkanException{VK_ERROR_INITIALIZATION_FAILED, "Extent size is not unique"};
|
||||||
|
+ //throw VulkanException{VK_ERROR_INITIALIZATION_FAILED, "Extent size is not unique"};
|
||||||
|
}
|
||||||
|
|
||||||
|
extent = *unique_extent.begin();
|
||||||
|
@@ -109,7 +110,7 @@ vkb::RenderTarget::RenderTarget(std::vector<core::ImageView> &&image_views) :
|
||||||
|
std::transform(views.begin(), views.end(), std::inserter(unique_extent, unique_extent.end()), get_view_extent);
|
||||||
|
if (unique_extent.size() != 1)
|
||||||
|
{
|
||||||
|
- throw VulkanException{VK_ERROR_INITIALIZATION_FAILED, "Extent size is not unique"};
|
||||||
|
+ //throw VulkanException{VK_ERROR_INITIALIZATION_FAILED, "Extent size is not unique"};
|
||||||
|
}
|
||||||
|
extent = *unique_extent.begin();
|
||||||
|
|
||||||
|
--
|
||||||
|
2.25.1
|
||||||
|
|
||||||
|
|
@ -0,0 +1,36 @@
|
||||||
|
From 01cc6cdf6ceb6a8b20dab4338adb771373cdbbfe Mon Sep 17 00:00:00 2001
|
||||||
|
From: Prabhu Sundararaj <prabhu.sundararaj@nxp.com>
|
||||||
|
Date: Tue, 11 May 2021 17:31:25 -0500
|
||||||
|
Subject: [PATCH 3/3] wayland support for Hello triangle sample
|
||||||
|
|
||||||
|
Signed-off-by: Hugo Osornio <hugo.osornio@nxp.com>
|
||||||
|
Signed-off-by: Prabhu Sundararaj <prabhu.sundararaj@nxp.com>
|
||||||
|
---
|
||||||
|
samples/api/hello_triangle/hello_triangle.cpp | 4 +++-
|
||||||
|
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/samples/api/hello_triangle/hello_triangle.cpp b/samples/api/hello_triangle/hello_triangle.cpp
|
||||||
|
index 3f2b8e7..b62ef82 100644
|
||||||
|
--- a/samples/api/hello_triangle/hello_triangle.cpp
|
||||||
|
+++ b/samples/api/hello_triangle/hello_triangle.cpp
|
||||||
|
@@ -187,6 +187,8 @@ void HelloTriangle::init_instance(Context & context,
|
||||||
|
active_instance_extensions.push_back(VK_MVK_MACOS_SURFACE_EXTENSION_NAME);
|
||||||
|
#elif defined(VK_USE_PLATFORM_XCB_KHR)
|
||||||
|
active_instance_extensions.push_back(VK_KHR_XCB_SURFACE_EXTENSION_NAME);
|
||||||
|
+#elif defined(VK_USE_PLATFORM_WAYLAND_KHR)
|
||||||
|
+ active_instance_extensions.push_back(VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME);
|
||||||
|
#elif defined(VK_USE_PLATFORM_DISPLAY_KHR)
|
||||||
|
active_instance_extensions.push_back(VK_KHR_DISPLAY_EXTENSION_NAME);
|
||||||
|
#else
|
||||||
|
@@ -466,7 +468,7 @@ void HelloTriangle::init_swapchain(Context &context)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- VkExtent2D swapchain_size = surface_properties.currentExtent;
|
||||||
|
+ VkExtent2D swapchain_size{800,800};
|
||||||
|
|
||||||
|
// FIFO must be supported by all implementations.
|
||||||
|
VkPresentModeKHR swapchain_present_mode = VK_PRESENT_MODE_FIFO_KHR;
|
||||||
|
--
|
||||||
|
2.25.1
|
||||||
|
|
||||||
|
|
@ -0,0 +1,25 @@
|
||||||
|
From 01e6667afa4b11e541f78d74076a780d046f5fa7 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Prabhu Sundararaj <prabhu.sundararaj@nxp.com>
|
||||||
|
Date: Wed, 12 May 2021 16:44:32 -0500
|
||||||
|
Subject: [PATCH 4/4] glfw : define GLFW_INCLUDE_NONE to avoid using default GL
|
||||||
|
|
||||||
|
Signed-off-by: Prabhu Sundararaj <prabhu.sundararaj@nxp.com>
|
||||||
|
---
|
||||||
|
framework/platform/glfw_window.cpp | 1 +
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
|
diff --git a/framework/platform/glfw_window.cpp b/framework/platform/glfw_window.cpp
|
||||||
|
index 0f2de95..91e9228 100644
|
||||||
|
--- a/framework/platform/glfw_window.cpp
|
||||||
|
+++ b/framework/platform/glfw_window.cpp
|
||||||
|
@@ -22,6 +22,7 @@
|
||||||
|
#include "common/error.h"
|
||||||
|
|
||||||
|
VKBP_DISABLE_WARNINGS()
|
||||||
|
+#define GLFW_INCLUDE_NONE
|
||||||
|
#include <GLFW/glfw3.h>
|
||||||
|
#include <GLFW/glfw3native.h>
|
||||||
|
#include <spdlog/sinks/stdout_color_sinks.h>
|
||||||
|
--
|
||||||
|
2.25.1
|
||||||
|
|
||||||
|
|
@ -0,0 +1,32 @@
|
||||||
|
From 69bfc75b74c4b554fb576562684ba0b970771fb4 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Prabhu Sundararaj <prabhu.sundararaj@nxp.com>
|
||||||
|
Date: Wed, 12 May 2021 17:20:50 -0500
|
||||||
|
Subject: [PATCH 5/5] glfw: fix glfw3.h gl error
|
||||||
|
|
||||||
|
Signed-off-by: Prabhu Sundararaj <prabhu.sundararaj@nxp.com>
|
||||||
|
---
|
||||||
|
samples/extensions/open_gl_interop/offscreen_context.h | 3 ++-
|
||||||
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/samples/extensions/open_gl_interop/offscreen_context.h b/samples/extensions/open_gl_interop/offscreen_context.h
|
||||||
|
index c125aeb..7260c11 100644
|
||||||
|
--- a/samples/extensions/open_gl_interop/offscreen_context.h
|
||||||
|
+++ b/samples/extensions/open_gl_interop/offscreen_context.h
|
||||||
|
@@ -57,6 +57,7 @@ struct ContextData
|
||||||
|
};
|
||||||
|
#else
|
||||||
|
// Desktop
|
||||||
|
+#define GLFW_INCLUDE_ES31
|
||||||
|
# include <GLFW/glfw3.h>
|
||||||
|
# include <GLFW/glfw3native.h>
|
||||||
|
|
||||||
|
@@ -87,4 +88,4 @@ class OffscreenContext
|
||||||
|
ContextData data;
|
||||||
|
|
||||||
|
GLuint load_shader(const char *shader_source, GLenum shader_type);
|
||||||
|
-};
|
||||||
|
\ No newline at end of file
|
||||||
|
+};
|
||||||
|
--
|
||||||
|
2.25.1
|
||||||
|
|
||||||
|
|
@ -0,0 +1,24 @@
|
||||||
|
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
|
||||||
|
|
||||||
|
SRC_URI += " \
|
||||||
|
file://0001-Add-support-for-wayland.patch \
|
||||||
|
file://0002-Wayland-support-Use-local-context-window-size.patch \
|
||||||
|
file://0003-wayland-support-for-Hello-triangle-sample.patch \
|
||||||
|
file://0004-glfw-define-GLFW_INCLUDE_NONE-to-avoid-using-default.patch \
|
||||||
|
file://0005-glfw-fix-glfw3.h-gl-error.patch \
|
||||||
|
"
|
||||||
|
|
||||||
|
DEPENDS = "extra-cmake-modules"
|
||||||
|
|
||||||
|
# Can only pick one of [wayland,xcb]
|
||||||
|
PACKAGECONFIG = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', 'xcb', d)}"
|
||||||
|
PACKAGECONFIG[wayland] = "-DVKB_BUILD_WAYLAND=1 -DGLFW_USE_WAYLAND=1, ,wayland wayland-native wayland-protocols libxkbcommon"
|
||||||
|
PACKAGECONFIG[xcb] = ",,libxcb"
|
||||||
|
|
||||||
|
do_install() {
|
||||||
|
install -d ${D}${bindir}
|
||||||
|
cp ${B}/app/bin/aarch64/vulkan_samples ${D}${bindir}/
|
||||||
|
chmod a+x ${D}${bindir}/vulkan_samples
|
||||||
|
cp -r ${S}/assets ${D}${bindir}/
|
||||||
|
cp -r ${S}/shaders ${D}${bindir}/
|
||||||
|
}
|
||||||
|
|
@ -1,8 +0,0 @@
|
||||||
|
|
||||||
# choose wayland
|
|
||||||
PACKAGECONFIG = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '' ,d)}"
|
|
||||||
|
|
||||||
EXTRA_OECMAKE = "-DBUILD_CUBE=OFF"
|
|
||||||
|
|
||||||
COMPATIBLE_MACHINE = "(mx8)"
|
|
||||||
COMPATIBLE_MACHINE_mx8mm = "(^$)"
|
|
||||||
|
|
@ -1,25 +0,0 @@
|
||||||
SUMMARY = "Vulkan Tools"
|
|
||||||
DESCRIPTION = "This project provides Vulkan tools and utilities that \
|
|
||||||
can assist development by enabling developers to verify their \
|
|
||||||
applications correct use of the Vulkan API."
|
|
||||||
SECTION = "graphics"
|
|
||||||
HOMEPAGE = "https://github.com/LunarG/VulkanTools"
|
|
||||||
|
|
||||||
DEPENDS = "vulkan-headers vulkan-loader"
|
|
||||||
|
|
||||||
inherit cmake python3native
|
|
||||||
|
|
||||||
LICENSE = "Apache-2.0"
|
|
||||||
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
|
|
||||||
|
|
||||||
S = "${WORKDIR}/git"
|
|
||||||
|
|
||||||
SRCREV = "ea8f6f0a3cdfc79bddf3566bf3f4b8350436695b"
|
|
||||||
SRC_URI = "git://github.com/KhronosGroup/Vulkan-Tools.git;branch=sdk-${PV} \
|
|
||||||
"
|
|
||||||
# must choose x11 or wayland or both
|
|
||||||
PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '' ,d)} \
|
|
||||||
${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '' ,d)}"
|
|
||||||
|
|
||||||
PACKAGECONFIG[x11] = "-DBUILD_WSI_XLIB_SUPPORT=ON -DBUILD_WSI_XCB_SUPPORT=ON -DCUBE_WSI_SELECTION=XCB, -DBUILD_WSI_XLIB_SUPPORT=OFF -DBUILD_WSI_XCB_SUPPORT=OFF -DCUBE_WSI_SELECTION=WAYLAND, libxcb libx11"
|
|
||||||
PACKAGECONFIG[wayland] = "-DBUILD_WSI_WAYLAND_SUPPORT=ON, -DBUILD_WSI_WAYLAND_SUPPORT=OFF, wayland"
|
|
||||||
|
|
@ -12,11 +12,11 @@ Signed-off-by: Neena Busireddy <neenareddy.busireddy@nxp.com>
|
||||||
layers/CMakeLists.txt | 4 ++--
|
layers/CMakeLists.txt | 4 ++--
|
||||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
diff --git a/layers/CMakeLists.txt b/layers/CMakeLists.txt
|
Index: git/layers/CMakeLists.txt
|
||||||
index 5541816..579c8b8 100644
|
===================================================================
|
||||||
--- a/layers/CMakeLists.txt
|
--- git.orig/layers/CMakeLists.txt
|
||||||
+++ b/layers/CMakeLists.txt
|
+++ git/layers/CMakeLists.txt
|
||||||
@@ -98,7 +98,7 @@ if(BUILD_LAYERS)
|
@@ -93,7 +93,7 @@ if(BUILD_LAYERS)
|
||||||
elseif(UNIX) # UNIX includes APPLE
|
elseif(UNIX) # UNIX includes APPLE
|
||||||
foreach(TARGET_NAME ${TARGET_NAMES})
|
foreach(TARGET_NAME ${TARGET_NAMES})
|
||||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/staging-json/${TARGET_NAME}.json
|
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/staging-json/${TARGET_NAME}.json
|
||||||
|
|
@ -25,8 +25,8 @@ index 5541816..579c8b8 100644
|
||||||
endforeach()
|
endforeach()
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
@@ -256,7 +256,7 @@ if(BUILD_LAYERS)
|
@@ -270,7 +270,7 @@ if(BUILD_LAYERS)
|
||||||
-DVK_VERSION=1.1.${vk_header_version})
|
-DVK_VERSION=1.2.${vk_header_version})
|
||||||
# If this json file is not a metalayer, get the needed properties from that target
|
# If this json file is not a metalayer, get the needed properties from that target
|
||||||
if(TARGET ${TARGET_NAME})
|
if(TARGET ${TARGET_NAME})
|
||||||
- set(INSTALL_DEFINES ${INSTALL_DEFINES} -DRELATIVE_LAYER_BINARY="$<TARGET_FILE_NAME:${TARGET_NAME}>")
|
- set(INSTALL_DEFINES ${INSTALL_DEFINES} -DRELATIVE_LAYER_BINARY="$<TARGET_FILE_NAME:${TARGET_NAME}>")
|
||||||
|
|
@ -34,6 +34,3 @@ index 5541816..579c8b8 100644
|
||||||
endif()
|
endif()
|
||||||
add_custom_target(${TARGET_NAME}-staging-json ALL
|
add_custom_target(${TARGET_NAME}-staging-json ALL
|
||||||
COMMAND ${CMAKE_COMMAND} ${INSTALL_DEFINES} -P "${CMAKE_CURRENT_BINARY_DIR}/generator.cmake")
|
COMMAND ${CMAKE_COMMAND} ${INSTALL_DEFINES} -P "${CMAKE_CURRENT_BINARY_DIR}/generator.cmake")
|
||||||
--
|
|
||||||
2.7.4
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,30 +0,0 @@
|
||||||
FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"
|
|
||||||
|
|
||||||
SRC_URI += " \
|
|
||||||
file://icd_VSI.json \
|
|
||||||
file://0001-CMakeLists.txt-Change-the-installation-path-of-JSON-.patch \
|
|
||||||
"
|
|
||||||
# choose wayland
|
|
||||||
PACKAGECONFIG = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '' ,d)}"
|
|
||||||
|
|
||||||
DEPENDS += " virtual/egl glslang spirv-tools"
|
|
||||||
|
|
||||||
EXTRA_OECMAKE_remove = "-DBUILD_LAYERS=OFF"
|
|
||||||
# Enable validation layers
|
|
||||||
EXTRA_OECMAKE_append = " -DBUILD_LAYERS=ON"
|
|
||||||
|
|
||||||
do_install_append () {
|
|
||||||
|
|
||||||
install -d ${D}${sysconfdir}/vulkan/icd.d
|
|
||||||
cp ${WORKDIR}/icd_VSI.json ${D}${sysconfdir}/vulkan/icd.d
|
|
||||||
sed -i "s,/usr/lib,${libdir}," ${D}${sysconfdir}/vulkan/icd.d/icd_VSI.json
|
|
||||||
sed -i "s,1.0.30,${PV}," ${D}${sysconfdir}/vulkan/icd.d/icd_VSI.json
|
|
||||||
}
|
|
||||||
|
|
||||||
FILES_SOLIBSDEV = ""
|
|
||||||
FILES_${PN} += "${libdir}/libVkLayer_*.so"
|
|
||||||
|
|
||||||
INSANE_SKIP_${PN} = "dev-so"
|
|
||||||
|
|
||||||
COMPATIBLE_MACHINE = "(mx8)"
|
|
||||||
COMPATIBLE_MACHINE_mx8mm = "(^$)"
|
|
||||||
|
|
@ -8,28 +8,35 @@ SECTION = "libs"
|
||||||
|
|
||||||
LICENSE = "Apache-2.0"
|
LICENSE = "Apache-2.0"
|
||||||
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7dbefed23242760aa3475ee42801c5ac"
|
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7dbefed23242760aa3475ee42801c5ac"
|
||||||
SRC_URI = "git://github.com/KhronosGroup/Vulkan-ValidationLayers.git;nobranch=1 \
|
SRC_URI = "git://github.com/KhronosGroup/Vulkan-ValidationLayers.git;branch=sdk-1.2.170"
|
||||||
"
|
|
||||||
SRCREV = "88fcbab512e449203649d984317ff7b9a9f80b9d"
|
SRCREV = "4fdcd0eebfed3505732720fc6fd98293e847d697"
|
||||||
UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)"
|
|
||||||
|
|
||||||
S = "${WORKDIR}/git"
|
S = "${WORKDIR}/git"
|
||||||
|
|
||||||
REQUIRED_DISTRO_FEATURES = "vulkan"
|
REQUIRED_DISTRO_FEATURES = "vulkan"
|
||||||
|
|
||||||
inherit cmake python3native lib_package features_check
|
inherit cmake features_check
|
||||||
ANY_OF_DISTRO_FEATURES = "x11 wayland"
|
ANY_OF_DISTRO_FEATURES = "x11 wayland"
|
||||||
|
|
||||||
DEPENDS = "vulkan-headers vulkan-loader"
|
DEPENDS = "vulkan-headers glslang spirv-tools spirv-headers"
|
||||||
|
|
||||||
EXTRA_OECMAKE = " \
|
EXTRA_OECMAKE = " \
|
||||||
-DBUILD_LAYERS=OFF \
|
|
||||||
-DGLSLANG_INSTALL_DIR=${STAGING_DIR_HOST}/usr \
|
-DGLSLANG_INSTALL_DIR=${STAGING_DIR_HOST}/usr \
|
||||||
|
-DSPIRV_HEADERS_INSTALL_DIR=${STAGING_DIR_HOST}/usr \
|
||||||
|
-DSPIRV_TOOLS_INSTALL_DIR=${STAGING_DIR_HOST}/usr \
|
||||||
"
|
"
|
||||||
|
|
||||||
# must choose x11 or wayland or both
|
# must choose x11 or wayland or both
|
||||||
PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '' ,d)} \
|
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}"
|
||||||
${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '' ,d)}"
|
|
||||||
PACKAGECONFIG[x11] = "-DBUILD_WSI_XLIB_SUPPORT=ON -DBUILD_WSI_XCB_SUPPORT=ON -DDEMOS_WSI_SELECTION=XCB, -DBUILD_WSI_XLIB_SUPPORT=OFF -DBUILD_WSI_XCB_SUPPORT=OFF -DDEMOS_WSI_SELECTION=WAYLAND, libxcb libx11 libxrandr"
|
PACKAGECONFIG[x11] = "-DBUILD_WSI_XLIB_SUPPORT=ON -DBUILD_WSI_XCB_SUPPORT=ON -DDEMOS_WSI_SELECTION=XCB, -DBUILD_WSI_XLIB_SUPPORT=OFF -DBUILD_WSI_XCB_SUPPORT=OFF -DDEMOS_WSI_SELECTION=WAYLAND, libxcb libx11 libxrandr"
|
||||||
PACKAGECONFIG[wayland] = "-DBUILD_WSI_WAYLAND_SUPPORT=ON, -DBUILD_WSI_WAYLAND_SUPPORT=OFF, wayland"
|
PACKAGECONFIG[wayland] = "-DBUILD_WSI_WAYLAND_SUPPORT=ON, -DBUILD_WSI_WAYLAND_SUPPORT=OFF, wayland"
|
||||||
|
|
||||||
|
# The output library is unversioned
|
||||||
|
SOLIBS = ".so"
|
||||||
|
FILES_SOLIBSDEV = ""
|
||||||
|
|
||||||
RRECOMMENDS_${PN} = "mesa-vulkan-drivers"
|
RRECOMMENDS_${PN} = "mesa-vulkan-drivers"
|
||||||
|
|
||||||
|
UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)"
|
||||||
|
|
@ -0,0 +1,13 @@
|
||||||
|
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
|
||||||
|
|
||||||
|
SRC_URI += " \
|
||||||
|
file://icd_VSI.json \
|
||||||
|
file://0001-CMakeLists.txt-Change-the-installation-path-of-JSON-.patch \
|
||||||
|
"
|
||||||
|
|
||||||
|
do_install_append () {
|
||||||
|
install -d ${D}${sysconfdir}/vulkan/icd.d
|
||||||
|
cp ${WORKDIR}/icd_VSI.json ${D}${sysconfdir}/vulkan/icd.d
|
||||||
|
sed -i "s,/usr/lib,${libdir}," ${D}${sysconfdir}/vulkan/icd.d/icd_VSI.json
|
||||||
|
sed -i "s,1.0.30,${PV}," ${D}${sysconfdir}/vulkan/icd.d/icd_VSI.json
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue