コード例 #1
0
        public unsafe byte[] GetPipelineCacheData(PipelineCache pipelineCache)
        {
            PointerSize count = 0;

            GetPipelineCacheData(pipelineCache, ref count, IntPtr.Zero);

            var result = new byte[count];

            if (count > 0)
            {
                fixed(byte *resultPtr = &result[0])
                GetPipelineCacheData(pipelineCache, ref count, new IntPtr(resultPtr));
            }

            return(result);
        }
コード例 #2
0
 private static RawBool DebugReport(DebugReportFlags flags, DebugReportObjectType objectType, ulong @object, PointerSize location, int messageCode, string layerPrefix, string message, IntPtr userData)
 {
     Debug.WriteLine($"{flags}: {message} ([{messageCode}] {layerPrefix})");
     return true;
 }
コード例 #3
0
ファイル: PointerSize.cs プロジェクト: jwollen/SharpVulkan
 /// <summary>
 ///   Determines whether the specified <see cref = "PointerSize" /> is equal to this instance.
 /// </summary>
 /// <param name = "other">The <see cref = "PointerSize" /> to compare with this instance.</param>
 /// <returns>
 ///   <c>true</c> if the specified <see cref = "PointerSize" /> is equal to this instance; otherwise, <c>false</c>.
 /// </returns>
 public bool Equals(PointerSize other)
 {
     return _size == other._size;
 }
コード例 #4
0
ファイル: Functions.cs プロジェクト: jwollen/SharpVulkan
 public unsafe void GetPipelineCacheData(PipelineCache pipelineCache, ref PointerSize dataSize, IntPtr data)
 {
     fixed (PointerSize* __dataSize__ = &dataSize)
     {
         vkGetPipelineCacheData(this, pipelineCache, __dataSize__, data).CheckError();
     }
 }
コード例 #5
0
ファイル: Functions.cs プロジェクト: jwollen/SharpVulkan
 public unsafe void GetQueryPoolResults(QueryPool queryPool, uint firstQuery, uint queryCount, PointerSize dataSize, IntPtr data, ulong stride, QueryResultFlags flags)
 {
     vkGetQueryPoolResults(this, queryPool, firstQuery, queryCount, dataSize, data, stride, flags).CheckError();
 }
コード例 #6
0
ファイル: Functions.cs プロジェクト: jwollen/SharpVulkan
 internal unsafe void DebugReportMessage(uint flags, DebugReportObjectType objectType, ulong @object, PointerSize location, int messageCode, ref byte layerPrefix, byte* message)
 {
     fixed (byte* __layerPrefix__ = &layerPrefix)
     {
         vkDebugReportMessageEXT(this, flags, objectType, @object, location, messageCode, __layerPrefix__, message);
     }
 }
コード例 #7
0
ファイル: Functions.cs プロジェクト: jwollen/SharpVulkan
 internal static unsafe extern void vkDebugReportMessageEXT(Instance instance, uint flags, DebugReportObjectType objectType, ulong @object, PointerSize location, int messageCode, byte* layerPrefix, byte* message);
コード例 #8
0
ファイル: Functions.cs プロジェクト: jwollen/SharpVulkan
 internal static unsafe extern Result vkGetQueryPoolResults(Device device, QueryPool queryPool, uint firstQuery, uint queryCount, PointerSize dataSize, IntPtr data, ulong stride, QueryResultFlags flags);
コード例 #9
0
ファイル: Functions.cs プロジェクト: jwollen/SharpVulkan
 internal static unsafe extern Result vkGetPipelineCacheData(Device device, PipelineCache pipelineCache, PointerSize* dataSize, IntPtr data);
コード例 #10
0
ファイル: PointerSize.cs プロジェクト: x5f3759df/Citrus
 /// <summary>
 ///   Determines whether the specified <see cref = "PointerSize" /> is equal to this instance.
 /// </summary>
 /// <param name = "other">The <see cref = "PointerSize" /> to compare with this instance.</param>
 /// <returns>
 ///   <c>true</c> if the specified <see cref = "PointerSize" /> is equal to this instance; otherwise, <c>false</c>.
 /// </returns>
 public bool Equals(PointerSize other)
 {
     return(_size == other._size);
 }