summaryrefslogtreecommitdiff
path: root/recipes
diff options
context:
space:
mode:
authorMax Krummenacher <max.krummenacher@toradex.com>2012-10-17 19:09:30 +0200
committerMax Krummenacher <max.krummenacher@toradex.com>2012-10-18 20:32:58 +0200
commitc5813c915b2956ebf58b463777ce74bf16436ed1 (patch)
tree19968b6d42da283d2c2239b4c519c019be8ffeaf /recipes
parent6728afa35807b459df1f2f7e0723afdb35ef778b (diff)
nvsamples: don't use source shaders, L4T can not cope compile for hardfloat
Diffstat (limited to 'recipes')
-rw-r--r--recipes/trdx-nv-binaries/files/nvsamples-hardfp.patchbin0 -> 6479 bytes
-rw-r--r--recipes/trdx-nv-binaries/files/nvsamples-no-binary-shaders.patch93
-rw-r--r--recipes/trdx-nv-binaries/files/nvsamples-oe.patch1
-rw-r--r--recipes/trdx-nv-binaries/nvsamples.bb18
4 files changed, 111 insertions, 1 deletions
diff --git a/recipes/trdx-nv-binaries/files/nvsamples-hardfp.patch b/recipes/trdx-nv-binaries/files/nvsamples-hardfp.patch
new file mode 100644
index 0000000..43376d7
--- /dev/null
+++ b/recipes/trdx-nv-binaries/files/nvsamples-hardfp.patch
Binary files differ
diff --git a/recipes/trdx-nv-binaries/files/nvsamples-no-binary-shaders.patch b/recipes/trdx-nv-binaries/files/nvsamples-no-binary-shaders.patch
new file mode 100644
index 0000000..73b27a1
--- /dev/null
+++ b/recipes/trdx-nv-binaries/files/nvsamples-no-binary-shaders.patch
@@ -0,0 +1,93 @@
+diff -Naur nvsamples.orig/make/nvdefs.mk nvsamples/make/nvdefs.mk
+--- nvsamples.orig/make/nvdefs.mk 2012-09-10 19:16:45.299731097 +0200
++++ nvsamples/make/nvdefs.mk 2012-09-24 19:41:40.659811178 +0200
+@@ -86,7 +86,8 @@
+
+ NV_CGDIR = $(NV_TOPDIR)/utils/Cg
+ HEXIFY = $(NV_CGDIR)/hexify.pl
+-CGC = $(NV_CGDIR)/$(NV_HOST_OSTYPE)/cgc -quiet
++#prevent binary shaders, the L4T OpenGL drivers do not support them
++#CGC = $(NV_CGDIR)/$(NV_HOST_OSTYPE)/cgc -quiet
+ SHADER_FIX = $(NV_CGDIR)/$(NV_HOST_OSTYPE)/shaderfix
+ CGC_CG = $(CGC)
+ CGC_GLSL = $(CGC) -ogles
+@@ -124,3 +127,10 @@
+ $(CGC_CG_FRG) -o $*.tmp $<
+ $(SHADER_FIX) -o $@ $*.tmp
+ rm -rf $*.tmp
++
++#deploy source shaders in headerfiles
++%.hglslv: %.glslv
++ $(HEXIFY) $< $@
++
++%.hglslf: %.glslf
++ $(HEXIFY) $< $@
+
+diff -Naur nvsamples.orig/samples/opengles2/bubble/shaders.c nvsamples/samples/opengles2/bubble/shaders.c
+--- nvsamples.orig/samples/opengles2/bubble/shaders.c 2011-05-04 13:36:25.000000000 +0200
++++ nvsamples/samples/opengles2/bubble/shaders.c 2012-10-16 14:17:57.593654157 +0200
+@@ -88,16 +88,16 @@
+ // Otherwise, load and compile the shader sources
+ prog_bubble =
+ NvGl2DemoLoadShaderSources(
+- "bubble_vert.glslv", "bubble_frag.glslf", GL_FALSE);
++ "shaders/bubble_vert.glslv", "shaders/bubble_frag.glslf", GL_FALSE);
+ prog_mesh =
+ NvGl2DemoLoadShaderSources(
+- "mesh_vert.glslv", "mesh_frag.glslf", GL_FALSE);
++ "shaders/mesh_vert.glslv", "shaders/mesh_frag.glslf", GL_FALSE);
+ prog_cube =
+ NvGl2DemoLoadShaderSources(
+- "envCube_vert.glslv", "envCube_frag.glslf", GL_FALSE);
++ "shaders/envCube_vert.glslv", "shaders/envCube_frag.glslf", GL_FALSE);
+ prog_mouse =
+ NvGl2DemoLoadShaderSources(
+- "mouse_vert.glslv", "mouse_frag.glslf", GL_FALSE);
++ "shaders/mouse_vert.glslv", "shaders/mouse_frag.glslf", GL_FALSE);
+ # endif
+
+ success = prog_bubble && prog_mesh && prog_cube && prog_mouse;
+diff -Naur nvsamples.orig/samples/opengles2/ctree/shaders.c nvsamples/samples/opengles2/ctree/shaders.c
+--- nvsamples.orig/samples/opengles2/ctree/shaders.c 2011-05-04 13:36:26.000000000 +0200
++++ nvsamples/samples/opengles2/ctree/shaders.c 2012-10-16 14:17:16.193651084 +0200
+@@ -130,22 +130,22 @@
+ // Otherwise, load and compile the shader sources
+ prog_solids =
+ NvGl2DemoLoadShaderSources(
+- "lighting_vert.glslv", "solids_frag.glslf", GL_FALSE);
++ "shaders/lighting_vert.glslv", "shaders/solids_frag.glslf", GL_FALSE);
+ prog_leaves =
+ NvGl2DemoLoadShaderSources(
+- "lighting_vert.glslv", "leaves_frag.glslf", GL_FALSE);
++ "shaders/lighting_vert.glslv", "shaders/leaves_frag.glslf", GL_FALSE);
+ prog_simplecol =
+ NvGl2DemoLoadShaderSources(
+- "simplecol_vert.glslv", "simplecol_frag.glslf", GL_FALSE);
++ "shaders/simplecol_vert.glslv", "shaders/simplecol_frag.glslf", GL_FALSE);
+ prog_simpletex =
+ NvGl2DemoLoadShaderSources(
+- "simpletex_vert.glslv", "simpletex_frag.glslf", GL_FALSE);
++ "shaders/simpletex_vert.glslv", "shaders/simpletex_frag.glslf", GL_FALSE);
+ prog_overlaycol =
+ NvGl2DemoLoadShaderSources(
+- "overlaycol_vert.glslv", "overlaycol_frag.glslf", GL_FALSE);
++ "shaders/overlaycol_vert.glslv", "shaders/overlaycol_frag.glslf", GL_FALSE);
+ prog_overlaytex =
+ NvGl2DemoLoadShaderSources(
+- "overlaytex_vert.glslv", "overlaytex_frag.glslf", GL_FALSE);
++ "shaders/overlaytex_vert.glslv", "shaders/overlaytex_frag.glslf", GL_FALSE);
+ # endif
+ success = prog_solids && prog_leaves
+ && prog_simplecol && prog_simpletex
+diff -Naur nvsamples.orig/samples/opengles2/gears/gears.c nvsamples/samples/opengles2/gears/gears.c
+--- nvsamples.orig/samples/opengles2/gears/gears.c 2011-05-04 13:36:27.000000000 +0200
++++ nvsamples/samples/opengles2/gears/gears.c 2012-10-16 14:14:51.433680786 +0200
+@@ -393,7 +393,7 @@
+ // Otherwise, load and compile the shader source
+ gearShaderProgram =
+ NvGl2DemoLoadShaderSources(
+- "gears_vert.glslv", "gears_frag.glslf", GL_FALSE);
++ "shaders/gears_vert.glslv", "shaders/gears_frag.glslf", GL_FALSE);
+ # endif
+
+ // Use the program we just loaded
diff --git a/recipes/trdx-nv-binaries/files/nvsamples-oe.patch b/recipes/trdx-nv-binaries/files/nvsamples-oe.patch
index 001c162..149741a 100644
--- a/recipes/trdx-nv-binaries/files/nvsamples-oe.patch
+++ b/recipes/trdx-nv-binaries/files/nvsamples-oe.patch
@@ -48,4 +48,3 @@ diff -Naur nvsamples-1.0-r0.orig/nvsamples/make/nvdefs.mk nvsamples-1.0-r0/nvsam
NV_CGDIR = $(NV_TOPDIR)/utils/Cg
HEXIFY = $(NV_CGDIR)/hexify.pl
-Datei nvsamples-1.0-r0.orig/pseudo/pseudo.socket ist ein socket wÀhrend Datei nvsamples-1.0-r0/pseudo/pseudo.socket ein socket ist.
diff --git a/recipes/trdx-nv-binaries/nvsamples.bb b/recipes/trdx-nv-binaries/nvsamples.bb
index d24b82e..159ae28 100644
--- a/recipes/trdx-nv-binaries/nvsamples.bb
+++ b/recipes/trdx-nv-binaries/nvsamples.bb
@@ -8,6 +8,8 @@ PR = "r0"
SRC_URI = "http://developer.toradex.com/files/toradex-dev/uploads/media/Colibri/Linux/Samples/nvsamples.tar.bz2 \
file://nvsamples-oe.patch \
+ file://nvsamples-no-binary-shaders.patch \
+ file://nvsamples-hardfp.patch \
"
S = "${WORKDIR}/nvsamples"
@@ -20,9 +22,20 @@ INSANE_SKIP_${PN} = "dev-so ldflags"
FILES_${PN} += " \
/home/root/textures/* \
+ /home/root/shaders/* \
"
do_compile () {
+ cd ${S}/samples/tools/nvtexfont2
+ oe_runmake clean
+ oe_runmake WORKDIR=${WORKDIR}
+ mv -f libnvtexfont2.a ${S}/lib-target/
+
+ cd ${S}/samples/tools/nvgl2demo_common
+ oe_runmake clean
+ oe_runmake WORKDIR=${WORKDIR}
+ mv -f libnvgl2demo_common.a ${S}/lib-target/
+
cd ${S}/samples/opengles2
oe_runmake clean
oe_runmake WORKDIR=${WORKDIR}
@@ -32,13 +45,18 @@ do_install () {
# install the sample code
install -d ${D}${bindir}
install -d ${D}/home/root/textures
+ install -d ${D}/home/root/shaders
install -m 0755 ${S}/samples/opengles2/ctree/ctree ${D}${bindir}
install -m 0644 ${S}/samples/opengles2/ctree/textures/* ${D}/home/root/textures
+ install -m 0644 ${S}/samples/opengles2/ctree/*.glsl? ${D}/home/root/shaders
install -m 0755 ${S}/samples/opengles2/bubble/bubble ${D}${bindir}
install -m 0644 ${S}/samples/opengles2/bubble/textures/* ${D}/home/root/textures
+ install -m 0644 ${S}/samples/opengles2/bubble/*.glsl? ${D}/home/root/shaders
install -m 0755 ${S}/samples/opengles2/gears/gears ${D}${bindir}
+ install -m 0644 ${S}/samples/opengles2/gears/*.glsl? ${D}/home/root/shaders
# export OpenGL ES headers
+# maybe replace with http://www.khronos.org/registry/omxil/api/1.2.0/OpenMAX_IL_1_2_0_Header.zip, http://www.khronos.org/registry/khronos_headers.tgz
for dir in EGL GLES2 KD KHR OpenMAX/il OpenMAX/ilclient
do
install -d ${D}${includedir}/$dir