Fast shader embed
This commit is contained in:
@@ -115,6 +115,7 @@ class Main {
|
||||
#end // arm_snapshot
|
||||
|
||||
#if (!arm_snapshot)
|
||||
iron.data.ShaderData.shaderPath = ""; // Use arm_data_dir
|
||||
kickstart();
|
||||
#end
|
||||
}
|
||||
|
||||
+16
-16
@@ -119,8 +119,8 @@ class Layers {
|
||||
|
||||
static function makeMergePipe(red: Bool, green: Bool, blue: Bool, alpha: Bool): PipelineState {
|
||||
var pipe = new PipelineState();
|
||||
pipe.vertexShader = Reflect.field(kha.Shaders, "layer_merge_vert");
|
||||
pipe.fragmentShader = Reflect.field(kha.Shaders, "layer_merge_frag");
|
||||
pipe.vertexShader = kha.Shaders.getVertex("layer_merge.vert");
|
||||
pipe.fragmentShader = kha.Shaders.getFragment("layer_merge.frag");
|
||||
var vs = new VertexStructure();
|
||||
vs.add("pos", VertexData.Float2);
|
||||
pipe.inputLayout = [vs];
|
||||
@@ -146,8 +146,8 @@ class Layers {
|
||||
blending = pipeMerge.getConstantLocation("blending");
|
||||
|
||||
pipeCopy = new PipelineState();
|
||||
pipeCopy.vertexShader = Reflect.field(kha.Shaders, "layer_view_vert");
|
||||
pipeCopy.fragmentShader = Reflect.field(kha.Shaders, "layer_copy_frag");
|
||||
pipeCopy.vertexShader = kha.Shaders.getVertex("layer_view.vert");
|
||||
pipeCopy.fragmentShader = kha.Shaders.getFragment("layer_copy.frag");
|
||||
var vs = new VertexStructure();
|
||||
vs.add("pos", VertexData.Float3);
|
||||
vs.add("tex", VertexData.Float2);
|
||||
@@ -156,8 +156,8 @@ class Layers {
|
||||
pipeCopy.compile();
|
||||
|
||||
pipeCopyBGRA = new PipelineState();
|
||||
pipeCopyBGRA.vertexShader = Reflect.field(kha.Shaders, "layer_view_vert");
|
||||
pipeCopyBGRA.fragmentShader = Reflect.field(kha.Shaders, "layer_copy_bgra_frag");
|
||||
pipeCopyBGRA.vertexShader = kha.Shaders.getVertex("layer_view.vert");
|
||||
pipeCopyBGRA.fragmentShader = kha.Shaders.getFragment("layer_copy_bgra.frag");
|
||||
var vs = new VertexStructure();
|
||||
vs.add("pos", VertexData.Float3);
|
||||
vs.add("tex", VertexData.Float2);
|
||||
@@ -167,8 +167,8 @@ class Layers {
|
||||
|
||||
#if (kha_metal || kha_vulkan || kha_direct3d12)
|
||||
pipeCopy8 = new PipelineState();
|
||||
pipeCopy8.vertexShader = Reflect.field(kha.Shaders, "layer_view_vert");
|
||||
pipeCopy8.fragmentShader = Reflect.field(kha.Shaders, "layer_copy_frag");
|
||||
pipeCopy8.vertexShader = kha.Shaders.getVertex("layer_view.vert");
|
||||
pipeCopy8.fragmentShader = kha.Shaders.getFragment("layer_copy.frag");
|
||||
var vs = new VertexStructure();
|
||||
vs.add("pos", VertexData.Float3);
|
||||
vs.add("tex", VertexData.Float2);
|
||||
@@ -179,8 +179,8 @@ class Layers {
|
||||
pipeCopy8.compile();
|
||||
|
||||
pipeCopy128 = new PipelineState();
|
||||
pipeCopy128.vertexShader = Reflect.field(kha.Shaders, "layer_view_vert");
|
||||
pipeCopy128.fragmentShader = Reflect.field(kha.Shaders, "layer_copy_frag");
|
||||
pipeCopy128.vertexShader = kha.Shaders.getVertex("layer_view.vert");
|
||||
pipeCopy128.fragmentShader = kha.Shaders.getFragment("layer_copy.frag");
|
||||
var vs = new VertexStructure();
|
||||
vs.add("pos", VertexData.Float3);
|
||||
vs.add("tex", VertexData.Float2);
|
||||
@@ -195,8 +195,8 @@ class Layers {
|
||||
#end
|
||||
|
||||
pipeInvert8 = new PipelineState();
|
||||
pipeInvert8.vertexShader = Reflect.field(kha.Shaders, "layer_view_vert");
|
||||
pipeInvert8.fragmentShader = Reflect.field(kha.Shaders, "layer_invert_frag");
|
||||
pipeInvert8.vertexShader = kha.Shaders.getVertex("layer_view.vert");
|
||||
pipeInvert8.fragmentShader = kha.Shaders.getFragment("layer_invert.frag");
|
||||
var vs = new VertexStructure();
|
||||
vs.add("pos", VertexData.Float3);
|
||||
vs.add("tex", VertexData.Float2);
|
||||
@@ -207,8 +207,8 @@ class Layers {
|
||||
pipeInvert8.compile();
|
||||
|
||||
pipeMask = new PipelineState();
|
||||
pipeMask.vertexShader = Reflect.field(kha.Shaders, "layer_merge_vert");
|
||||
pipeMask.fragmentShader = Reflect.field(kha.Shaders, "mask_merge_frag");
|
||||
pipeMask.vertexShader = kha.Shaders.getVertex("layer_merge.vert");
|
||||
pipeMask.fragmentShader = kha.Shaders.getFragment("mask_merge.frag");
|
||||
var vs = new VertexStructure();
|
||||
vs.add("pos", VertexData.Float2);
|
||||
pipeMask.inputLayout = [vs];
|
||||
@@ -219,8 +219,8 @@ class Layers {
|
||||
|
||||
public static function makeCursorPipe() {
|
||||
pipeCursor = new PipelineState();
|
||||
pipeCursor.vertexShader = Reflect.field(kha.Shaders, "cursor_vert");
|
||||
pipeCursor.fragmentShader = Reflect.field(kha.Shaders, "cursor_frag");
|
||||
pipeCursor.vertexShader = kha.Shaders.getVertex("cursor.vert");
|
||||
pipeCursor.fragmentShader = kha.Shaders.getFragment("cursor.frag");
|
||||
var vs = new VertexStructure();
|
||||
#if (kha_metal || kha_vulkan)
|
||||
vs.add("tex", VertexData.Short2Norm);
|
||||
|
||||
@@ -35,8 +35,8 @@ class ImportEnvmap {
|
||||
// Init
|
||||
if (pipeline == null) {
|
||||
pipeline = new PipelineState();
|
||||
pipeline.vertexShader = Reflect.field(kha.Shaders, "pass_vert");
|
||||
pipeline.fragmentShader = Reflect.field(kha.Shaders, "prefilter_envmap_frag");
|
||||
pipeline.vertexShader = kha.Shaders.getVertex("pass.vert");
|
||||
pipeline.fragmentShader = kha.Shaders.getFragment("prefilter_envmap.frag");
|
||||
var vs = new VertexStructure();
|
||||
vs.add("pos", VertexData.Float2);
|
||||
pipeline.inputLayout = [vs];
|
||||
|
||||
@@ -57,8 +57,8 @@ class LineDraw {
|
||||
structure.add("col", VertexData.Float3);
|
||||
pipeline = new PipelineState();
|
||||
pipeline.inputLayout = [structure];
|
||||
pipeline.fragmentShader = Reflect.field(kha.Shaders, "line_frag");
|
||||
pipeline.vertexShader = Reflect.field(kha.Shaders, "line_vert");
|
||||
pipeline.fragmentShader = kha.Shaders.getFragment("line.frag");
|
||||
pipeline.vertexShader = kha.Shaders.getVertex("line.vert");
|
||||
pipeline.depthWrite = true;
|
||||
pipeline.depthMode = CompareMode.Less;
|
||||
pipeline.cullMode = CullMode.None;
|
||||
|
||||
@@ -40,8 +40,8 @@ class UIView2D {
|
||||
inst = this;
|
||||
|
||||
pipe = new PipelineState();
|
||||
pipe.vertexShader = Reflect.field(kha.Shaders, "layer_view_vert");
|
||||
pipe.fragmentShader = Reflect.field(kha.Shaders, "layer_view_frag");
|
||||
pipe.vertexShader = kha.Shaders.getVertex("layer_view.vert");
|
||||
pipe.fragmentShader = kha.Shaders.getFragment("layer_view.frag");
|
||||
var vs = new VertexStructure();
|
||||
vs.add("pos", VertexData.Float3);
|
||||
vs.add("tex", VertexData.Float2);
|
||||
|
||||
+6
-4
@@ -18,9 +18,10 @@ project.addLibrary("syslib");
|
||||
project.addLibrary("formatlib");
|
||||
project.addLibrary("geomlib");
|
||||
project.addLibrary("shaderlib");
|
||||
project.addShaders("Shaders/common/*.glsl", { noembed: false});
|
||||
project.addShaders("Shaders/common/*.glsl", { embed: snapshot});
|
||||
project.addAssets("Assets/common/*", { destination: "data/{name}", embed: snapshot });
|
||||
if (!snapshot) {
|
||||
project.addDefine("arm_noembed");
|
||||
project.addAssets("Assets/common/extra/*", { destination: "data/{name}" });
|
||||
}
|
||||
project.addAssets("Assets/export_presets/*", { destination: "data/export_presets/{name}" });
|
||||
@@ -31,7 +32,7 @@ project.addAssets("Assets/plugins/*", { destination: "data/plugins/{name}" });
|
||||
project.addAssets("Assets/themes/*.json", { destination: "data/themes/{name}" });
|
||||
project.addAssets("Assets/meshes/*", { destination: "data/meshes/{name}" });
|
||||
if (metal) {
|
||||
project.addShaders("Shaders/common/metal/*.glsl", { noembed: false});
|
||||
project.addShaders("Shaders/common/metal/*.glsl", { embed: snapshot});
|
||||
project.addAssets("Assets/common/metal/*", { destination: "data/{name}" });
|
||||
}
|
||||
project.addDefine("js-es=6");
|
||||
@@ -92,6 +93,7 @@ if (vr) {
|
||||
if (snapshot) {
|
||||
project.addDefine("arm_snapshot");
|
||||
project.addDefine("arm_image_embed");
|
||||
project.addDefine("arm_shader_embed");
|
||||
project.addParameter("--no-traces");
|
||||
}
|
||||
|
||||
@@ -122,10 +124,10 @@ if (process.platform !== "darwin" && !raytrace && !android && !ios) {
|
||||
project.addDefine("arm_voxelgi_revox");
|
||||
|
||||
if (process.platform === "win32" && win_hlsl) {
|
||||
project.addShaders("Shaders/voxel_hlsl/*.glsl", { noprocessing: true, noembed: false });
|
||||
project.addShaders("Shaders/voxel_hlsl/*.glsl", { embed: snapshot, noprocessing: true });
|
||||
}
|
||||
else {
|
||||
project.addShaders("Shaders/voxel_glsl/*.glsl", { noembed: false });
|
||||
project.addShaders("Shaders/voxel_glsl/*.glsl", { embed: snapshot });
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user