internal extern static unsafe void glGetIntegerui64vNV(Int32 value, UInt64 *result);
internal static unsafe extern void vkCmdWaitEvents(IntPtr commandBuffer, UInt32 eventCount, UInt64 *pEvents, PipelineStageFlags srcStageMask, PipelineStageFlags dstStageMask, UInt32 memoryBarrierCount, MemoryBarrier *pMemoryBarriers, UInt32 bufferMemoryBarrierCount, BufferMemoryBarrier *pBufferMemoryBarriers, UInt32 imageMemoryBarrierCount, ImageMemoryBarrier *pImageMemoryBarriers);
internal static unsafe extern Result vkCreateDisplayModeKHR(IntPtr physicalDevice, UInt64 display, DisplayModeCreateInfoKhr *pCreateInfo, AllocationCallbacks *pAllocator, UInt64 *pMode);
internal static unsafe extern Result vkCreateRenderPass(IntPtr device, RenderPassCreateInfo *pCreateInfo, AllocationCallbacks *pAllocator, UInt64 *pRenderPass);
internal static unsafe extern void vkCmdBindDescriptorSets(IntPtr commandBuffer, PipelineBindPoint pipelineBindPoint, UInt64 layout, UInt32 firstSet, UInt32 descriptorSetCount, UInt64 *pDescriptorSets, UInt32 dynamicOffsetCount, UInt32 *pDynamicOffsets);
internal static unsafe extern Result vkCreateDescriptorPool(IntPtr device, DescriptorPoolCreateInfo *pCreateInfo, AllocationCallbacks *pAllocator, UInt64 *pDescriptorPool);
internal static unsafe extern Result vkFreeDescriptorSets(IntPtr device, UInt64 descriptorPool, UInt32 descriptorSetCount, UInt64 *pDescriptorSets);
internal static unsafe extern Result vkResetFences(IntPtr device, UInt32 fenceCount, UInt64 *pFences);
internal static unsafe extern Result vkWaitForFences(IntPtr device, UInt32 fenceCount, UInt64 *pFences, Bool32 waitAll, UInt64 timeout);
private static unsafe string EncodeObject(ref object data, EventData *dataDescriptor, byte *dataBuffer) /*++ * * Routine Description: * * This routine is used by WriteEvent to unbox the object type and * to fill the passed in ETW data descriptor. * * Arguments: * * data - argument to be decoded * * dataDescriptor - pointer to the descriptor to be filled * * dataBuffer - storage buffer for storing user data, needed because cant get the address of the object * * Return Value: * * null if the object is a basic type other than string. String otherwise * * --*/ { dataDescriptor->Reserved = 0; string sRet = data as string; if (sRet != null) { dataDescriptor->Size = (uint)((sRet.Length + 1) * 2); return(sRet); } if (data == null) { dataDescriptor->Size = 0; dataDescriptor->DataPointer = 0; } else if (data is IntPtr) { dataDescriptor->Size = (uint)sizeof(IntPtr); IntPtr *intptrPtr = (IntPtr *)dataBuffer; * intptrPtr = (IntPtr)data; dataDescriptor->DataPointer = (ulong)intptrPtr; } else if (data is int) { dataDescriptor->Size = (uint)sizeof(int); int *intptrPtr = (int *)dataBuffer; * intptrPtr = (int)data; dataDescriptor->DataPointer = (ulong)intptrPtr; } else if (data is long) { dataDescriptor->Size = (uint)sizeof(long); long *longptr = (long *)dataBuffer; * longptr = (long)data; dataDescriptor->DataPointer = (ulong)longptr; } else if (data is uint) { dataDescriptor->Size = (uint)sizeof(uint); uint *uintptr = (uint *)dataBuffer; * uintptr = (uint)data; dataDescriptor->DataPointer = (ulong)uintptr; } else if (data is UInt64) { dataDescriptor->Size = (uint)sizeof(ulong); UInt64 *ulongptr = (ulong *)dataBuffer; * ulongptr = (ulong)data; dataDescriptor->DataPointer = (ulong)ulongptr; } else if (data is char) { dataDescriptor->Size = (uint)sizeof(char); char *charptr = (char *)dataBuffer; * charptr = (char)data; dataDescriptor->DataPointer = (ulong)charptr; } else if (data is byte) { dataDescriptor->Size = (uint)sizeof(byte); byte *byteptr = (byte *)dataBuffer; * byteptr = (byte)data; dataDescriptor->DataPointer = (ulong)byteptr; } else if (data is short) { dataDescriptor->Size = (uint)sizeof(short); short *shortptr = (short *)dataBuffer; * shortptr = (short)data; dataDescriptor->DataPointer = (ulong)shortptr; } else if (data is sbyte) { dataDescriptor->Size = (uint)sizeof(sbyte); sbyte *sbyteptr = (sbyte *)dataBuffer; * sbyteptr = (sbyte)data; dataDescriptor->DataPointer = (ulong)sbyteptr; } else if (data is ushort) { dataDescriptor->Size = (uint)sizeof(ushort); ushort *ushortptr = (ushort *)dataBuffer; * ushortptr = (ushort)data; dataDescriptor->DataPointer = (ulong)ushortptr; } else if (data is float) { dataDescriptor->Size = (uint)sizeof(float); float *floatptr = (float *)dataBuffer; * floatptr = (float)data; dataDescriptor->DataPointer = (ulong)floatptr; } else if (data is double) { dataDescriptor->Size = (uint)sizeof(double); double *doubleptr = (double *)dataBuffer; * doubleptr = (double)data; dataDescriptor->DataPointer = (ulong)doubleptr; } else if (data is bool) { dataDescriptor->Size = (uint)sizeof(bool); bool *boolptr = (bool *)dataBuffer; * boolptr = (bool)data; dataDescriptor->DataPointer = (ulong)boolptr; } else if (data is Guid) { dataDescriptor->Size = (uint)sizeof(Guid); Guid *guidptr = (Guid *)dataBuffer; * guidptr = (Guid)data; dataDescriptor->DataPointer = (ulong)guidptr; } else if (data is decimal) { dataDescriptor->Size = (uint)sizeof(decimal); decimal *decimalptr = (decimal *)dataBuffer; * decimalptr = (decimal)data; dataDescriptor->DataPointer = (ulong)decimalptr; } else if (data is Boolean) { dataDescriptor->Size = (uint)sizeof(Boolean); Boolean *booleanptr = (Boolean *)dataBuffer; * booleanptr = (Boolean)data; dataDescriptor->DataPointer = (ulong)booleanptr; } else { //To our eyes, everything else is a just a string sRet = data.ToString(); dataDescriptor->Size = (uint)((sRet.Length + 1) * 2); return(sRet); } return(null); }
internal static unsafe extern Result vkCreateFence(IntPtr device, FenceCreateInfo *pCreateInfo, AllocationCallbacks *pAllocator, UInt64 *pFence);
internal extern static unsafe void glProgramUniformui64vNV(UInt32 program, Int32 location, Int32 count, UInt64 *value);
internal extern static unsafe void glGetUniformui64vNV(UInt32 program, Int32 location, UInt64 * @params);
internal extern static unsafe void glUniformui64vNV(Int32 location, Int32 count, UInt64 *value);
internal static unsafe extern Result vkCreateSampler(IntPtr device, SamplerCreateInfo *pCreateInfo, AllocationCallbacks *pAllocator, UInt64 *pSampler);
internal static unsafe extern Result vkCreateSemaphore(IntPtr device, SemaphoreCreateInfo *pCreateInfo, AllocationCallbacks *pAllocator, UInt64 *pSemaphore);
internal static unsafe extern Result vkCreateDescriptorSetLayout(IntPtr device, DescriptorSetLayoutCreateInfo *pCreateInfo, AllocationCallbacks *pAllocator, UInt64 *pSetLayout);
internal static unsafe extern Result vkCreateEvent(IntPtr device, EventCreateInfo *pCreateInfo, AllocationCallbacks *pAllocator, UInt64 *pEvent);
internal static unsafe extern Result vkAllocateDescriptorSets(IntPtr device, DescriptorSetAllocateInfo *pAllocateInfo, UInt64 *pDescriptorSets);
internal static unsafe extern Result vkCreateImageView(IntPtr device, ImageViewCreateInfo *pCreateInfo, AllocationCallbacks *pAllocator, UInt64 *pView);
internal static unsafe extern Result vkCreateFramebuffer(IntPtr device, FramebufferCreateInfo *pCreateInfo, AllocationCallbacks *pAllocator, UInt64 *pFramebuffer);
internal static unsafe extern Result vkCreateShaderModule(IntPtr device, ShaderModuleCreateInfo *pCreateInfo, AllocationCallbacks *pAllocator, UInt64 *pShaderModule);
internal static unsafe extern Result vkCreateCommandPool(IntPtr device, CommandPoolCreateInfo *pCreateInfo, AllocationCallbacks *pAllocator, UInt64 *pCommandPool);
internal static unsafe extern Result vkMergePipelineCaches(IntPtr device, UInt64 dstCache, UInt32 srcCacheCount, UInt64 *pSrcCaches);
internal static unsafe extern void vkCmdBindVertexBuffers(IntPtr commandBuffer, UInt32 firstBinding, UInt32 bindingCount, UInt64 *pBuffers, DeviceSize *pOffsets);
internal static unsafe extern Result vkCreateComputePipelines(IntPtr device, UInt64 pipelineCache, UInt32 createInfoCount, ComputePipelineCreateInfo *pCreateInfos, AllocationCallbacks *pAllocator, UInt64 *pPipelines);
internal static unsafe extern Result vkGetDisplayPlaneSupportedDisplaysKHR(IntPtr physicalDevice, UInt32 planeIndex, UInt32 *pDisplayCount, UInt64 *pDisplays);
internal static unsafe extern Result vkCreatePipelineLayout(IntPtr device, PipelineLayoutCreateInfo *pCreateInfo, AllocationCallbacks *pAllocator, UInt64 *pPipelineLayout);
internal static unsafe extern Result vkCreateDisplayPlaneSurfaceKHR(IntPtr instance, DisplaySurfaceCreateInfoKhr *pCreateInfo, AllocationCallbacks *pAllocator, UInt64 *pSurface);
internal extern static unsafe void glGetNamedBufferParameterui64vNV(UInt32 buffer, Int32 pname, UInt64 * @params);