Exemplo n.º 1
0
 /// <summary>
 /// Query if presentation is supported.
 /// </summary>
 public Bool32 GetSurfaceSupport(uint queueFamilyIndex, Surface surface)
 {
     unsafe
     {
         try
         {
             var             commandDelegate = this.commandCache.GetCommandDelegate <Interop.vkGetPhysicalDeviceSurfaceSupportKHR>("vkGetPhysicalDeviceSurfaceSupportKHR", "instance");
             Bool32          result          = default(Bool32);
             Result          commandResult;
             Interop.Surface marshalledSurface = default(Interop.Surface);
             surface?.MarshalTo(&marshalledSurface);
             commandResult = commandDelegate(this.handle, queueFamilyIndex, marshalledSurface, &result);
             if (SharpVkException.IsError(commandResult))
             {
                 throw SharpVkException.Create(commandResult);
             }
             return(result);
         }
         finally
         {
             Interop.HeapUtil.FreeLog();
         }
     }
 }
Exemplo n.º 2
0
 /// <summary>
 ///
 /// </summary>
 public PhysicalDeviceFeatures(Bool32 robustBufferAccess, Bool32 fullDrawIndexUInt32, Bool32 imageCubeArray, Bool32 independentBlend, Bool32 geometryShader, Bool32 tessellationShader, Bool32 sampleRateShading, Bool32 dualSourceBlend, Bool32 logicOp, Bool32 multiDrawIndirect, Bool32 drawIndirectFirstInstance, Bool32 depthClamp, Bool32 depthBiasClamp, Bool32 fillModeNonSolid, Bool32 depthBounds, Bool32 wideLines, Bool32 largePoints, Bool32 alphaToOne, Bool32 multiViewport, Bool32 samplerAnisotropy, Bool32 textureCompressionETC2, Bool32 textureCompressionASTC_LDR, Bool32 textureCompressionBC, Bool32 occlusionQueryPrecise, Bool32 pipelineStatisticsQuery, Bool32 vertexPipelineStoresAndAtomics, Bool32 fragmentStoresAndAtomics, Bool32 shaderTessellationAndGeometryPointSize, Bool32 shaderImageGatherExtended, Bool32 shaderStorageImageExtendedFormats, Bool32 shaderStorageImageMultisample, Bool32 shaderStorageImageReadWithoutFormat, Bool32 shaderStorageImageWriteWithoutFormat, Bool32 shaderUniformBufferArrayDynamicIndexing, Bool32 shaderSampledImageArrayDynamicIndexing, Bool32 shaderStorageBufferArrayDynamicIndexing, Bool32 shaderStorageImageArrayDynamicIndexing, Bool32 shaderClipDistance, Bool32 shaderCullDistance, Bool32 shaderFloat64, Bool32 shaderInt64, Bool32 shaderInt16, Bool32 shaderResourceResidency, Bool32 shaderResourceMinLod, Bool32 sparseBinding, Bool32 sparseResidencyBuffer, Bool32 sparseResidencyImage2D, Bool32 sparseResidencyImage3D, Bool32 sparseResidency2Samples, Bool32 sparseResidency4Samples, Bool32 sparseResidency8Samples, Bool32 sparseResidency16Samples, Bool32 sparseResidencyAliased, Bool32 variableMultisampleRate, Bool32 inheritedQueries)
 {
     this.RobustBufferAccess                      = robustBufferAccess;
     this.FullDrawIndexUInt32                     = fullDrawIndexUInt32;
     this.ImageCubeArray                          = imageCubeArray;
     this.IndependentBlend                        = independentBlend;
     this.GeometryShader                          = geometryShader;
     this.TessellationShader                      = tessellationShader;
     this.SampleRateShading                       = sampleRateShading;
     this.DualSourceBlend                         = dualSourceBlend;
     this.LogicOp                                 = logicOp;
     this.MultiDrawIndirect                       = multiDrawIndirect;
     this.DrawIndirectFirstInstance               = drawIndirectFirstInstance;
     this.DepthClamp                              = depthClamp;
     this.DepthBiasClamp                          = depthBiasClamp;
     this.FillModeNonSolid                        = fillModeNonSolid;
     this.DepthBounds                             = depthBounds;
     this.WideLines                               = wideLines;
     this.LargePoints                             = largePoints;
     this.AlphaToOne                              = alphaToOne;
     this.MultiViewport                           = multiViewport;
     this.SamplerAnisotropy                       = samplerAnisotropy;
     this.TextureCompressionETC2                  = textureCompressionETC2;
     this.TextureCompressionASTC_LDR              = textureCompressionASTC_LDR;
     this.TextureCompressionBC                    = textureCompressionBC;
     this.OcclusionQueryPrecise                   = occlusionQueryPrecise;
     this.PipelineStatisticsQuery                 = pipelineStatisticsQuery;
     this.VertexPipelineStoresAndAtomics          = vertexPipelineStoresAndAtomics;
     this.FragmentStoresAndAtomics                = fragmentStoresAndAtomics;
     this.ShaderTessellationAndGeometryPointSize  = shaderTessellationAndGeometryPointSize;
     this.ShaderImageGatherExtended               = shaderImageGatherExtended;
     this.ShaderStorageImageExtendedFormats       = shaderStorageImageExtendedFormats;
     this.ShaderStorageImageMultisample           = shaderStorageImageMultisample;
     this.ShaderStorageImageReadWithoutFormat     = shaderStorageImageReadWithoutFormat;
     this.ShaderStorageImageWriteWithoutFormat    = shaderStorageImageWriteWithoutFormat;
     this.ShaderUniformBufferArrayDynamicIndexing = shaderUniformBufferArrayDynamicIndexing;
     this.ShaderSampledImageArrayDynamicIndexing  = shaderSampledImageArrayDynamicIndexing;
     this.ShaderStorageBufferArrayDynamicIndexing = shaderStorageBufferArrayDynamicIndexing;
     this.ShaderStorageImageArrayDynamicIndexing  = shaderStorageImageArrayDynamicIndexing;
     this.ShaderClipDistance                      = shaderClipDistance;
     this.ShaderCullDistance                      = shaderCullDistance;
     this.ShaderFloat64                           = shaderFloat64;
     this.ShaderInt64                             = shaderInt64;
     this.ShaderInt16                             = shaderInt16;
     this.ShaderResourceResidency                 = shaderResourceResidency;
     this.ShaderResourceMinLod                    = shaderResourceMinLod;
     this.SparseBinding                           = sparseBinding;
     this.SparseResidencyBuffer                   = sparseResidencyBuffer;
     this.SparseResidencyImage2D                  = sparseResidencyImage2D;
     this.SparseResidencyImage3D                  = sparseResidencyImage3D;
     this.SparseResidency2Samples                 = sparseResidency2Samples;
     this.SparseResidency4Samples                 = sparseResidency4Samples;
     this.SparseResidency8Samples                 = sparseResidency8Samples;
     this.SparseResidency16Samples                = sparseResidency16Samples;
     this.SparseResidencyAliased                  = sparseResidencyAliased;
     this.VariableMultisampleRate                 = variableMultisampleRate;
     this.InheritedQueries                        = inheritedQueries;
 }
 /// <summary>
 ///
 /// </summary>
 public PhysicalDeviceSparseProperties(Bool32 residencyStandard2DBlockShape, Bool32 residencyStandard2DMultisampleBlockShape, Bool32 residencyStandard3DBlockShape, Bool32 residencyAlignedMipSize, Bool32 residencyNonResidentStrict)
 {
     this.ResidencyStandard2DBlockShape            = residencyStandard2DBlockShape;
     this.ResidencyStandard2DMultisampleBlockShape = residencyStandard2DMultisampleBlockShape;
     this.ResidencyStandard3DBlockShape            = residencyStandard3DBlockShape;
     this.ResidencyAlignedMipSize    = residencyAlignedMipSize;
     this.ResidencyNonResidentStrict = residencyNonResidentStrict;
 }