get stuff working on macos
This commit is contained in:
@@ -21,17 +21,17 @@ gnInstanceFunctions loadVulkanInstanceFunctions(loaderInfo info) {
|
||||
._gnCreateX11WindowSurface = createX11WindowSurface,
|
||||
#endif
|
||||
#ifdef GN_WINDOW_WAYLAND
|
||||
._gnCreateWaylandWindowSurface
|
||||
._gnCreateWaylandWindowSurface,
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef GN_PLATFORM_WIN32
|
||||
._gnCreateWin32WindowSurface
|
||||
._gnCreateWin32WindowSurface,
|
||||
#endif
|
||||
|
||||
#ifdef GN_PLATFORM_MACOS
|
||||
._gnCreateMacOSWindowSurface
|
||||
._gnCreateMacOSWindowSurface = createMacOSWindowSurface,
|
||||
#endif
|
||||
|
||||
._gnDestroyWindowSurface = destroyWindowSurface,
|
||||
|
@@ -42,6 +42,7 @@ gnReturnCode createUniformPool(gnUniformPool pool, gnDeviceHandle device) {
|
||||
|
||||
gnUniform* allocateUniforms(gnUniformPool pool, gnUniformAllocationInfo allocInfo) {
|
||||
gnBool fixedAllocation = !pool->device->outputDevice->enabledOversizedDescriptorPools;
|
||||
|
||||
if (fixedAllocation) {
|
||||
VkGryphnUniformPool newPool = {
|
||||
.pool = VK_NULL_HANDLE,
|
||||
@@ -61,8 +62,8 @@ gnUniform* allocateUniforms(gnUniformPool pool, gnUniformAllocationInfo allocInf
|
||||
|
||||
for (int i = 0; i < allocInfo.setCount; i++) {
|
||||
for (int c = 0; c < allocInfo.sets[i].uniformBindingCount; c++) {
|
||||
if (allocInfo.sets[i].uniformBindings[i].type == GN_UNIFORM_BUFFER_DESCRIPTOR) uniformBufferSize.descriptorCount++;
|
||||
if (allocInfo.sets[i].uniformBindings[i].type == GN_IMAGE_DESCRIPTOR) imageSize.descriptorCount++;
|
||||
if (allocInfo.sets[i].uniformBindings[c].type == GN_UNIFORM_BUFFER_DESCRIPTOR) uniformBufferSize.descriptorCount++;
|
||||
if (allocInfo.sets[i].uniformBindings[c].type == GN_IMAGE_DESCRIPTOR) imageSize.descriptorCount++;
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -14,6 +14,9 @@ VkColorSpaceKHR vkGryphnColorSpaceToVulkanColorSpace(gnColorSpace colorSpace);
|
||||
gnReturnCode createX11WindowSurface(gnWindowSurfaceHandle windowSurface, gnInstanceHandle instance, gnX11WindowSurfaceInfo createInfo);
|
||||
#endif
|
||||
#endif
|
||||
#ifdef GN_PLATFORM_MACOS
|
||||
gnReturnCode createMacOSWindowSurface(gnWindowSurfaceHandle windowSurface, gnInstanceHandle instance, gnMacOSWindowSurfaceInfo createInfo);
|
||||
#endif
|
||||
|
||||
gnSurfaceDetails getSurfaceDetails(gnWindowSurfaceHandle windowSurface, gnPhysicalDevice device);
|
||||
void destroyWindowSurface(gnWindowSurface windowSurface);
|
||||
|
@@ -1,6 +1,6 @@
|
||||
#ifdef GN_PLATFORM_MACOS
|
||||
#include "vulkan_surface.h"
|
||||
#include "core/window_surface/gryphn_surface_create_functions.h"
|
||||
#include "window_surface/gryphn_surface_create_functions.h"
|
||||
#include "../instance/vulkan_instance.h"
|
||||
#include <AppKit/AppKit.h>
|
||||
#include <vulkan/vulkan_metal.h>
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
|
||||
#include "vulkan/vulkan_metal.h"
|
||||
gnReturnCode gnCreateMacOSWindowSurfaceFn(gnWindowSurfaceHandle windowSurface, gnInstanceHandle instance, struct gnMacOSWindowSurfaceInfo_t createInfo) {
|
||||
gnReturnCode createMacOSWindowSurface(gnWindowSurfaceHandle windowSurface, gnInstanceHandle instance, gnMacOSWindowSurfaceInfo createInfo) {
|
||||
windowSurface->windowSurface = malloc(sizeof(gnPlatformWindowSurface));
|
||||
VkMetalSurfaceCreateInfoEXT surfaceCreateInfo = {};
|
||||
surfaceCreateInfo.sType = VK_STRUCTURE_TYPE_METAL_SURFACE_CREATE_INFO_EXT;
|
||||
|
Reference in New Issue
Block a user