From ebfbd8ee95b9945a0a4d0fd5351f1f57d29a9165 Mon Sep 17 00:00:00 2001 From: Denys Dmytriyenko Date: Thu, 12 Sep 2013 21:34:47 -0400 Subject: [PATCH] libgles-omap3: add automatic selection between softfp and hardfp binaries This is based on the work by Franklin Cooper, with following changes: * Cleanup and simplify the logic * Reduce the number of Python calls * Expand support from Raw to X11 variant The original description: * The Graphics SDK includes some binaries that are prebuilt. * These prebuilt binaries come in two versions of the Graphics SDK. By default the prebuilt binaries are built using a softfp toolchain. A separate hardfp Graphics SDK exist that contains binaries that are prebuilt with a hardfp toolchain. * Add support for both by checking to see if the toolchain used in the OE build is using a hardfp or softfp toolchain. Signed-off-by: Denys Dmytriyenko Cc: Franklin S. Cooper Jr Acked-by: Chase Maupin --- .../libgles/libgles-omap3-x11_4.09.00.01.bb | 23 +++++++++++++++---- .../libgles/libgles-omap3_4.09.00.01.bb | 23 +++++++++++++++---- 2 files changed, 36 insertions(+), 10 deletions(-) diff --git a/recipes-graphics/libgles/libgles-omap3-x11_4.09.00.01.bb b/recipes-graphics/libgles/libgles-omap3-x11_4.09.00.01.bb index 6b9c5613..df84f9b3 100644 --- a/recipes-graphics/libgles/libgles-omap3-x11_4.09.00.01.bb +++ b/recipes-graphics/libgles/libgles-omap3-x11_4.09.00.01.bb @@ -2,11 +2,11 @@ require libgles-omap3-x11.inc LICENSE = "TSPA" -PR = "${INC_PR}.0" +PR = "${INC_PR}.1" DEFAULT_PREFERENCE = "-1" -BINLOCATION_omap3 = "${S}/gfx_rel_es3.x" +BINLOCATION_omap3 = "${S}/gfx_rel_es3.x" BINLOCATION_ti816x = "${S}/gfx_rel_es6.x" BINLOCATION_ti814x = "${S}/gfx_rel_es6.x" BINLOCATION_ti33x = "${S}/gfx_rel_es8.x" @@ -20,8 +20,20 @@ PVR_INIT = "pvrsrvctl" SGXPV = "4_09_00_01" IMGPV = "1.9.2188537" -BINFILE = "Graphics_SDK_setuplinux_${SGXPV}_minimal_demos.bin" + TI_BIN_UNPK_WDEXT := "/Graphics_SDK_${SGXPV}" + +# Select the corresponding hardfp/softfp filename and checksums based on tune flags +BINFILE_SOFTFP = "Graphics_SDK_setuplinux_${SGXPV}_minimal_demos.bin" +MD5SUM_SOFTFP = "bd35e9d8843aff3a2aca9d41e7db1c7d" +SHA256SUM_SOFTFP = "eb37f75ddde4640b09e760fa86e689beb394330ecdf68786188c34f249247647" + +BINFILE_HARDFP = "Graphics_SDK_setuplinux_${SGXPV}_hardfp_minimal_demos.bin" +MD5SUM_HARDFP = "c9f656dce062d1ab10afffd4dfb71b67" +SHA256SUM_HARDFP = "dbfeba8e1298f139495816334edec1455e6b49b1e11bd1b2aa0a888e5788bb6b" + +BINFILE = "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${BINFILE_HARDFP}', '${BINFILE_SOFTFP}', d)}" + SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/${SGXPV}/exports/${BINFILE} \ file://cputype \ file://rc.pvr \ @@ -29,8 +41,9 @@ SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gf file://sample.desktop \ file://99-bufferclass.rules \ " -SRC_URI[md5sum] = "bd35e9d8843aff3a2aca9d41e7db1c7d" -SRC_URI[sha256sum] = "eb37f75ddde4640b09e760fa86e689beb394330ecdf68786188c34f249247647" + +SRC_URI[md5sum] = "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${MD5SUM_HARDFP}', '${MD5SUM_SOFTFP}', d)}" +SRC_URI[sha256sum] = "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${SHA256SUM_HARDFP}', '${SHA256SUM_SOFTFP}', d)}" S = "${WORKDIR}/Graphics_SDK_${SGXPV}" diff --git a/recipes-graphics/libgles/libgles-omap3_4.09.00.01.bb b/recipes-graphics/libgles/libgles-omap3_4.09.00.01.bb index a4da2f99..6899cfc7 100644 --- a/recipes-graphics/libgles/libgles-omap3_4.09.00.01.bb +++ b/recipes-graphics/libgles/libgles-omap3_4.09.00.01.bb @@ -2,11 +2,11 @@ require libgles-omap3-no-x.inc LICENSE = "TSPA" -PR = "${INC_PR}.0" +PR = "${INC_PR}.1" DEFAULT_PREFERENCE = "-1" -BINLOCATION_omap3 = "${S}/gfx_rel_es3.x" +BINLOCATION_omap3 = "${S}/gfx_rel_es3.x" BINLOCATION_ti816x = "${S}/gfx_rel_es6.x" BINLOCATION_ti814x = "${S}/gfx_rel_es6.x" BINLOCATION_ti33x = "${S}/gfx_rel_es8.x" @@ -20,15 +20,28 @@ PVR_INIT = "pvrsrvctl" SGXPV = "4_09_00_01" IMGPV = "1.9.2188537" -BINFILE = "Graphics_SDK_setuplinux_${SGXPV}_minimal_demos.bin" + TI_BIN_UNPK_WDEXT := "/Graphics_SDK_${SGXPV}" + +# Select the corresponding hardfp/softfp filename and checksums based on tune flags +BINFILE_SOFTFP = "Graphics_SDK_setuplinux_${SGXPV}_minimal_demos.bin" +MD5SUM_SOFTFP = "bd35e9d8843aff3a2aca9d41e7db1c7d" +SHA256SUM_SOFTFP = "eb37f75ddde4640b09e760fa86e689beb394330ecdf68786188c34f249247647" + +BINFILE_HARDFP = "Graphics_SDK_setuplinux_${SGXPV}_hardfp_minimal_demos.bin" +MD5SUM_HARDFP = "c9f656dce062d1ab10afffd4dfb71b67" +SHA256SUM_HARDFP = "dbfeba8e1298f139495816334edec1455e6b49b1e11bd1b2aa0a888e5788bb6b" + +BINFILE = "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${BINFILE_HARDFP}', '${BINFILE_SOFTFP}', d)}" + SRC_URI = "http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/${SGXPV}/exports/${BINFILE} \ file://cputype \ file://rc.pvr \ file://99-bufferclass.rules \ " -SRC_URI[md5sum] = "bd35e9d8843aff3a2aca9d41e7db1c7d" -SRC_URI[sha256sum] = "eb37f75ddde4640b09e760fa86e689beb394330ecdf68786188c34f249247647" + +SRC_URI[md5sum] = "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${MD5SUM_HARDFP}', '${MD5SUM_SOFTFP}', d)}" +SRC_URI[sha256sum] = "${@base_contains('TUNE_FEATURES', 'callconvention-hard', '${SHA256SUM_HARDFP}', '${SHA256SUM_SOFTFP}', d)}" S = "${WORKDIR}/Graphics_SDK_${SGXPV}"