Skip to content

Commit baffb84

Browse files
committed
- move spirv msl version extraction to function
1 parent 11e1028 commit baffb84

File tree

1 file changed

+15
-10
lines changed

1 file changed

+15
-10
lines changed

pmfx_pipeline.py

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -710,6 +710,20 @@ def metal_compile_options(info):
710710
return metal_sdk, metal_min_os, metal_version
711711

712712

713+
# convert msl version (ie. 2.1) to spriv msl version 201000 <MMmmpp>
714+
def to_spirv_msl_version(metal_version):
715+
# spirv msl versions
716+
msl_version = metal_version.split(".")
717+
if len(msl_version) < 3:
718+
msl_version.append("00")
719+
spirv_msl_version = ""
720+
for v in msl_version:
721+
if len(v) < 2:
722+
v += "0"
723+
spirv_msl_version += v
724+
return spirv_msl_version
725+
726+
713727
# cross compile hlsl -> spirv -> metal
714728
def cross_compile_hlsl_metal(info, src, stage, entry_point, temp_filepath, output_filepath):
715729
exe = os.path.join(info.tools_dir, "bin", "macos", "dxc")
@@ -727,18 +741,9 @@ def cross_compile_hlsl_metal(info, src, stage, entry_point, temp_filepath, outpu
727741
error_list += el
728742
output_list += ol
729743

730-
msl_version = info.metal_version.split(".")
731-
if len(msl_version) < 3:
732-
msl_version.append("00")
733-
spirv_msl_version = ""
734-
for v in msl_version:
735-
if len(v) < 2:
736-
v += "0"
737-
spirv_msl_version += v
738-
744+
spirv_msl_version = to_spirv_msl_version(info.metal_version)
739745
metal_filepath = os.path.splitext(temp_filepath)[0] + ".metal"
740746
cmdline = "{} --msl --msl-version {} {} --output {}".format(spirv_cross, spirv_msl_version, spirv_filepath, metal_filepath)
741-
print(cmdline)
742747

743748
ec, el, ol = build_pmfx.call_wait_subprocess(cmdline)
744749
error_list += el

0 commit comments

Comments
 (0)