/// <summary> /// Reports capabilities of a physical device. /// </summary> public PhysicalDeviceFeatures GetFeatures() { unsafe { try { PhysicalDeviceFeatures result = default(PhysicalDeviceFeatures); Interop.Commands.vkGetPhysicalDeviceFeatures(this.handle, &result); return(result); } finally { Interop.HeapUtil.FreeLog(); } } }
/// <summary> /// /// </summary> /// <param name="pointer"> /// </param> internal static unsafe PhysicalDeviceFeatures MarshalFrom(SharpVk.Interop.PhysicalDeviceFeatures *pointer) { PhysicalDeviceFeatures result = default(PhysicalDeviceFeatures); result.RobustBufferAccess = pointer->RobustBufferAccess; result.FullDrawIndexUint32 = pointer->FullDrawIndexUint32; result.ImageCubeArray = pointer->ImageCubeArray; result.IndependentBlend = pointer->IndependentBlend; result.GeometryShader = pointer->GeometryShader; result.TessellationShader = pointer->TessellationShader; result.SampleRateShading = pointer->SampleRateShading; result.DualSourceBlend = pointer->DualSourceBlend; result.LogicOp = pointer->LogicOp; result.MultiDrawIndirect = pointer->MultiDrawIndirect; result.DrawIndirectFirstInstance = pointer->DrawIndirectFirstInstance; result.DepthClamp = pointer->DepthClamp; result.DepthBiasClamp = pointer->DepthBiasClamp; result.FillModeNonSolid = pointer->FillModeNonSolid; result.DepthBounds = pointer->DepthBounds; result.WideLines = pointer->WideLines; result.LargePoints = pointer->LargePoints; result.AlphaToOne = pointer->AlphaToOne; result.MultiViewport = pointer->MultiViewport; result.SamplerAnisotropy = pointer->SamplerAnisotropy; result.TextureCompressionETC2 = pointer->TextureCompressionETC2; result.TexturecompressionastcLdr = pointer->TexturecompressionastcLdr; result.TextureCompressionBC = pointer->TextureCompressionBC; result.OcclusionQueryPrecise = pointer->OcclusionQueryPrecise; result.PipelineStatisticsQuery = pointer->PipelineStatisticsQuery; result.VertexPipelineStoresAndAtomics = pointer->VertexPipelineStoresAndAtomics; result.FragmentStoresAndAtomics = pointer->FragmentStoresAndAtomics; result.ShaderTessellationAndGeometryPointSize = pointer->ShaderTessellationAndGeometryPointSize; result.ShaderImageGatherExtended = pointer->ShaderImageGatherExtended; result.ShaderStorageImageExtendedFormats = pointer->ShaderStorageImageExtendedFormats; result.ShaderStorageImageMultisample = pointer->ShaderStorageImageMultisample; result.ShaderStorageImageReadWithoutFormat = pointer->ShaderStorageImageReadWithoutFormat; result.ShaderStorageImageWriteWithoutFormat = pointer->ShaderStorageImageWriteWithoutFormat; result.ShaderUniformBufferArrayDynamicIndexing = pointer->ShaderUniformBufferArrayDynamicIndexing; result.ShaderSampledImageArrayDynamicIndexing = pointer->ShaderSampledImageArrayDynamicIndexing; result.ShaderStorageBufferArrayDynamicIndexing = pointer->ShaderStorageBufferArrayDynamicIndexing; result.ShaderStorageImageArrayDynamicIndexing = pointer->ShaderStorageImageArrayDynamicIndexing; result.ShaderClipDistance = pointer->ShaderClipDistance; result.ShaderCullDistance = pointer->ShaderCullDistance; result.ShaderFloat64 = pointer->ShaderFloat64; result.ShaderInt64 = pointer->ShaderInt64; result.ShaderInt16 = pointer->ShaderInt16; result.ShaderResourceResidency = pointer->ShaderResourceResidency; result.ShaderResourceMinLod = pointer->ShaderResourceMinLod; result.SparseBinding = pointer->SparseBinding; result.SparseResidencyBuffer = pointer->SparseResidencyBuffer; result.SparseResidencyImage2D = pointer->SparseResidencyImage2D; result.SparseResidencyImage3D = pointer->SparseResidencyImage3D; result.SparseResidency2Samples = pointer->SparseResidency2Samples; result.SparseResidency4Samples = pointer->SparseResidency4Samples; result.SparseResidency8Samples = pointer->SparseResidency8Samples; result.SparseResidency16Samples = pointer->SparseResidency16Samples; result.SparseResidencyAliased = pointer->SparseResidencyAliased; result.VariableMultisampleRate = pointer->VariableMultisampleRate; result.InheritedQueries = pointer->InheritedQueries; return(result); }