diff options
| author | ruki <[email protected]> | 2022-03-13 17:27:35 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2022-03-13 17:27:35 +0800 |
| commit | b8d08294e7ea773ec6aa877e06844ab5024f9a5e (patch) | |
| tree | aba2ee42059903193c838c64704afba941eaa957 | |
| parent | a853f8718c494fb69293a6088e581d255f27d5f7 (diff) | |
| parent | a63fb414d214fb08914a6f51dd8af8efefb9a483 (diff) | |
Merge pull request #2157 from Shan-Zhou/patch-3
Support mesh / raytracing shaders and customizable target environment
| -rw-r--r-- | xmake/rules/utils/glsl2spv/xmake.lua | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/xmake/rules/utils/glsl2spv/xmake.lua b/xmake/rules/utils/glsl2spv/xmake.lua index faf655ec6..b7c772a2b 100644 --- a/xmake/rules/utils/glsl2spv/xmake.lua +++ b/xmake/rules/utils/glsl2spv/xmake.lua @@ -34,7 +34,7 @@ -- -- rule("utils.glsl2spv") - set_extensions(".vert", ".frag", ".tesc", ".tese", ".geom", ".comp", ".glsl") + set_extensions(".vert", ".tesc", ".tese", ".geom", ".comp", ".frag", ".comp", ".mesh", ".task", ".rgen", ".rint", ".rahit", ".rchit", ".rmiss", ".rcall", ".glsl") on_load(function (target) local is_bin2c = target:extraconf("rules", "utils.glsl2spv", "bin2c") if is_bin2c then @@ -57,14 +57,15 @@ rule("utils.glsl2spv") assert(glslangValidator or glslc, "glslangValidator or glslc not found!") -- glsl to spv + local targetenv = target:extraconf("rules", "utils.glsl2spv", "targetenv") or "vulkan1.0" local outputdir = target:extraconf("rules", "utils.glsl2spv", "outputdir") or path.join(target:autogendir(), "rules", "utils", "glsl2spv") local spvfilepath = path.join(outputdir, path.filename(sourcefile_glsl) .. ".spv") batchcmds:show_progress(opt.progress, "${color.build.object}generating.glsl2spv %s", sourcefile_glsl) batchcmds:mkdir(outputdir) if glslangValidator then - batchcmds:vrunv(glslangValidator.program, {"-V", "-o", spvfilepath, sourcefile_glsl}) + batchcmds:vrunv(glslangValidator.program, {"--target-env", targetenv, "-o", spvfilepath, sourcefile_glsl}) else - batchcmds:vrunv(glslc.program, {"-o", spvfilepath, sourcefile_glsl}) + batchcmds:vrunv(glslc.program, {"--target-env", targetenv, "-o", spvfilepath, sourcefile_glsl}) end -- do bin2c |
