diff --git a/include/gryphn/gryphn.h b/include/gryphn/gryphn.h index 9752e46..dee2055 100644 --- a/include/gryphn/gryphn.h +++ b/include/gryphn/gryphn.h @@ -3,7 +3,7 @@ // core functionality #include -#include +#include #include #include #include diff --git a/projects/apis/metal/src/devices/metal_output_device.m b/projects/apis/metal/src/devices/metal_output_device.m index 615a612..caa7274 100644 --- a/projects/apis/metal/src/devices/metal_output_device.m +++ b/projects/apis/metal/src/devices/metal_output_device.m @@ -1,4 +1,4 @@ -#include +#include #include #include "metal_output_devices.h" #include "instance/metal_instance.h" diff --git a/projects/apis/metal/src/devices/metal_physical_device.m b/projects/apis/metal/src/devices/metal_physical_device.m index 7b52339..b54cac1 100644 --- a/projects/apis/metal/src/devices/metal_physical_device.m +++ b/projects/apis/metal/src/devices/metal_physical_device.m @@ -1,4 +1,4 @@ -#include +#include #include #include "metal_output_devices.h" #include "window_surface/gryphn_surface.h" diff --git a/projects/apis/vulkan/src/extensions/queues/vulkan_device_queues.c b/projects/apis/vulkan/src/extensions/queues/vulkan_device_queues.c index 454b682..dd5e0fa 100644 --- a/projects/apis/vulkan/src/extensions/queues/vulkan_device_queues.c +++ b/projects/apis/vulkan/src/extensions/queues/vulkan_device_queues.c @@ -1,7 +1,7 @@ #include "vulkan_device_queues.h" #include "output_device/vulkan_output_devices.h" -gnReturnCode vulkanPhysicalDeviceQueueProperties(gnPhysicalOutputDeviceHandle device, uint32_t queueFamilyCount, gnQueueFamilyProperties* queues) { +gnReturnCode vulkanPhysicalDeviceQueueProperties(gnPhysicalDeviceHandle device, uint32_t queueFamilyCount, gnQueueFamilyProperties* queues) { vkGetPhysicalDeviceQueueFamilyProperties(device->physicalDevice->device, &queueFamilyCount, NULL); if (queues == NULL) return GN_SUCCESS; diff --git a/projects/apis/vulkan/src/extensions/queues/vulkan_device_queues.h b/projects/apis/vulkan/src/extensions/queues/vulkan_device_queues.h index 5f6f875..4eaf4f8 100644 --- a/projects/apis/vulkan/src/extensions/queues/vulkan_device_queues.h +++ b/projects/apis/vulkan/src/extensions/queues/vulkan_device_queues.h @@ -4,5 +4,5 @@ #include #include -gnReturnCode vulkanPhysicalDeviceQueueProperties(gnPhysicalOutputDeviceHandle device, uint32_t queueFamilyCount, gnQueueFamilyProperties* queues); +gnReturnCode vulkanPhysicalDeviceQueueProperties(gnPhysicalDeviceHandle device, uint32_t queueFamilyCount, gnQueueFamilyProperties* queues); void getVulkanDeviceQueue(gnOutputDevice device, uint32_t queueFamily, uint32_t queueIndex, gnQueue* queue); diff --git a/projects/apis/vulkan/src/output_device/vulkan_physical_device.h b/projects/apis/vulkan/src/output_device/vulkan_physical_device.h index 48de8cd..973a409 100644 --- a/projects/apis/vulkan/src/output_device/vulkan_physical_device.h +++ b/projects/apis/vulkan/src/output_device/vulkan_physical_device.h @@ -1,6 +1,6 @@ #pragma once #include -#include +#include typedef struct vulkanNeededQueue { VkQueueFlags createFlags; diff --git a/projects/core/src/gryphn_handles.h b/projects/core/src/gryphn_handles.h index edb746f..f5adc93 100644 --- a/projects/core/src/gryphn_handles.h +++ b/projects/core/src/gryphn_handles.h @@ -20,14 +20,12 @@ typedef struct handle##_t* alias##Handle; \ typedef struct handle##_t* alias GN_HANDLE(gnInstance); - +GN_HANDLE(gnPhysicalDevice); // NOTE: needs to become a impl handle GN_HANDLE(gnWindowSurface); GN_HANDLE(gnPresentationQueue); GN_HANDLE(gnTexture); GN_HANDLE(gnRenderPassDescriptor); -GN_HANDLE(gnPhysicalOutputDevice); -GN_HANDLE_ALIAS(gnPhysicalOutputDevice, gnPhysicalDevice); GN_HANDLE(gnOutputDevice); GN_HANDLE_ALIAS(gnOutputDevice, gnDevice); GN_HANDLE(gnShaderModule); diff --git a/projects/core/src/output_device/gryphn_output_device.h b/projects/core/src/output_device/gryphn_output_device.h index ae13c54..ead6519 100644 --- a/projects/core/src/output_device/gryphn_output_device.h +++ b/projects/core/src/output_device/gryphn_output_device.h @@ -1,5 +1,5 @@ #pragma once -#include +#include #include typedef struct gnOutputDeviceEnabledFeatures { diff --git a/projects/core/src/output_device/gryphn_physical_device.c b/projects/core/src/output_device/gryphn_physical_device.c new file mode 100644 index 0000000..60071f9 --- /dev/null +++ b/projects/core/src/output_device/gryphn_physical_device.c @@ -0,0 +1,17 @@ +#include "gryphn_physical_device.h" +#include "instance/gryphn_instance.h" +#include "loader/src/gryphn_instance_functions.h" + +gnPhysicalDeviceHandle* gnGetPhyscialDevices(gnInstanceHandle instance, uint32_t* count) {; + gnPhysicalDeviceHandle* devices = instance->callingLayer->instanceFunctions._gnGetPhysicalDevices(instance, count); + for (uint32_t i = 0; i < *count; i++) + devices[i]->instance = instance; + return devices; +} + +gnBool gnPhysicalDeviceCanPresentToSurface(gnPhysicalDeviceHandle device, gnWindowSurfaceHandle windowSurface) { + return device->instance->callingLayer->instanceFunctions._gnPhysicalDeviceCanPresentToSurface(device, windowSurface); +} + +gnPhysicalDeviceProperties gnGetPhysicalDeviceProperties(gnPhysicalDeviceHandle device) { return device->properties; } +gnPhysicalDeviceFeatures gnGetPhysicalDeviceFeatures(gnPhysicalDeviceHandle device) { return device->features; } diff --git a/projects/core/src/output_device/gryphn_physical_output_device.h b/projects/core/src/output_device/gryphn_physical_device.h similarity index 75% rename from projects/core/src/output_device/gryphn_physical_output_device.h rename to projects/core/src/output_device/gryphn_physical_device.h index d8e3372..fc6faa3 100644 --- a/projects/core/src/output_device/gryphn_physical_output_device.h +++ b/projects/core/src/output_device/gryphn_physical_device.h @@ -29,7 +29,7 @@ typedef struct gnPhysicalDeviceFeatures { } gnPhysicalDeviceFeatures; #ifdef GN_REVEAL_IMPL -typedef struct gnPhysicalOutputDevice_t { +typedef struct gnPhysicalDevice_t { struct gnPlatformPhysicalDevice_t* physicalDevice; gnPhysicalDeviceProperties properties; gnPhysicalDeviceFeatures features; @@ -38,8 +38,8 @@ typedef struct gnPhysicalOutputDevice_t { } gnPhysicalOutputDevice_t; #endif -gnPhysicalOutputDeviceHandle* gnGetPhyscialDevices(gnInstanceHandle instance, uint32_t* count); -gnBool gnPhysicalDeviceCanPresentToSurface(gnPhysicalOutputDeviceHandle device, gnWindowSurfaceHandle windowSurface); +gnPhysicalDeviceHandle* gnGetPhyscialDevices(gnInstanceHandle instance, uint32_t* count); +gnBool gnPhysicalDeviceCanPresentToSurface(gnPhysicalDeviceHandle device, gnWindowSurfaceHandle windowSurface); -gnPhysicalDeviceProperties gnGetPhysicalDeviceProperties(gnPhysicalOutputDeviceHandle device); -gnPhysicalDeviceFeatures gnGetPhysicalDeviceFeatures(gnPhysicalOutputDeviceHandle device); +gnPhysicalDeviceProperties gnGetPhysicalDeviceProperties(gnPhysicalDeviceHandle device); +gnPhysicalDeviceFeatures gnGetPhysicalDeviceFeatures(gnPhysicalDeviceHandle device); diff --git a/projects/core/src/output_device/gryphn_physical_output_device.c b/projects/core/src/output_device/gryphn_physical_output_device.c deleted file mode 100644 index a78b928..0000000 --- a/projects/core/src/output_device/gryphn_physical_output_device.c +++ /dev/null @@ -1,17 +0,0 @@ -#include "gryphn_physical_output_device.h" -#include "instance/gryphn_instance.h" -#include "loader/src/gryphn_instance_functions.h" - -gnPhysicalOutputDeviceHandle* gnGetPhyscialDevices(gnInstanceHandle instance, uint32_t* count) {; - gnPhysicalOutputDeviceHandle* devices = instance->callingLayer->instanceFunctions._gnGetPhysicalDevices(instance, count); - for (uint32_t i = 0; i < *count; i++) - devices[i]->instance = instance; - return devices; -} - -gnBool gnPhysicalDeviceCanPresentToSurface(gnPhysicalOutputDeviceHandle device, gnWindowSurfaceHandle windowSurface) { - return device->instance->callingLayer->instanceFunctions._gnPhysicalDeviceCanPresentToSurface(device, windowSurface); -} - -gnPhysicalDeviceProperties gnGetPhysicalDeviceProperties(gnPhysicalOutputDeviceHandle device) { return device->properties; } -gnPhysicalDeviceFeatures gnGetPhysicalDeviceFeatures(gnPhysicalOutputDeviceHandle device) { return device->features; } diff --git a/projects/core/src/renderpass/gryphn_render_pass_descriptor.h b/projects/core/src/renderpass/gryphn_render_pass_descriptor.h index 1a58785..50dbc6f 100644 --- a/projects/core/src/renderpass/gryphn_render_pass_descriptor.h +++ b/projects/core/src/renderpass/gryphn_render_pass_descriptor.h @@ -2,7 +2,7 @@ #include "stdint.h" #include "core/gryphn_image_format.h" #include "core/gryphn_return_code.h" -#include "core/src/output_device/gryphn_physical_output_device.h" +#include "core/src/output_device/gryphn_physical_device.h" #include "gryphn_handles.h" typedef enum gnRenderPassStage { diff --git a/projects/core/src/textures/gryphn_texture.h b/projects/core/src/textures/gryphn_texture.h index a414d6b..45fbbb4 100644 --- a/projects/core/src/textures/gryphn_texture.h +++ b/projects/core/src/textures/gryphn_texture.h @@ -2,7 +2,7 @@ #include "core/gryphn_image_format.h" #include "core/gryphn_return_code.h" #include "utils/math/gryphn_vec3.h" -#include "core/src/output_device/gryphn_physical_output_device.h" +#include "core/src/output_device/gryphn_physical_device.h" #include typedef enum gnTextureType { diff --git a/projects/extensions/queues/gryphn_physcial_device_queue.h b/projects/extensions/queues/gryphn_physcial_device_queue.h index 7fde324..f44bd38 100644 --- a/projects/extensions/queues/gryphn_physcial_device_queue.h +++ b/projects/extensions/queues/gryphn_physcial_device_queue.h @@ -16,4 +16,4 @@ typedef struct gnQueueFamilyProperties { gnQueueTypeFlags queueTypeFlags; } gnQueueFamilyProperties; -gnReturnCode gnGetPhysicalDeviceQueueProperties(gnPhysicalOutputDeviceHandle device, uint32_t queueCount, gnQueueFamilyProperties* queues); +gnReturnCode gnGetPhysicalDeviceQueueProperties(gnPhysicalDeviceHandle device, uint32_t queueCount, gnQueueFamilyProperties* queues); diff --git a/projects/extensions/queues/queues_functions.h b/projects/extensions/queues/queues_functions.h index be83919..2c2ce37 100644 --- a/projects/extensions/queues/queues_functions.h +++ b/projects/extensions/queues/queues_functions.h @@ -10,7 +10,7 @@ typedef struct gnPresentInfo gnPresentInfo; typedef struct gnPresentSyncInfo gnPresentSyncInfo; typedef struct gnQueueExtFunctions { - gnReturnCode (*_gnGetPhysicalDeviceQueueProperties)(gnPhysicalOutputDeviceHandle device, uint32_t queueCount, gnQueueFamilyProperties* queues); + gnReturnCode (*_gnGetPhysicalDeviceQueueProperties)(gnPhysicalDeviceHandle device, uint32_t queueCount, gnQueueFamilyProperties* queues); void (*_gnGetDeviceQueue)(gnOutputDevice device, uint32_t queueFamily, uint32_t queueIndex, gnQueue* queue); gnReturnCode (*_gnQueueSubmit)(gnOutputDevice device, gnQueue queue, gnSubmitInfo info); diff --git a/projects/validation_layers/function_loader/extensions/queue_functions.c b/projects/validation_layers/function_loader/extensions/queue_functions.c index 450bbbd..f41f0be 100644 --- a/projects/validation_layers/function_loader/extensions/queue_functions.c +++ b/projects/validation_layers/function_loader/extensions/queue_functions.c @@ -1,6 +1,6 @@ #include "queue_functions.h" #include "loader_utils.h" -#include "core/src/output_device/gryphn_physical_output_device.h" +#include "core/src/output_device/gryphn_physical_device.h" #include "core/src/output_device/gryphn_output_device.h" #include #include @@ -9,7 +9,7 @@ #include "extensions/synchronization/commands/gryphn_sync_submit.h" #include "extensions/synchronization/commands/gryphn_sync_present.h" -gnReturnCode checkGetPhysicalDeviceQueueProperties(gnPhysicalOutputDeviceHandle device, uint32_t queueCount, gnQueueFamilyProperties* queues) { +gnReturnCode checkGetPhysicalDeviceQueueProperties(gnPhysicalDeviceHandle device, uint32_t queueCount, gnQueueFamilyProperties* queues) { CHECK_FUNCTION_WITH_RETURN_CODE(device->instance, _gnGetPhysicalDeviceQueueProperties, queueFunctions, device, queueCount, queues); } void checkGetDeviceQueue(gnOutputDevice device, uint32_t queueFamily, uint32_t queueIndex, gnQueue* queue) { diff --git a/projects/validation_layers/function_loader/extensions/queue_functions.h b/projects/validation_layers/function_loader/extensions/queue_functions.h index ba49179..a3f6c3d 100644 --- a/projects/validation_layers/function_loader/extensions/queue_functions.h +++ b/projects/validation_layers/function_loader/extensions/queue_functions.h @@ -1,6 +1,6 @@ #include -gnReturnCode checkGetPhysicalDeviceQueueProperties(gnPhysicalOutputDeviceHandle device, uint32_t queueCount, gnQueueFamilyProperties* queues); +gnReturnCode checkGetPhysicalDeviceQueueProperties(gnPhysicalDeviceHandle device, uint32_t queueCount, gnQueueFamilyProperties* queues); void checkGetDeviceQueue(gnOutputDevice device, uint32_t queueFamily, uint32_t queueIndex, gnQueue* queue); gnReturnCode checkQueueSubmit(gnOutputDevice device, gnQueue queue, gnSubmitInfo info);