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)]
|
#[repr(C)]
|
||||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||||
pub struct VkBuffer(u64);
|
pub struct VkBuffer(usize);
|
||||||
SetupU64Conv!(VkBuffer);
|
SetupUSizeConv!(VkBuffer);
|
||||||
|
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||||
pub struct VkBufferView(u64);
|
pub struct VkBufferView(usize);
|
||||||
SetupU64Conv!(VkBufferView);
|
SetupUSizeConv!(VkBufferView);
|
||||||
|
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||||
|
@ -15,23 +15,23 @@ SetupUSizeConv!(VkCommandBuffer);
|
||||||
|
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||||
pub struct VkCommandPool(u64);
|
pub struct VkCommandPool(usize);
|
||||||
SetupU64Conv!(VkCommandPool);
|
SetupUSizeConv!(VkCommandPool);
|
||||||
|
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||||
pub struct VkDescriptorPool(u64);
|
pub struct VkDescriptorPool(usize);
|
||||||
SetupU64Conv!(VkDescriptorPool);
|
SetupUSizeConv!(VkDescriptorPool);
|
||||||
|
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||||
pub struct VkDescriptorSet(u64);
|
pub struct VkDescriptorSet(usize);
|
||||||
SetupU64Conv!(VkDescriptorSet);
|
SetupUSizeConv!(VkDescriptorSet);
|
||||||
|
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||||
pub struct VkDescriptorSetLayout(u64);
|
pub struct VkDescriptorSetLayout(usize);
|
||||||
SetupU64Conv!(VkDescriptorSetLayout);
|
SetupUSizeConv!(VkDescriptorSetLayout);
|
||||||
|
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||||
|
@ -40,33 +40,33 @@ SetupUSizeConv!(VkDevice);
|
||||||
|
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||||
pub struct VkDeviceMemory(u64);
|
pub struct VkDeviceMemory(usize);
|
||||||
SetupU64Conv!(VkDeviceMemory);
|
SetupUSizeConv!(VkDeviceMemory);
|
||||||
|
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||||
pub struct VkEvent(u64);
|
pub struct VkEvent(usize);
|
||||||
SetupU64Conv!(VkEvent);
|
SetupUSizeConv!(VkEvent);
|
||||||
|
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||||
pub struct VkFence(u64);
|
pub struct VkFence(usize);
|
||||||
SetupU64Conv!(VkFence);
|
SetupUSizeConv!(VkFence);
|
||||||
|
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||||
pub struct VkFramebuffer(u64);
|
pub struct VkFramebuffer(usize);
|
||||||
SetupU64Conv!(VkFramebuffer);
|
SetupUSizeConv!(VkFramebuffer);
|
||||||
|
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||||
pub struct VkImage(u64);
|
pub struct VkImage(usize);
|
||||||
SetupU64Conv!(VkImage);
|
SetupUSizeConv!(VkImage);
|
||||||
|
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||||
pub struct VkImageView(u64);
|
pub struct VkImageView(usize);
|
||||||
SetupU64Conv!(VkImageView);
|
SetupUSizeConv!(VkImageView);
|
||||||
|
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||||
|
@ -80,23 +80,23 @@ SetupUSizeConv!(VkPhysicalDevice);
|
||||||
|
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||||
pub struct VkPipeline(u64);
|
pub struct VkPipeline(usize);
|
||||||
SetupU64Conv!(VkPipeline);
|
SetupUSizeConv!(VkPipeline);
|
||||||
|
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||||
pub struct VkPipelineCache(u64);
|
pub struct VkPipelineCache(usize);
|
||||||
SetupU64Conv!(VkPipelineCache);
|
SetupUSizeConv!(VkPipelineCache);
|
||||||
|
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||||
pub struct VkPipelineLayout(u64);
|
pub struct VkPipelineLayout(usize);
|
||||||
SetupU64Conv!(VkPipelineLayout);
|
SetupUSizeConv!(VkPipelineLayout);
|
||||||
|
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||||
pub struct VkQueryPool(u64);
|
pub struct VkQueryPool(usize);
|
||||||
SetupU64Conv!(VkQueryPool);
|
SetupUSizeConv!(VkQueryPool);
|
||||||
|
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||||
|
@ -105,20 +105,20 @@ SetupUSizeConv!(VkQueue);
|
||||||
|
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||||
pub struct VkRenderPass(u64);
|
pub struct VkRenderPass(usize);
|
||||||
SetupU64Conv!(VkRenderPass);
|
SetupUSizeConv!(VkRenderPass);
|
||||||
|
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||||
pub struct VkSampler(u64);
|
pub struct VkSampler(usize);
|
||||||
SetupU64Conv!(VkSampler);
|
SetupUSizeConv!(VkSampler);
|
||||||
|
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||||
pub struct VkSemaphore(u64);
|
pub struct VkSemaphore(usize);
|
||||||
SetupU64Conv!(VkSemaphore);
|
SetupUSizeConv!(VkSemaphore);
|
||||||
|
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||||
pub struct VkShaderModule(u64);
|
pub struct VkShaderModule(usize);
|
||||||
SetupU64Conv!(VkShaderModule);
|
SetupUSizeConv!(VkShaderModule);
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
||||||
pub struct VkDebugReportCallbackEXT(u64);
|
pub struct VkDebugReportCallbackEXT(usize);
|
||||||
SetupU64Conv!(VkDebugReportCallbackEXT);
|
SetupUSizeConv!(VkDebugReportCallbackEXT);
|
||||||
|
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
||||||
pub struct VkDebugUtilsMessengerEXT(u64);
|
pub struct VkDebugUtilsMessengerEXT(usize);
|
||||||
SetupU64Conv!(VkDebugUtilsMessengerEXT);
|
SetupUSizeConv!(VkDebugUtilsMessengerEXT);
|
||||||
|
|
|
@ -1,34 +1,34 @@
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||||
pub struct VkDescriptorUpdateTemplateKHR(u64);
|
pub struct VkDescriptorUpdateTemplateKHR(usize);
|
||||||
SetupU64Conv!(VkDescriptorUpdateTemplateKHR);
|
SetupUSizeConv!(VkDescriptorUpdateTemplateKHR);
|
||||||
|
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||||
pub struct VkDisplayKHR(u64);
|
pub struct VkDisplayKHR(usize);
|
||||||
SetupU64Conv!(VkDisplayKHR);
|
SetupUSizeConv!(VkDisplayKHR);
|
||||||
|
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||||
pub struct VkDisplayModeKHR(u64);
|
pub struct VkDisplayModeKHR(usize);
|
||||||
SetupU64Conv!(VkDisplayModeKHR);
|
SetupUSizeConv!(VkDisplayModeKHR);
|
||||||
|
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||||
pub struct VkSurfaceKHR(u64);
|
pub struct VkSurfaceKHR(usize);
|
||||||
SetupU64Conv!(VkSurfaceKHR);
|
SetupUSizeConv!(VkSurfaceKHR);
|
||||||
|
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||||
pub struct VkSwapchainKHR(u64);
|
pub struct VkSwapchainKHR(usize);
|
||||||
SetupU64Conv!(VkSwapchainKHR);
|
SetupUSizeConv!(VkSwapchainKHR);
|
||||||
|
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||||
pub struct VkAccelerationStructureKHR(u64);
|
pub struct VkAccelerationStructureKHR(usize);
|
||||||
SetupU64Conv!(VkAccelerationStructureKHR);
|
SetupUSizeConv!(VkAccelerationStructureKHR);
|
||||||
|
|
||||||
#[repr(C)]
|
#[repr(C)]
|
||||||
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||||
pub struct VkDeferredOperationKHR(u64);
|
pub struct VkDeferredOperationKHR(usize);
|
||||||
SetupU64Conv!(VkDeferredOperationKHR);
|
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 {
|
macro_rules! SetupUSizeConv {
|
||||||
($name: ident) => {
|
($name: ident) => {
|
||||||
impl $name {
|
impl $name {
|
||||||
|
|
Loading…
Reference in a new issue