fix some stuff
This commit is contained in:
@@ -39,6 +39,7 @@ if(APPLE)
|
||||
endif()
|
||||
if(UNIX AND NOT APPLE)
|
||||
add_compile_definitions(GN_PLATFORM_LINUX)
|
||||
add_compile_definitions(GN_WINDOW_X11)
|
||||
add_subdirectory(rendering_api/vulkan/)
|
||||
endif()
|
||||
|
||||
|
@@ -5,7 +5,6 @@
|
||||
#include <core/debugger/gryphn_debugger.h>
|
||||
#include <core/output_device/gryphn_physical_output_device.h>
|
||||
#include <core/window_surface/gryphn_surface.h>
|
||||
#include <core/window_surface/gryphn_surface_create_functions.h>
|
||||
#include <core/presentation_queue/gryphn_presentation_queue.h>
|
||||
#include <core/shader_module/gryphn_shader_module.h>
|
||||
#include <core/pipelines/graphics_pipeline/gryphn_graphics_pipeline.h>
|
||||
|
@@ -1,2 +1,3 @@
|
||||
#pragma once
|
||||
#include <platform/gryphn_platform_include.h>
|
||||
#include <core/window_surface/gryphn_surface_create_functions.h>
|
||||
|
@@ -58,7 +58,7 @@ gnReturnCode gnCreateInstanceFn(gnInstanceHandle instance, gnInstanceInfo instan
|
||||
|
||||
|
||||
#ifdef GN_PLATFORM_LINUX
|
||||
gnBool isX11 = gnFalse;
|
||||
gnBool isX11 = gnTrue;
|
||||
uint32_t extensionCount = 3;
|
||||
const char* extensions[3];
|
||||
if (isX11) {
|
||||
@@ -101,7 +101,12 @@ gnReturnCode gnCreateInstanceFn(gnInstanceHandle instance, gnInstanceInfo instan
|
||||
VkInstanceCreateInfo createInfo = {};
|
||||
createInfo.sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO;
|
||||
createInfo.pApplicationInfo = &appInfo;
|
||||
createInfo.flags = VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR;
|
||||
VkInstanceCreateFlags createFlags = 0;
|
||||
#ifdef GN_PLATFORM_MACOS
|
||||
createFlags |= VK_INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR;
|
||||
#endif
|
||||
|
||||
createInfo.flags = createFlags;
|
||||
|
||||
const char* validation_layers[1] = { "VK_LAYER_KHRONOS_validation" };
|
||||
createInfo.enabledLayerCount = 1;
|
||||
|
@@ -1,13 +1,15 @@
|
||||
#include <core/window_surface/gryphn_surface_create_functions.h>
|
||||
#include <instance/vulkan_instance.h>
|
||||
#include "vulkan_surface.h"
|
||||
#include <output_device/vulkan_physical_device.h>
|
||||
#include <stdio.h>
|
||||
|
||||
|
||||
#ifdef GN_PLATFORM_LINUX
|
||||
#ifdef GN_WINDOW_X11
|
||||
#include <vulkan/vulkan_xlib.h>
|
||||
#include <X11/Xlib.h>
|
||||
gnReturnCode gnCreateX11WindowSurfaceFn(struct gnWindowSurface_t* windowSurface, gnInstanceHandle instance, struct gnX11WindowSurfaceInfo_t createInfo) {
|
||||
gnReturnCode gnCreateX11WindowSurfaceFn(gnWindowSurfaceHandle windowSurface, gnInstanceHandle instance, gnX11WindowSurfaceInfo createInfo) {
|
||||
windowSurface->windowSurface = malloc(sizeof(struct gnPlatformWindowSurface_t));
|
||||
VkXlibSurfaceCreateInfoKHR info = {};
|
||||
info.sType = VK_STRUCTURE_TYPE_XLIB_SURFACE_CREATE_INFO_KHR;
|
||||
|
@@ -1,6 +1,5 @@
|
||||
#include "gryphn_debugger.h"
|
||||
#include <core/gryphn_platform_functions.h>
|
||||
#include "stdio.h"
|
||||
|
||||
gnReturnCode gnCreateDebugger(gnDebuggerHandle* debugger, const struct gnDebuggerInfo_t info) {
|
||||
*debugger = malloc(sizeof(struct gnDebugger_t));
|
||||
|
@@ -1,12 +1,15 @@
|
||||
#define GN_WINDOW_X11
|
||||
#include "gryphn_surface_create_functions.h"
|
||||
#include "core/instance/gryphn_instance.h"
|
||||
#include "core/gryphn_platform_functions.h"
|
||||
#include "stdio.h"
|
||||
|
||||
#ifdef GN_PLATFORM_LINUX
|
||||
#ifdef GN_WINDOW_X11
|
||||
gnReturnCode gnCreateX11WindowSurface(gnWindowSurfaceHandle* windowSurface, gnInstanceHandle instance, struct gnX11WindowSurfaceInfo_t createInfo) {
|
||||
*windowSurface = malloc(sizeof(struct gnWindowSurface_t));
|
||||
return instance->functions->_gnCreateX11WindowSurface(windowSurface, instance, createInfo);
|
||||
(*windowSurface)->instance = instance;
|
||||
return instance->functions->_gnCreateX11WindowSurface(*windowSurface, instance, createInfo);
|
||||
}
|
||||
#endif
|
||||
#ifdef GN_WINDOW_WAYLAND
|
||||
|
@@ -7,10 +7,10 @@
|
||||
#ifdef GN_WINDOW_X11
|
||||
typedef struct gnX11WindowSurfaceInfo_t {
|
||||
Display* display;
|
||||
Window* window;
|
||||
} gnX11WindowSurfaceCreateInfo;
|
||||
Window window;
|
||||
} gnX11WindowSurfaceInfo;
|
||||
|
||||
gnReturnCode gnCreateX11WindowSurface(gnWindowSurfaceHandle* windowSurface, gnInstanceHandle instance, struct gnX11WindowSurfaceInfo_t createInfo);
|
||||
gnReturnCode gnCreateX11WindowSurface(gnWindowSurfaceHandle* windowSurface, gnInstanceHandle instance, gnX11WindowSurfaceInfo createInfo);
|
||||
#endif
|
||||
#ifdef GN_WINDOW_WAYLAND
|
||||
typedef struct gnWaylandWindowSurfaceInfo_t {
|
||||
|
Reference in New Issue
Block a user