blob: 37060b02552f5427db3d8579439d531c654ca404 [file] [log] [blame]
// gpu/ipc/common/vulkan_info.mojom.js is auto generated by mojom_bindings_generator.py, do not edit
// 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.
'use strict';
(function() {
var mojomId = 'gpu/ipc/common/vulkan_info.mojom';
if (mojo.internal.isMojomLoaded(mojomId)) {
console.warn('The following mojom is loaded multiple times: ' + mojomId);
return;
}
mojo.internal.markMojomLoaded(mojomId);
var bindings = mojo;
var associatedBindings = mojo;
var codec = mojo.internal;
var validator = mojo.internal;
var exports = mojo.internal.exposeNamespace('gpu.mojom');
var vulkan_types$ =
mojo.internal.exposeNamespace('gpu.mojom');
if (mojo.config.autoLoadMojomDeps) {
mojo.internal.loadMojomIfNecessary(
'gpu/ipc/common/vulkan_types.mojom', 'vulkan_types.mojom.js');
}
function VulkanPhysicalDeviceInfo(values) {
this.initDefaults_();
this.initFields_(values);
}
VulkanPhysicalDeviceInfo.prototype.initDefaults_ = function() {
this.properties = null;
this.extensions = null;
this.features = null;
this.featureSamplerYcbcrConversion = false;
this.featureProtectedMemory = false;
this.queueFamilies = null;
};
VulkanPhysicalDeviceInfo.prototype.initFields_ = function(fields) {
for(var field in fields) {
if (this.hasOwnProperty(field))
this[field] = fields[field];
}
};
VulkanPhysicalDeviceInfo.validate = function(messageValidator, offset) {
var err;
err = messageValidator.validateStructHeader(offset, codec.kStructHeaderSize);
if (err !== validator.validationError.NONE)
return err;
var kVersionSizes = [
{version: 0, numBytes: 48}
];
err = messageValidator.validateStructVersion(offset, kVersionSizes);
if (err !== validator.validationError.NONE)
return err;
// validate VulkanPhysicalDeviceInfo.properties
err = messageValidator.validateStructPointer(offset + codec.kStructHeaderSize + 0, vulkan_types$.VkPhysicalDeviceProperties, false);
if (err !== validator.validationError.NONE)
return err;
// validate VulkanPhysicalDeviceInfo.extensions
err = messageValidator.validateArrayPointer(offset + codec.kStructHeaderSize + 8, 8, new codec.PointerTo(vulkan_types$.VkExtensionProperties), false, [0], 0);
if (err !== validator.validationError.NONE)
return err;
// validate VulkanPhysicalDeviceInfo.features
err = messageValidator.validateStructPointer(offset + codec.kStructHeaderSize + 16, vulkan_types$.VkPhysicalDeviceFeatures, false);
if (err !== validator.validationError.NONE)
return err;
// validate VulkanPhysicalDeviceInfo.queueFamilies
err = messageValidator.validateArrayPointer(offset + codec.kStructHeaderSize + 32, 8, new codec.PointerTo(vulkan_types$.VkQueueFamilyProperties), false, [0], 0);
if (err !== validator.validationError.NONE)
return err;
return validator.validationError.NONE;
};
VulkanPhysicalDeviceInfo.encodedSize = codec.kStructHeaderSize + 40;
VulkanPhysicalDeviceInfo.decode = function(decoder) {
var packed;
var val = new VulkanPhysicalDeviceInfo();
var numberOfBytes = decoder.readUint32();
var version = decoder.readUint32();
val.properties =
decoder.decodeStructPointer(vulkan_types$.VkPhysicalDeviceProperties);
val.extensions =
decoder.decodeArrayPointer(new codec.PointerTo(vulkan_types$.VkExtensionProperties));
val.features =
decoder.decodeStructPointer(vulkan_types$.VkPhysicalDeviceFeatures);
packed = decoder.readUint8();
val.featureSamplerYcbcrConversion = (packed >> 0) & 1 ? true : false;
val.featureProtectedMemory = (packed >> 1) & 1 ? true : false;
decoder.skip(1);
decoder.skip(1);
decoder.skip(1);
decoder.skip(1);
decoder.skip(1);
decoder.skip(1);
decoder.skip(1);
val.queueFamilies =
decoder.decodeArrayPointer(new codec.PointerTo(vulkan_types$.VkQueueFamilyProperties));
return val;
};
VulkanPhysicalDeviceInfo.encode = function(encoder, val) {
var packed;
encoder.writeUint32(VulkanPhysicalDeviceInfo.encodedSize);
encoder.writeUint32(0);
encoder.encodeStructPointer(vulkan_types$.VkPhysicalDeviceProperties, val.properties);
encoder.encodeArrayPointer(new codec.PointerTo(vulkan_types$.VkExtensionProperties), val.extensions);
encoder.encodeStructPointer(vulkan_types$.VkPhysicalDeviceFeatures, val.features);
packed = 0;
packed |= (val.featureSamplerYcbcrConversion & 1) << 0
packed |= (val.featureProtectedMemory & 1) << 1
encoder.writeUint8(packed);
encoder.skip(1);
encoder.skip(1);
encoder.skip(1);
encoder.skip(1);
encoder.skip(1);
encoder.skip(1);
encoder.skip(1);
encoder.encodeArrayPointer(new codec.PointerTo(vulkan_types$.VkQueueFamilyProperties), val.queueFamilies);
};
function VulkanInfo(values) {
this.initDefaults_();
this.initFields_(values);
}
VulkanInfo.prototype.initDefaults_ = function() {
this.apiVersion = 0;
this.usedApiVersion = 0;
this.instanceExtensions = null;
this.enabledInstanceExtensions = null;
this.instanceLayers = null;
this.physicalDevices = null;
};
VulkanInfo.prototype.initFields_ = function(fields) {
for(var field in fields) {
if (this.hasOwnProperty(field))
this[field] = fields[field];
}
};
VulkanInfo.validate = function(messageValidator, offset) {
var err;
err = messageValidator.validateStructHeader(offset, codec.kStructHeaderSize);
if (err !== validator.validationError.NONE)
return err;
var kVersionSizes = [
{version: 0, numBytes: 48}
];
err = messageValidator.validateStructVersion(offset, kVersionSizes);
if (err !== validator.validationError.NONE)
return err;
// validate VulkanInfo.instanceExtensions
err = messageValidator.validateArrayPointer(offset + codec.kStructHeaderSize + 8, 8, new codec.PointerTo(vulkan_types$.VkExtensionProperties), false, [0], 0);
if (err !== validator.validationError.NONE)
return err;
// validate VulkanInfo.enabledInstanceExtensions
err = messageValidator.validateArrayPointer(offset + codec.kStructHeaderSize + 16, 8, codec.String, false, [0, 0], 0);
if (err !== validator.validationError.NONE)
return err;
// validate VulkanInfo.instanceLayers
err = messageValidator.validateArrayPointer(offset + codec.kStructHeaderSize + 24, 8, new codec.PointerTo(vulkan_types$.VkLayerProperties), false, [0], 0);
if (err !== validator.validationError.NONE)
return err;
// validate VulkanInfo.physicalDevices
err = messageValidator.validateArrayPointer(offset + codec.kStructHeaderSize + 32, 8, new codec.PointerTo(VulkanPhysicalDeviceInfo), false, [0], 0);
if (err !== validator.validationError.NONE)
return err;
return validator.validationError.NONE;
};
VulkanInfo.encodedSize = codec.kStructHeaderSize + 40;
VulkanInfo.decode = function(decoder) {
var packed;
var val = new VulkanInfo();
var numberOfBytes = decoder.readUint32();
var version = decoder.readUint32();
val.apiVersion =
decoder.decodeStruct(codec.Uint32);
val.usedApiVersion =
decoder.decodeStruct(codec.Uint32);
val.instanceExtensions =
decoder.decodeArrayPointer(new codec.PointerTo(vulkan_types$.VkExtensionProperties));
val.enabledInstanceExtensions =
decoder.decodeArrayPointer(codec.String);
val.instanceLayers =
decoder.decodeArrayPointer(new codec.PointerTo(vulkan_types$.VkLayerProperties));
val.physicalDevices =
decoder.decodeArrayPointer(new codec.PointerTo(VulkanPhysicalDeviceInfo));
return val;
};
VulkanInfo.encode = function(encoder, val) {
var packed;
encoder.writeUint32(VulkanInfo.encodedSize);
encoder.writeUint32(0);
encoder.encodeStruct(codec.Uint32, val.apiVersion);
encoder.encodeStruct(codec.Uint32, val.usedApiVersion);
encoder.encodeArrayPointer(new codec.PointerTo(vulkan_types$.VkExtensionProperties), val.instanceExtensions);
encoder.encodeArrayPointer(codec.String, val.enabledInstanceExtensions);
encoder.encodeArrayPointer(new codec.PointerTo(vulkan_types$.VkLayerProperties), val.instanceLayers);
encoder.encodeArrayPointer(new codec.PointerTo(VulkanPhysicalDeviceInfo), val.physicalDevices);
};
exports.VulkanPhysicalDeviceInfo = VulkanPhysicalDeviceInfo;
exports.VulkanInfo = VulkanInfo;
})();