| Index: mojo/dart/packages/mojo_services/lib/mojo/gpu_capabilities.mojom.dart
|
| diff --git a/mojo/dart/packages/mojo_services/lib/mojo/gpu_capabilities.mojom.dart b/mojo/dart/packages/mojo_services/lib/mojo/gpu_capabilities.mojom.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..c9c57fcd5b026e50c8142ddbe84fa5cd46c4684d
|
| --- /dev/null
|
| +++ b/mojo/dart/packages/mojo_services/lib/mojo/gpu_capabilities.mojom.dart
|
| @@ -0,0 +1,546 @@
|
| +// Copyright 2014 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +library gpu_capabilities_mojom;
|
| +
|
| +import 'dart:async';
|
| +
|
| +import 'package:mojo/bindings.dart' as bindings;
|
| +import 'package:mojo/core.dart' as core;
|
| +
|
| +
|
| +
|
| +class GpuShaderPrecision extends bindings.Struct {
|
| + static const List<bindings.StructDataHeader> kVersions = const [
|
| + const bindings.StructDataHeader(24, 0)
|
| + ];
|
| + int minRange = 0;
|
| + int maxRange = 0;
|
| + int precision = 0;
|
| +
|
| + GpuShaderPrecision() : super(kVersions.last.size);
|
| +
|
| + static GpuShaderPrecision deserialize(bindings.Message message) {
|
| + var decoder = new bindings.Decoder(message);
|
| + var result = decode(decoder);
|
| + if (decoder.excessHandles != null) {
|
| + decoder.excessHandles.forEach((h) => h.close());
|
| + }
|
| + return result;
|
| + }
|
| +
|
| + static GpuShaderPrecision decode(bindings.Decoder decoder0) {
|
| + if (decoder0 == null) {
|
| + return null;
|
| + }
|
| + GpuShaderPrecision result = new GpuShaderPrecision();
|
| +
|
| + var mainDataHeader = decoder0.decodeStructDataHeader();
|
| + if (mainDataHeader.version <= kVersions.last.version) {
|
| + // Scan in reverse order to optimize for more recent versions.
|
| + for (int i = kVersions.length - 1; i >= 0; --i) {
|
| + if (mainDataHeader.version >= kVersions[i].version) {
|
| + if (mainDataHeader.size == kVersions[i].size) {
|
| + // Found a match.
|
| + break;
|
| + }
|
| + throw new bindings.MojoCodecError(
|
| + 'Header size doesn\'t correspond to known version size.');
|
| + }
|
| + }
|
| + } else if (mainDataHeader.size < kVersions.last.size) {
|
| + throw new bindings.MojoCodecError(
|
| + 'Message newer than the last known version cannot be shorter than '
|
| + 'required by the last known version.');
|
| + }
|
| + if (mainDataHeader.version >= 0) {
|
| +
|
| + result.minRange = decoder0.decodeInt32(8);
|
| + }
|
| + if (mainDataHeader.version >= 0) {
|
| +
|
| + result.maxRange = decoder0.decodeInt32(12);
|
| + }
|
| + if (mainDataHeader.version >= 0) {
|
| +
|
| + result.precision = decoder0.decodeInt32(16);
|
| + }
|
| + return result;
|
| + }
|
| +
|
| + void encode(bindings.Encoder encoder) {
|
| + var encoder0 = encoder.getStructEncoderAtOffset(kVersions.last);
|
| +
|
| + encoder0.encodeInt32(minRange, 8);
|
| +
|
| + encoder0.encodeInt32(maxRange, 12);
|
| +
|
| + encoder0.encodeInt32(precision, 16);
|
| + }
|
| +
|
| + String toString() {
|
| + return "GpuShaderPrecision("
|
| + "minRange: $minRange" ", "
|
| + "maxRange: $maxRange" ", "
|
| + "precision: $precision" ")";
|
| + }
|
| +
|
| + Map toJson() {
|
| + Map map = new Map();
|
| + map["minRange"] = minRange;
|
| + map["maxRange"] = maxRange;
|
| + map["precision"] = precision;
|
| + return map;
|
| + }
|
| +}
|
| +
|
| +
|
| +class GpuPerStagePrecisions extends bindings.Struct {
|
| + static const List<bindings.StructDataHeader> kVersions = const [
|
| + const bindings.StructDataHeader(56, 0)
|
| + ];
|
| + GpuShaderPrecision lowInt = null;
|
| + GpuShaderPrecision mediumInt = null;
|
| + GpuShaderPrecision highInt = null;
|
| + GpuShaderPrecision lowFloat = null;
|
| + GpuShaderPrecision mediumFloat = null;
|
| + GpuShaderPrecision highFloat = null;
|
| +
|
| + GpuPerStagePrecisions() : super(kVersions.last.size);
|
| +
|
| + static GpuPerStagePrecisions deserialize(bindings.Message message) {
|
| + var decoder = new bindings.Decoder(message);
|
| + var result = decode(decoder);
|
| + if (decoder.excessHandles != null) {
|
| + decoder.excessHandles.forEach((h) => h.close());
|
| + }
|
| + return result;
|
| + }
|
| +
|
| + static GpuPerStagePrecisions decode(bindings.Decoder decoder0) {
|
| + if (decoder0 == null) {
|
| + return null;
|
| + }
|
| + GpuPerStagePrecisions result = new GpuPerStagePrecisions();
|
| +
|
| + var mainDataHeader = decoder0.decodeStructDataHeader();
|
| + if (mainDataHeader.version <= kVersions.last.version) {
|
| + // Scan in reverse order to optimize for more recent versions.
|
| + for (int i = kVersions.length - 1; i >= 0; --i) {
|
| + if (mainDataHeader.version >= kVersions[i].version) {
|
| + if (mainDataHeader.size == kVersions[i].size) {
|
| + // Found a match.
|
| + break;
|
| + }
|
| + throw new bindings.MojoCodecError(
|
| + 'Header size doesn\'t correspond to known version size.');
|
| + }
|
| + }
|
| + } else if (mainDataHeader.size < kVersions.last.size) {
|
| + throw new bindings.MojoCodecError(
|
| + 'Message newer than the last known version cannot be shorter than '
|
| + 'required by the last known version.');
|
| + }
|
| + if (mainDataHeader.version >= 0) {
|
| +
|
| + var decoder1 = decoder0.decodePointer(8, false);
|
| + result.lowInt = GpuShaderPrecision.decode(decoder1);
|
| + }
|
| + if (mainDataHeader.version >= 0) {
|
| +
|
| + var decoder1 = decoder0.decodePointer(16, false);
|
| + result.mediumInt = GpuShaderPrecision.decode(decoder1);
|
| + }
|
| + if (mainDataHeader.version >= 0) {
|
| +
|
| + var decoder1 = decoder0.decodePointer(24, false);
|
| + result.highInt = GpuShaderPrecision.decode(decoder1);
|
| + }
|
| + if (mainDataHeader.version >= 0) {
|
| +
|
| + var decoder1 = decoder0.decodePointer(32, false);
|
| + result.lowFloat = GpuShaderPrecision.decode(decoder1);
|
| + }
|
| + if (mainDataHeader.version >= 0) {
|
| +
|
| + var decoder1 = decoder0.decodePointer(40, false);
|
| + result.mediumFloat = GpuShaderPrecision.decode(decoder1);
|
| + }
|
| + if (mainDataHeader.version >= 0) {
|
| +
|
| + var decoder1 = decoder0.decodePointer(48, false);
|
| + result.highFloat = GpuShaderPrecision.decode(decoder1);
|
| + }
|
| + return result;
|
| + }
|
| +
|
| + void encode(bindings.Encoder encoder) {
|
| + var encoder0 = encoder.getStructEncoderAtOffset(kVersions.last);
|
| +
|
| + encoder0.encodeStruct(lowInt, 8, false);
|
| +
|
| + encoder0.encodeStruct(mediumInt, 16, false);
|
| +
|
| + encoder0.encodeStruct(highInt, 24, false);
|
| +
|
| + encoder0.encodeStruct(lowFloat, 32, false);
|
| +
|
| + encoder0.encodeStruct(mediumFloat, 40, false);
|
| +
|
| + encoder0.encodeStruct(highFloat, 48, false);
|
| + }
|
| +
|
| + String toString() {
|
| + return "GpuPerStagePrecisions("
|
| + "lowInt: $lowInt" ", "
|
| + "mediumInt: $mediumInt" ", "
|
| + "highInt: $highInt" ", "
|
| + "lowFloat: $lowFloat" ", "
|
| + "mediumFloat: $mediumFloat" ", "
|
| + "highFloat: $highFloat" ")";
|
| + }
|
| +
|
| + Map toJson() {
|
| + Map map = new Map();
|
| + map["lowInt"] = lowInt;
|
| + map["mediumInt"] = mediumInt;
|
| + map["highInt"] = highInt;
|
| + map["lowFloat"] = lowFloat;
|
| + map["mediumFloat"] = mediumFloat;
|
| + map["highFloat"] = highFloat;
|
| + return map;
|
| + }
|
| +}
|
| +
|
| +
|
| +class GpuCapabilities extends bindings.Struct {
|
| + static const List<bindings.StructDataHeader> kVersions = const [
|
| + const bindings.StructDataHeader(80, 0)
|
| + ];
|
| + GpuPerStagePrecisions vertexShaderPrecisions = null;
|
| + GpuPerStagePrecisions fragmentShaderPrecisions = null;
|
| + int maxCombinedTextureImageUnits = 0;
|
| + int maxCubeMapTextureSize = 0;
|
| + int maxFragmentUniformVectors = 0;
|
| + int maxRenderbufferSize = 0;
|
| + int maxTextureImageUnits = 0;
|
| + int maxTextureSize = 0;
|
| + int maxVaryingVectors = 0;
|
| + int maxVertexAttribs = 0;
|
| + int maxVertexTextureImageUnits = 0;
|
| + int maxVertexUniformVectors = 0;
|
| + int numCompressedTextureFormats = 0;
|
| + int numShaderBinaryFormats = 0;
|
| + int bindGeneratesResourceChromium = 0;
|
| + bool postSubBuffer = false;
|
| + bool eglImageExternal = false;
|
| + bool textureFormatBgra8888 = false;
|
| + bool textureFormatEtc1 = false;
|
| + bool textureFormatEtc1Npot = false;
|
| + bool textureRectangle = false;
|
| + bool iosurface = false;
|
| + bool textureUsage = false;
|
| + bool textureStorage = false;
|
| + bool discardFramebuffer = false;
|
| + bool syncQuery = false;
|
| + bool image = false;
|
| + bool futureSyncPoints = false;
|
| + bool blendEquationAdvanced = false;
|
| + bool blendEquationAdvancedCoherent = false;
|
| +
|
| + GpuCapabilities() : super(kVersions.last.size);
|
| +
|
| + static GpuCapabilities deserialize(bindings.Message message) {
|
| + var decoder = new bindings.Decoder(message);
|
| + var result = decode(decoder);
|
| + if (decoder.excessHandles != null) {
|
| + decoder.excessHandles.forEach((h) => h.close());
|
| + }
|
| + return result;
|
| + }
|
| +
|
| + static GpuCapabilities decode(bindings.Decoder decoder0) {
|
| + if (decoder0 == null) {
|
| + return null;
|
| + }
|
| + GpuCapabilities result = new GpuCapabilities();
|
| +
|
| + var mainDataHeader = decoder0.decodeStructDataHeader();
|
| + if (mainDataHeader.version <= kVersions.last.version) {
|
| + // Scan in reverse order to optimize for more recent versions.
|
| + for (int i = kVersions.length - 1; i >= 0; --i) {
|
| + if (mainDataHeader.version >= kVersions[i].version) {
|
| + if (mainDataHeader.size == kVersions[i].size) {
|
| + // Found a match.
|
| + break;
|
| + }
|
| + throw new bindings.MojoCodecError(
|
| + 'Header size doesn\'t correspond to known version size.');
|
| + }
|
| + }
|
| + } else if (mainDataHeader.size < kVersions.last.size) {
|
| + throw new bindings.MojoCodecError(
|
| + 'Message newer than the last known version cannot be shorter than '
|
| + 'required by the last known version.');
|
| + }
|
| + if (mainDataHeader.version >= 0) {
|
| +
|
| + var decoder1 = decoder0.decodePointer(8, false);
|
| + result.vertexShaderPrecisions = GpuPerStagePrecisions.decode(decoder1);
|
| + }
|
| + if (mainDataHeader.version >= 0) {
|
| +
|
| + var decoder1 = decoder0.decodePointer(16, false);
|
| + result.fragmentShaderPrecisions = GpuPerStagePrecisions.decode(decoder1);
|
| + }
|
| + if (mainDataHeader.version >= 0) {
|
| +
|
| + result.maxCombinedTextureImageUnits = decoder0.decodeInt32(24);
|
| + }
|
| + if (mainDataHeader.version >= 0) {
|
| +
|
| + result.maxCubeMapTextureSize = decoder0.decodeInt32(28);
|
| + }
|
| + if (mainDataHeader.version >= 0) {
|
| +
|
| + result.maxFragmentUniformVectors = decoder0.decodeInt32(32);
|
| + }
|
| + if (mainDataHeader.version >= 0) {
|
| +
|
| + result.maxRenderbufferSize = decoder0.decodeInt32(36);
|
| + }
|
| + if (mainDataHeader.version >= 0) {
|
| +
|
| + result.maxTextureImageUnits = decoder0.decodeInt32(40);
|
| + }
|
| + if (mainDataHeader.version >= 0) {
|
| +
|
| + result.maxTextureSize = decoder0.decodeInt32(44);
|
| + }
|
| + if (mainDataHeader.version >= 0) {
|
| +
|
| + result.maxVaryingVectors = decoder0.decodeInt32(48);
|
| + }
|
| + if (mainDataHeader.version >= 0) {
|
| +
|
| + result.maxVertexAttribs = decoder0.decodeInt32(52);
|
| + }
|
| + if (mainDataHeader.version >= 0) {
|
| +
|
| + result.maxVertexTextureImageUnits = decoder0.decodeInt32(56);
|
| + }
|
| + if (mainDataHeader.version >= 0) {
|
| +
|
| + result.maxVertexUniformVectors = decoder0.decodeInt32(60);
|
| + }
|
| + if (mainDataHeader.version >= 0) {
|
| +
|
| + result.numCompressedTextureFormats = decoder0.decodeInt32(64);
|
| + }
|
| + if (mainDataHeader.version >= 0) {
|
| +
|
| + result.numShaderBinaryFormats = decoder0.decodeInt32(68);
|
| + }
|
| + if (mainDataHeader.version >= 0) {
|
| +
|
| + result.bindGeneratesResourceChromium = decoder0.decodeInt32(72);
|
| + }
|
| + if (mainDataHeader.version >= 0) {
|
| +
|
| + result.postSubBuffer = decoder0.decodeBool(76, 0);
|
| + }
|
| + if (mainDataHeader.version >= 0) {
|
| +
|
| + result.eglImageExternal = decoder0.decodeBool(76, 1);
|
| + }
|
| + if (mainDataHeader.version >= 0) {
|
| +
|
| + result.textureFormatBgra8888 = decoder0.decodeBool(76, 2);
|
| + }
|
| + if (mainDataHeader.version >= 0) {
|
| +
|
| + result.textureFormatEtc1 = decoder0.decodeBool(76, 3);
|
| + }
|
| + if (mainDataHeader.version >= 0) {
|
| +
|
| + result.textureFormatEtc1Npot = decoder0.decodeBool(76, 4);
|
| + }
|
| + if (mainDataHeader.version >= 0) {
|
| +
|
| + result.textureRectangle = decoder0.decodeBool(76, 5);
|
| + }
|
| + if (mainDataHeader.version >= 0) {
|
| +
|
| + result.iosurface = decoder0.decodeBool(76, 6);
|
| + }
|
| + if (mainDataHeader.version >= 0) {
|
| +
|
| + result.textureUsage = decoder0.decodeBool(76, 7);
|
| + }
|
| + if (mainDataHeader.version >= 0) {
|
| +
|
| + result.textureStorage = decoder0.decodeBool(77, 0);
|
| + }
|
| + if (mainDataHeader.version >= 0) {
|
| +
|
| + result.discardFramebuffer = decoder0.decodeBool(77, 1);
|
| + }
|
| + if (mainDataHeader.version >= 0) {
|
| +
|
| + result.syncQuery = decoder0.decodeBool(77, 2);
|
| + }
|
| + if (mainDataHeader.version >= 0) {
|
| +
|
| + result.image = decoder0.decodeBool(77, 3);
|
| + }
|
| + if (mainDataHeader.version >= 0) {
|
| +
|
| + result.futureSyncPoints = decoder0.decodeBool(77, 4);
|
| + }
|
| + if (mainDataHeader.version >= 0) {
|
| +
|
| + result.blendEquationAdvanced = decoder0.decodeBool(77, 5);
|
| + }
|
| + if (mainDataHeader.version >= 0) {
|
| +
|
| + result.blendEquationAdvancedCoherent = decoder0.decodeBool(77, 6);
|
| + }
|
| + return result;
|
| + }
|
| +
|
| + void encode(bindings.Encoder encoder) {
|
| + var encoder0 = encoder.getStructEncoderAtOffset(kVersions.last);
|
| +
|
| + encoder0.encodeStruct(vertexShaderPrecisions, 8, false);
|
| +
|
| + encoder0.encodeStruct(fragmentShaderPrecisions, 16, false);
|
| +
|
| + encoder0.encodeInt32(maxCombinedTextureImageUnits, 24);
|
| +
|
| + encoder0.encodeInt32(maxCubeMapTextureSize, 28);
|
| +
|
| + encoder0.encodeInt32(maxFragmentUniformVectors, 32);
|
| +
|
| + encoder0.encodeInt32(maxRenderbufferSize, 36);
|
| +
|
| + encoder0.encodeInt32(maxTextureImageUnits, 40);
|
| +
|
| + encoder0.encodeInt32(maxTextureSize, 44);
|
| +
|
| + encoder0.encodeInt32(maxVaryingVectors, 48);
|
| +
|
| + encoder0.encodeInt32(maxVertexAttribs, 52);
|
| +
|
| + encoder0.encodeInt32(maxVertexTextureImageUnits, 56);
|
| +
|
| + encoder0.encodeInt32(maxVertexUniformVectors, 60);
|
| +
|
| + encoder0.encodeInt32(numCompressedTextureFormats, 64);
|
| +
|
| + encoder0.encodeInt32(numShaderBinaryFormats, 68);
|
| +
|
| + encoder0.encodeInt32(bindGeneratesResourceChromium, 72);
|
| +
|
| + encoder0.encodeBool(postSubBuffer, 76, 0);
|
| +
|
| + encoder0.encodeBool(eglImageExternal, 76, 1);
|
| +
|
| + encoder0.encodeBool(textureFormatBgra8888, 76, 2);
|
| +
|
| + encoder0.encodeBool(textureFormatEtc1, 76, 3);
|
| +
|
| + encoder0.encodeBool(textureFormatEtc1Npot, 76, 4);
|
| +
|
| + encoder0.encodeBool(textureRectangle, 76, 5);
|
| +
|
| + encoder0.encodeBool(iosurface, 76, 6);
|
| +
|
| + encoder0.encodeBool(textureUsage, 76, 7);
|
| +
|
| + encoder0.encodeBool(textureStorage, 77, 0);
|
| +
|
| + encoder0.encodeBool(discardFramebuffer, 77, 1);
|
| +
|
| + encoder0.encodeBool(syncQuery, 77, 2);
|
| +
|
| + encoder0.encodeBool(image, 77, 3);
|
| +
|
| + encoder0.encodeBool(futureSyncPoints, 77, 4);
|
| +
|
| + encoder0.encodeBool(blendEquationAdvanced, 77, 5);
|
| +
|
| + encoder0.encodeBool(blendEquationAdvancedCoherent, 77, 6);
|
| + }
|
| +
|
| + String toString() {
|
| + return "GpuCapabilities("
|
| + "vertexShaderPrecisions: $vertexShaderPrecisions" ", "
|
| + "fragmentShaderPrecisions: $fragmentShaderPrecisions" ", "
|
| + "maxCombinedTextureImageUnits: $maxCombinedTextureImageUnits" ", "
|
| + "maxCubeMapTextureSize: $maxCubeMapTextureSize" ", "
|
| + "maxFragmentUniformVectors: $maxFragmentUniformVectors" ", "
|
| + "maxRenderbufferSize: $maxRenderbufferSize" ", "
|
| + "maxTextureImageUnits: $maxTextureImageUnits" ", "
|
| + "maxTextureSize: $maxTextureSize" ", "
|
| + "maxVaryingVectors: $maxVaryingVectors" ", "
|
| + "maxVertexAttribs: $maxVertexAttribs" ", "
|
| + "maxVertexTextureImageUnits: $maxVertexTextureImageUnits" ", "
|
| + "maxVertexUniformVectors: $maxVertexUniformVectors" ", "
|
| + "numCompressedTextureFormats: $numCompressedTextureFormats" ", "
|
| + "numShaderBinaryFormats: $numShaderBinaryFormats" ", "
|
| + "bindGeneratesResourceChromium: $bindGeneratesResourceChromium" ", "
|
| + "postSubBuffer: $postSubBuffer" ", "
|
| + "eglImageExternal: $eglImageExternal" ", "
|
| + "textureFormatBgra8888: $textureFormatBgra8888" ", "
|
| + "textureFormatEtc1: $textureFormatEtc1" ", "
|
| + "textureFormatEtc1Npot: $textureFormatEtc1Npot" ", "
|
| + "textureRectangle: $textureRectangle" ", "
|
| + "iosurface: $iosurface" ", "
|
| + "textureUsage: $textureUsage" ", "
|
| + "textureStorage: $textureStorage" ", "
|
| + "discardFramebuffer: $discardFramebuffer" ", "
|
| + "syncQuery: $syncQuery" ", "
|
| + "image: $image" ", "
|
| + "futureSyncPoints: $futureSyncPoints" ", "
|
| + "blendEquationAdvanced: $blendEquationAdvanced" ", "
|
| + "blendEquationAdvancedCoherent: $blendEquationAdvancedCoherent" ")";
|
| + }
|
| +
|
| + Map toJson() {
|
| + Map map = new Map();
|
| + map["vertexShaderPrecisions"] = vertexShaderPrecisions;
|
| + map["fragmentShaderPrecisions"] = fragmentShaderPrecisions;
|
| + map["maxCombinedTextureImageUnits"] = maxCombinedTextureImageUnits;
|
| + map["maxCubeMapTextureSize"] = maxCubeMapTextureSize;
|
| + map["maxFragmentUniformVectors"] = maxFragmentUniformVectors;
|
| + map["maxRenderbufferSize"] = maxRenderbufferSize;
|
| + map["maxTextureImageUnits"] = maxTextureImageUnits;
|
| + map["maxTextureSize"] = maxTextureSize;
|
| + map["maxVaryingVectors"] = maxVaryingVectors;
|
| + map["maxVertexAttribs"] = maxVertexAttribs;
|
| + map["maxVertexTextureImageUnits"] = maxVertexTextureImageUnits;
|
| + map["maxVertexUniformVectors"] = maxVertexUniformVectors;
|
| + map["numCompressedTextureFormats"] = numCompressedTextureFormats;
|
| + map["numShaderBinaryFormats"] = numShaderBinaryFormats;
|
| + map["bindGeneratesResourceChromium"] = bindGeneratesResourceChromium;
|
| + map["postSubBuffer"] = postSubBuffer;
|
| + map["eglImageExternal"] = eglImageExternal;
|
| + map["textureFormatBgra8888"] = textureFormatBgra8888;
|
| + map["textureFormatEtc1"] = textureFormatEtc1;
|
| + map["textureFormatEtc1Npot"] = textureFormatEtc1Npot;
|
| + map["textureRectangle"] = textureRectangle;
|
| + map["iosurface"] = iosurface;
|
| + map["textureUsage"] = textureUsage;
|
| + map["textureStorage"] = textureStorage;
|
| + map["discardFramebuffer"] = discardFramebuffer;
|
| + map["syncQuery"] = syncQuery;
|
| + map["image"] = image;
|
| + map["futureSyncPoints"] = futureSyncPoints;
|
| + map["blendEquationAdvanced"] = blendEquationAdvanced;
|
| + map["blendEquationAdvancedCoherent"] = blendEquationAdvancedCoherent;
|
| + return map;
|
| + }
|
| +}
|
| +
|
| +
|
|
|