mirror of
https://github.com/kovidgoyal/kitty
synced 2026-07-23 16:58:09 +02:00
...
This commit is contained in:
@@ -46,6 +46,10 @@ class Specialization(NamedTuple):
|
|||||||
name: str
|
name: str
|
||||||
variables: MappingProxyType[str, str]
|
variables: MappingProxyType[str, str]
|
||||||
|
|
||||||
|
@property
|
||||||
|
def filename_insert(self) -> str:
|
||||||
|
return f'.{self.name}' if self.name else '.default-specialization'
|
||||||
|
|
||||||
|
|
||||||
class SlangFile(NamedTuple):
|
class SlangFile(NamedTuple):
|
||||||
path: str = ''
|
path: str = ''
|
||||||
@@ -261,7 +265,7 @@ def commands_to_compile_to_spirv(sources: dict[str, SlangFile], build_dir: str,
|
|||||||
cmd = list(scmd)
|
cmd = list(scmd)
|
||||||
dest = f'{base_dest}.{x.name}.spv' if x.name else f'{base_dest}.spv'
|
dest = f'{base_dest}.{x.name}.spv' if x.name else f'{base_dest}.spv'
|
||||||
if x.name:
|
if x.name:
|
||||||
cmd.insert(-1, f'{base_dest}.{x.name}.slang-module')
|
cmd.insert(-1, f'{base_dest}{x.filename_insert}.slang-module')
|
||||||
cmd += base_cmd + ['-o', dest]
|
cmd += base_cmd + ['-o', dest]
|
||||||
output_mtime = safe_mtime(dest)
|
output_mtime = safe_mtime(dest)
|
||||||
module_mtime = os.path.getmtime(slang_module)
|
module_mtime = os.path.getmtime(slang_module)
|
||||||
@@ -281,7 +285,7 @@ def commands_to_compile_to_glsl(sources: dict[str, SlangFile], build_dir: str, d
|
|||||||
dest = f'{base_dest}.{ep.stage.name}.glsl'
|
dest = f'{base_dest}.{ep.stage.name}.glsl'
|
||||||
c = list(cmd)
|
c = list(cmd)
|
||||||
if sp.name:
|
if sp.name:
|
||||||
dest = f'{base_dest}.{sp.name}.{ep.stage.name}.glsl'
|
dest = f'{base_dest}{sp.filename_insert}.{ep.stage.name}.glsl'
|
||||||
c.insert(-1, f'{base_dest}.{sp.name}.slang-module')
|
c.insert(-1, f'{base_dest}.{sp.name}.slang-module')
|
||||||
c += extra_cmd + ['-entry', ep.name, '-stage', ep.stage.name, '-o', dest]
|
c += extra_cmd + ['-entry', ep.name, '-stage', ep.stage.name, '-o', dest]
|
||||||
output_mtime = safe_mtime(dest)
|
output_mtime = safe_mtime(dest)
|
||||||
@@ -379,7 +383,7 @@ def create_specialisations(sources: dict[str, SlangFile], build_dir: str, dest_d
|
|||||||
for base_dest, slang_module, cmd, sfile in iter_entry_point_shaders(sources, build_dir, dest_dir):
|
for base_dest, slang_module, cmd, sfile in iter_entry_point_shaders(sources, build_dir, dest_dir):
|
||||||
if sfile.entry_points and sfile.specializations:
|
if sfile.entry_points and sfile.specializations:
|
||||||
for sp in sfile.specializations:
|
for sp in sfile.specializations:
|
||||||
dest = f'{base_dest}.{sp.name}.slang'
|
dest = f'{base_dest}{sp.filename_insert}.slang'
|
||||||
lines = []
|
lines = []
|
||||||
for key, val in sp.variables.items():
|
for key, val in sp.variables.items():
|
||||||
declaration = sfile.specializable_variables[key].rpartition('=')[0]
|
declaration = sfile.specializable_variables[key].rpartition('=')[0]
|
||||||
|
|||||||
Reference in New Issue
Block a user