예제 #1
0
 public static VkPhysicalDeviceFeatures.Raw MarshalDirect(this VkPhysicalDeviceFeatures s, ref byte *unmanaged)
 {
     VkPhysicalDeviceFeatures.Raw result;
     result.robustBufferAccess                      = new VkBool32(s.RobustBufferAccess);
     result.fullDrawIndexUint32                     = new VkBool32(s.FullDrawIndexUint32);
     result.imageCubeArray                          = new VkBool32(s.ImageCubeArray);
     result.independentBlend                        = new VkBool32(s.IndependentBlend);
     result.geometryShader                          = new VkBool32(s.GeometryShader);
     result.tessellationShader                      = new VkBool32(s.TessellationShader);
     result.sampleRateShading                       = new VkBool32(s.SampleRateShading);
     result.dualSrcBlend                            = new VkBool32(s.DualSrcBlend);
     result.logicOp                                 = new VkBool32(s.LogicOp);
     result.multiDrawIndirect                       = new VkBool32(s.MultiDrawIndirect);
     result.drawIndirectFirstInstance               = new VkBool32(s.DrawIndirectFirstInstance);
     result.depthClamp                              = new VkBool32(s.DepthClamp);
     result.depthBiasClamp                          = new VkBool32(s.DepthBiasClamp);
     result.fillModeNonSolid                        = new VkBool32(s.FillModeNonSolid);
     result.depthBounds                             = new VkBool32(s.DepthBounds);
     result.wideLines                               = new VkBool32(s.WideLines);
     result.largePoints                             = new VkBool32(s.LargePoints);
     result.alphaToOne                              = new VkBool32(s.AlphaToOne);
     result.multiViewport                           = new VkBool32(s.MultiViewport);
     result.samplerAnisotropy                       = new VkBool32(s.SamplerAnisotropy);
     result.textureCompressionETC2                  = new VkBool32(s.TextureCompressionETC2);
     result.textureCompressionASTC_LDR              = new VkBool32(s.TextureCompressionASTC_LDR);
     result.textureCompressionBC                    = new VkBool32(s.TextureCompressionBC);
     result.occlusionQueryPrecise                   = new VkBool32(s.OcclusionQueryPrecise);
     result.pipelineStatisticsQuery                 = new VkBool32(s.PipelineStatisticsQuery);
     result.vertexPipelineStoresAndAtomics          = new VkBool32(s.VertexPipelineStoresAndAtomics);
     result.fragmentStoresAndAtomics                = new VkBool32(s.FragmentStoresAndAtomics);
     result.shaderTessellationAndGeometryPointSize  = new VkBool32(s.ShaderTessellationAndGeometryPointSize);
     result.shaderImageGatherExtended               = new VkBool32(s.ShaderImageGatherExtended);
     result.shaderStorageImageExtendedFormats       = new VkBool32(s.ShaderStorageImageExtendedFormats);
     result.shaderStorageImageMultisample           = new VkBool32(s.ShaderStorageImageMultisample);
     result.shaderStorageImageReadWithoutFormat     = new VkBool32(s.ShaderStorageImageReadWithoutFormat);
     result.shaderStorageImageWriteWithoutFormat    = new VkBool32(s.ShaderStorageImageWriteWithoutFormat);
     result.shaderUniformBufferArrayDynamicIndexing = new VkBool32(s.ShaderUniformBufferArrayDynamicIndexing);
     result.shaderSampledImageArrayDynamicIndexing  = new VkBool32(s.ShaderSampledImageArrayDynamicIndexing);
     result.shaderStorageBufferArrayDynamicIndexing = new VkBool32(s.ShaderStorageBufferArrayDynamicIndexing);
     result.shaderStorageImageArrayDynamicIndexing  = new VkBool32(s.ShaderStorageImageArrayDynamicIndexing);
     result.shaderClipDistance                      = new VkBool32(s.ShaderClipDistance);
     result.shaderCullDistance                      = new VkBool32(s.ShaderCullDistance);
     result.shaderFloat64                           = new VkBool32(s.ShaderFloat64);
     result.shaderInt64                             = new VkBool32(s.ShaderInt64);
     result.shaderInt16                             = new VkBool32(s.ShaderInt16);
     result.shaderResourceResidency                 = new VkBool32(s.ShaderResourceResidency);
     result.shaderResourceMinLod                    = new VkBool32(s.ShaderResourceMinLod);
     result.sparseBinding                           = new VkBool32(s.SparseBinding);
     result.sparseResidencyBuffer                   = new VkBool32(s.SparseResidencyBuffer);
     result.sparseResidencyImage2D                  = new VkBool32(s.SparseResidencyImage2D);
     result.sparseResidencyImage3D                  = new VkBool32(s.SparseResidencyImage3D);
     result.sparseResidency2Samples                 = new VkBool32(s.SparseResidency2Samples);
     result.sparseResidency4Samples                 = new VkBool32(s.SparseResidency4Samples);
     result.sparseResidency8Samples                 = new VkBool32(s.SparseResidency8Samples);
     result.sparseResidency16Samples                = new VkBool32(s.SparseResidency16Samples);
     result.sparseResidencyAliased                  = new VkBool32(s.SparseResidencyAliased);
     result.variableMultisampleRate                 = new VkBool32(s.VariableMultisampleRate);
     result.inheritedQueries                        = new VkBool32(s.InheritedQueries);
     return(result);
 }
예제 #2
0
        public static VkPhysicalDeviceFeatures.Raw *MarshalIndirect(this VkPhysicalDeviceFeatures s, ref byte *unmanaged)
        {
            var result = (VkPhysicalDeviceFeatures.Raw *)unmanaged;

            unmanaged += VkPhysicalDeviceFeatures.Raw.SizeInBytes;
            *result = s.MarshalDirect(ref unmanaged);
            return(result);
        }
예제 #3
0
 public static int SizeOfMarshalIndirect(this VkPhysicalDeviceFeatures s) =>
 s.SizeOfMarshalDirect() + VkPhysicalDeviceFeatures.Raw.SizeInBytes;
예제 #4
0
 public static int SizeOfMarshalDirect(this VkPhysicalDeviceFeatures s)
 {
     return(0);
 }