blob: 6e294a0eae6555a50d70a10c67986830fa86b1f2 [file] [log] [blame]
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
namespace impeller.fb;
enum Stage:byte {
kVertex,
kFragment,
kCompute,
kTessellationControl,
kTessellationEvaluation,
}
enum TargetPlatform:byte {
kMetal,
kOpenGLES,
kSkSL,
}
enum UniformDataType:uint32 {
kBoolean,
kSignedByte,
kUnsignedByte,
kSignedShort,
kUnsignedShort,
kSignedInt,
kUnsignedInt,
kSignedInt64,
kUnsignedInt64,
kHalfFloat,
kFloat,
kDouble,
kSampledImage,
}
table UniformDescription {
name: string;
location: uint64;
type: UniformDataType;
bit_width: uint64;
rows: uint64;
columns: uint64;
array_elements: uint64;
}
table RuntimeStage {
stage: Stage;
target_platform: TargetPlatform;
entrypoint: string;
uniforms: [UniformDescription];
shader: [ubyte];
sksl: [ubyte];
}
root_type RuntimeStage;
file_identifier "IPLR";