From 22f0c04d2b5f8245ccaee6caee8e5adebea4aea0 Mon Sep 17 00:00:00 2001 From: David Siher <32305650+dsiher@users.noreply.github.com> Date: Thu, 27 Jan 2022 11:53:58 -0500 Subject: Update heterogeneous-hello-world to use gfx changes + delete shader.cpp (#2085) * Update heterogeneous-hello-world to use gfx changes + delete shader.cpp * Remove "experimental feature" tag from premake * Add placeholder executeComputation_0() to shader.cpp * Add shader.cpp to heterogeneous-hello-world files in premake * Added project "heterogeneous-first-gen" to address first time build issues * Re-add "experimental feature" tag, clean up generated file structure Co-authored-by: jsmall-nvidia --- premake5.lua | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) (limited to 'premake5.lua') diff --git a/premake5.lua b/premake5.lua index 69f18a5b4..e83d61728 100644 --- a/premake5.lua +++ b/premake5.lua @@ -151,14 +151,14 @@ newoption { default = "true", allowed = { { "true", "True"}, { "false", "False" } } } - -newoption { + + newoption { trigger = "enable-experimental-projects", description = "(Optional) If true include experimental projects in build.", value = "bool", default = "false", allowed = { { "true", "True"}, { "false", "False" } } - } + } buildLocation = _OPTIONS["build-location"] executeBinary = (_OPTIONS["execute-binary"] == "true") @@ -679,21 +679,30 @@ newoption { example "cpu-hello-world" kind "ConsoleApp" - -if enableExperimental then - -- TODO: Currently this project doesn't build on linux CI. - -- Need to fix so that we don't check in shader.cpp, which changes - -- everytime when it is generated on a different machine (contains absolute path) + + if enableExperimental then + project "heterogeneous-first-gen" + kind "Utility" + links "slangc" + location("build/" .. slangUtil.getBuildLocationName(targetInfo) .. "/heterogeneous-hello-world") + prebuildcommands { + "\"%{wks.location:lower()}/bin/" .. targetName .. "/%{cfg.buildcfg:lower()}/slangc\" \"%{wks.location:lower()}/examples/heterogeneous-hello-world/shader.slang\" -o \"%{wks.location:lower()}/examples/heterogeneous-hello-world/shader.cpp\" -heterogeneous -target cpp -target hlsl" + } + example "heterogeneous-hello-world" kind "ConsoleApp" -- Additionally add slangc for compiling shader.cpp - links { "example-base", "slang", "gfx", "gfx-util", "slangc", "platform", "core" } + links { "example-base", "slang", "gfx", "gfx-util", "slangc", "platform", "core", "heterogeneous-first-gen" } -- Generate shader.cpp from shader.slang - prebuildmessage ("Generating shader.cpp from shader.slang") + prebuildmessage "Generating shader.cpp in %{wks.location:lower()}/examples/heterogeneous-hello-world/" prebuildcommands { "\"%{wks.location:lower()}/bin/" .. targetName .. "/%{cfg.buildcfg:lower()}/slangc\" \"%{wks.location:lower()}/examples/heterogeneous-hello-world/shader.slang\" -o \"%{wks.location:lower()}/examples/heterogeneous-hello-world/shader.cpp\" -heterogeneous -target cpp -target hlsl" } -end + files { + "examples/heterogeneous-hello-world/shader.cpp" + } + end + -- Most of the other projects have more interesting configuration going -- on, so let's walk through them in order of increasing complexity. -- -- cgit v1.2.3