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); }
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; }
/// <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; }
public unsafe void GetPipelineCacheData(PipelineCache pipelineCache, ref PointerSize dataSize, IntPtr data) { fixed (PointerSize* __dataSize__ = &dataSize) { vkGetPipelineCacheData(this, pipelineCache, __dataSize__, data).CheckError(); } }
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(); }
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); } }
internal static unsafe extern void vkDebugReportMessageEXT(Instance instance, uint flags, DebugReportObjectType objectType, ulong @object, PointerSize location, int messageCode, byte* layerPrefix, byte* message);
internal static unsafe extern Result vkGetQueryPoolResults(Device device, QueryPool queryPool, uint firstQuery, uint queryCount, PointerSize dataSize, IntPtr data, ulong stride, QueryResultFlags flags);
internal static unsafe extern Result vkGetPipelineCacheData(Device device, PipelineCache pipelineCache, PointerSize* dataSize, IntPtr data);
/// <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); }