Make vulkan handles always pointer sized
This commit is contained in:
parent
f81cfa413f
commit
4b98e845c4
4 changed files with 58 additions and 76 deletions
|
@ -1,12 +1,12 @@
|
|||
#[repr(C)]
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||
pub struct VkBuffer(u64);
|
||||
SetupU64Conv!(VkBuffer);
|
||||
pub struct VkBuffer(usize);
|
||||
SetupUSizeConv!(VkBuffer);
|
||||
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||
pub struct VkBufferView(u64);
|
||||
SetupU64Conv!(VkBufferView);
|
||||
pub struct VkBufferView(usize);
|
||||
SetupUSizeConv!(VkBufferView);
|
||||
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||
|
@ -15,23 +15,23 @@ SetupUSizeConv!(VkCommandBuffer);
|
|||
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||
pub struct VkCommandPool(u64);
|
||||
SetupU64Conv!(VkCommandPool);
|
||||
pub struct VkCommandPool(usize);
|
||||
SetupUSizeConv!(VkCommandPool);
|
||||
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||
pub struct VkDescriptorPool(u64);
|
||||
SetupU64Conv!(VkDescriptorPool);
|
||||
pub struct VkDescriptorPool(usize);
|
||||
SetupUSizeConv!(VkDescriptorPool);
|
||||
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||
pub struct VkDescriptorSet(u64);
|
||||
SetupU64Conv!(VkDescriptorSet);
|
||||
pub struct VkDescriptorSet(usize);
|
||||
SetupUSizeConv!(VkDescriptorSet);
|
||||
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||
pub struct VkDescriptorSetLayout(u64);
|
||||
SetupU64Conv!(VkDescriptorSetLayout);
|
||||
pub struct VkDescriptorSetLayout(usize);
|
||||
SetupUSizeConv!(VkDescriptorSetLayout);
|
||||
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||
|
@ -40,33 +40,33 @@ SetupUSizeConv!(VkDevice);
|
|||
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||
pub struct VkDeviceMemory(u64);
|
||||
SetupU64Conv!(VkDeviceMemory);
|
||||
pub struct VkDeviceMemory(usize);
|
||||
SetupUSizeConv!(VkDeviceMemory);
|
||||
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||
pub struct VkEvent(u64);
|
||||
SetupU64Conv!(VkEvent);
|
||||
pub struct VkEvent(usize);
|
||||
SetupUSizeConv!(VkEvent);
|
||||
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||
pub struct VkFence(u64);
|
||||
SetupU64Conv!(VkFence);
|
||||
pub struct VkFence(usize);
|
||||
SetupUSizeConv!(VkFence);
|
||||
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||
pub struct VkFramebuffer(u64);
|
||||
SetupU64Conv!(VkFramebuffer);
|
||||
pub struct VkFramebuffer(usize);
|
||||
SetupUSizeConv!(VkFramebuffer);
|
||||
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||
pub struct VkImage(u64);
|
||||
SetupU64Conv!(VkImage);
|
||||
pub struct VkImage(usize);
|
||||
SetupUSizeConv!(VkImage);
|
||||
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||
pub struct VkImageView(u64);
|
||||
SetupU64Conv!(VkImageView);
|
||||
pub struct VkImageView(usize);
|
||||
SetupUSizeConv!(VkImageView);
|
||||
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||
|
@ -80,23 +80,23 @@ SetupUSizeConv!(VkPhysicalDevice);
|
|||
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||
pub struct VkPipeline(u64);
|
||||
SetupU64Conv!(VkPipeline);
|
||||
pub struct VkPipeline(usize);
|
||||
SetupUSizeConv!(VkPipeline);
|
||||
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||
pub struct VkPipelineCache(u64);
|
||||
SetupU64Conv!(VkPipelineCache);
|
||||
pub struct VkPipelineCache(usize);
|
||||
SetupUSizeConv!(VkPipelineCache);
|
||||
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||
pub struct VkPipelineLayout(u64);
|
||||
SetupU64Conv!(VkPipelineLayout);
|
||||
pub struct VkPipelineLayout(usize);
|
||||
SetupUSizeConv!(VkPipelineLayout);
|
||||
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||
pub struct VkQueryPool(u64);
|
||||
SetupU64Conv!(VkQueryPool);
|
||||
pub struct VkQueryPool(usize);
|
||||
SetupUSizeConv!(VkQueryPool);
|
||||
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||
|
@ -105,20 +105,20 @@ SetupUSizeConv!(VkQueue);
|
|||
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||
pub struct VkRenderPass(u64);
|
||||
SetupU64Conv!(VkRenderPass);
|
||||
pub struct VkRenderPass(usize);
|
||||
SetupUSizeConv!(VkRenderPass);
|
||||
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||
pub struct VkSampler(u64);
|
||||
SetupU64Conv!(VkSampler);
|
||||
pub struct VkSampler(usize);
|
||||
SetupUSizeConv!(VkSampler);
|
||||
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||
pub struct VkSemaphore(u64);
|
||||
SetupU64Conv!(VkSemaphore);
|
||||
pub struct VkSemaphore(usize);
|
||||
SetupUSizeConv!(VkSemaphore);
|
||||
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||
pub struct VkShaderModule(u64);
|
||||
SetupU64Conv!(VkShaderModule);
|
||||
pub struct VkShaderModule(usize);
|
||||
SetupUSizeConv!(VkShaderModule);
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
#[repr(C)]
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
||||
pub struct VkDebugReportCallbackEXT(u64);
|
||||
SetupU64Conv!(VkDebugReportCallbackEXT);
|
||||
pub struct VkDebugReportCallbackEXT(usize);
|
||||
SetupUSizeConv!(VkDebugReportCallbackEXT);
|
||||
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
||||
pub struct VkDebugUtilsMessengerEXT(u64);
|
||||
SetupU64Conv!(VkDebugUtilsMessengerEXT);
|
||||
pub struct VkDebugUtilsMessengerEXT(usize);
|
||||
SetupUSizeConv!(VkDebugUtilsMessengerEXT);
|
||||
|
|
|
@ -1,34 +1,34 @@
|
|||
#[repr(C)]
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||
pub struct VkDescriptorUpdateTemplateKHR(u64);
|
||||
SetupU64Conv!(VkDescriptorUpdateTemplateKHR);
|
||||
pub struct VkDescriptorUpdateTemplateKHR(usize);
|
||||
SetupUSizeConv!(VkDescriptorUpdateTemplateKHR);
|
||||
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||
pub struct VkDisplayKHR(u64);
|
||||
SetupU64Conv!(VkDisplayKHR);
|
||||
pub struct VkDisplayKHR(usize);
|
||||
SetupUSizeConv!(VkDisplayKHR);
|
||||
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||
pub struct VkDisplayModeKHR(u64);
|
||||
SetupU64Conv!(VkDisplayModeKHR);
|
||||
pub struct VkDisplayModeKHR(usize);
|
||||
SetupUSizeConv!(VkDisplayModeKHR);
|
||||
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||
pub struct VkSurfaceKHR(u64);
|
||||
SetupU64Conv!(VkSurfaceKHR);
|
||||
pub struct VkSurfaceKHR(usize);
|
||||
SetupUSizeConv!(VkSurfaceKHR);
|
||||
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||
pub struct VkSwapchainKHR(u64);
|
||||
SetupU64Conv!(VkSwapchainKHR);
|
||||
pub struct VkSwapchainKHR(usize);
|
||||
SetupUSizeConv!(VkSwapchainKHR);
|
||||
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||
pub struct VkAccelerationStructureKHR(u64);
|
||||
SetupU64Conv!(VkAccelerationStructureKHR);
|
||||
pub struct VkAccelerationStructureKHR(usize);
|
||||
SetupUSizeConv!(VkAccelerationStructureKHR);
|
||||
|
||||
#[repr(C)]
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||
pub struct VkDeferredOperationKHR(u64);
|
||||
SetupU64Conv!(VkDeferredOperationKHR);
|
||||
pub struct VkDeferredOperationKHR(usize);
|
||||
SetupUSizeConv!(VkDeferredOperationKHR);
|
||||
|
|
|
@ -1,21 +1,3 @@
|
|||
macro_rules! SetupU64Conv {
|
||||
($name: ident) => {
|
||||
impl $name {
|
||||
pub const NULL_HANDLE: $name = $name(0);
|
||||
|
||||
pub fn raw(&self) -> u64 {
|
||||
self.0
|
||||
}
|
||||
}
|
||||
|
||||
impl From<u64> for $name {
|
||||
fn from(v: u64) -> Self {
|
||||
$name(v)
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
macro_rules! SetupUSizeConv {
|
||||
($name: ident) => {
|
||||
impl $name {
|
||||
|
|
Loading…
Reference in a new issue