blob: 6d78f4b9146fd403bb694c8f04522636277fd0e0 [file] [log] [blame]
syntax = "proto2";
option optimize_for = LITE_RUNTIME;
message ShaderVariableProto {
optional uint32 type = 1;
optional uint32 precision = 2;
optional string name = 3;
optional string mapped_name = 4;
optional uint32 array_size = 5;
optional bool static_use = 6;
repeated ShaderVariableProto fields = 7;
optional string struct_name = 8;
}
message ShaderAttributeProto {
optional ShaderVariableProto basic = 1;
optional int32 location = 2;
}
message ShaderUniformProto {
optional ShaderVariableProto basic = 1;
}
message ShaderVaryingProto {
optional ShaderVariableProto basic = 1;
optional int32 interpolation = 2;
optional bool is_invariant = 3;
}
message ShaderOutputVariableProto {
optional ShaderVariableProto basic = 1;
optional int32 location = 2;
}
message ShaderProto {
optional bytes sha = 1;
repeated ShaderAttributeProto attribs = 2;
repeated ShaderUniformProto uniforms = 3;
repeated ShaderVaryingProto varyings = 4;
repeated ShaderOutputVariableProto output_variables = 5;
}
message GpuProgramProto {
optional bytes sha = 1;
optional uint32 format = 2;
optional bytes program = 3;
optional ShaderProto vertex_shader = 4;
optional ShaderProto fragment_shader = 5;
}