move some shit around (DOES NOT COMPILE)
This commit is contained in:
3
.gitmodules
vendored
3
.gitmodules
vendored
@@ -1,3 +1,6 @@
|
||||
[submodule "src/utils"]
|
||||
path = src/utils
|
||||
url = https://github.com/GregoryWells2007/GryphnUtils.git
|
||||
[submodule "src/apis/metal/depends/SPIRV-Cross"]
|
||||
path = src/apis/metal/depends/SPIRV-Cross
|
||||
url = https://github.com/KhronosGroup/SPIRV-Cross.git
|
||||
|
@@ -1,46 +1,50 @@
|
||||
set(CMAKE_EXPORT_COMPILE_COMMANDS on)
|
||||
project(Gryphn)
|
||||
|
||||
file(GLOB_RECURSE SOURCE_FILES CONFIGURE_DEPENDS
|
||||
"src/*.cpp" "src/*.hpp"
|
||||
"src/*.c" "src/*.h"
|
||||
)
|
||||
if(APPLE)
|
||||
file(GLOB_RECURSE METAL_FILES CONFIGURE_DEPENDS "src/*.m")
|
||||
endif()
|
||||
add_library(Gryphn ${SOURCE_FILES} ${METAL_FILES})
|
||||
target_include_directories(Gryphn PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/src/)
|
||||
target_include_directories(Gryphn PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include/)
|
||||
target_include_directories(Gryphn PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/src/utils)
|
||||
target_include_directories(Gryphn PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/src/utils/utils)
|
||||
add_compile_definitions(GN_REVEAL_IMPL)
|
||||
add_compile_definitions(GN_PLATFORM_LINUX GN_WINDOW_X11 GN_REVEAL_IMPL)
|
||||
|
||||
make_directory(${CMAKE_BINARY_DIR}/gryphn/rendering_apis/)
|
||||
add_subdirectory(src/core/) # build gryphn code
|
||||
add_subdirectory(src/apis/vulkan/)
|
||||
|
||||
if(WIN32)
|
||||
add_compile_definitions(GN_PLATFORM_WIN32)
|
||||
# add_subdirectory(rendering_api/dirctx/)
|
||||
add_subdirectory(rendering_api/vulkan/)
|
||||
endif()
|
||||
if(APPLE)
|
||||
add_compile_definitions(GN_PLATFORM_MACOS)
|
||||
add_subdirectory(rendering_api/metal/)
|
||||
add_subdirectory(rendering_api/vulkan/)
|
||||
add_library(Gryphn INTERFACE)
|
||||
target_link_libraries(Gryphn INTERFACE GryphnCore GryphnVulkanImpl)
|
||||
|
||||
target_link_libraries(Gryphn
|
||||
"-framework IOKit"
|
||||
"-framework CoreFoundation"
|
||||
"-framework CoreGraphics"
|
||||
"-framework AppKit"
|
||||
"-framework Metal"
|
||||
"-framework QuartzCore"
|
||||
"-framework MetalKit"
|
||||
)
|
||||
endif()
|
||||
if(UNIX AND NOT APPLE)
|
||||
add_compile_definitions(GN_PLATFORM_LINUX)
|
||||
add_compile_definitions(GN_WINDOW_X11)
|
||||
add_subdirectory(rendering_api/vulkan/)
|
||||
endif()
|
||||
# set(CMAKE_EXPORT_COMPILE_COMMANDS on)
|
||||
# project(Gryphn)
|
||||
# add_library(Gryphn STATIC "")
|
||||
|
||||
target_link_libraries(Gryphn)
|
||||
# # build gryphn core
|
||||
# add_subdirectory(src/core/)
|
||||
# target_link_libraries(Gryphn GryphnCore)
|
||||
|
||||
# # build the selected apis
|
||||
# if(WIN32)
|
||||
# add_compile_definitions(GN_PLATFORM_WIN32)
|
||||
# add_subdirectory(src/apis/vulkan/)
|
||||
|
||||
# target_link_libraries(Gryphn GryphnVulkanImpl)
|
||||
# endif()
|
||||
# if(APPLE)
|
||||
# add_compile_definitions(GN_PLATFORM_MACOS)
|
||||
# add_subdirectory(src/apis/metal/)
|
||||
# add_subdirectory(src/apis/vulkan/)
|
||||
|
||||
# target_link_libraries(Gryphn
|
||||
# "-framework IOKit"
|
||||
# "-framework CoreFoundation"
|
||||
# "-framework CoreGraphics"
|
||||
# "-framework AppKit"
|
||||
# "-framework Metal"
|
||||
# "-framework QuartzCore"
|
||||
# "-framework MetalKit"
|
||||
# )
|
||||
|
||||
# target_link_libraries(Gryphn GryphnVulkanImpl GryphnMetalImpl)
|
||||
# endif()
|
||||
# if(UNIX AND NOT APPLE)
|
||||
# add_compile_definitions(GN_PLATFORM_LINUX)
|
||||
# add_compile_definitions(GN_WINDOW_X11)
|
||||
# add_subdirectory(src/apis/vulkan/)
|
||||
|
||||
# target_link_libraries(Gryphn GryphnVulkanImpl)
|
||||
# endif()
|
||||
|
@@ -3,11 +3,9 @@ set(CMAKE_CXX_STANDARD 17)
|
||||
project(GryphnMetalImpl)
|
||||
|
||||
file(GLOB_RECURSE SOURCE_FILES CONFIGURE_DEPENDS
|
||||
"src/*.cpp" "src/*.hpp"
|
||||
"src/*.c" "src/*.h"
|
||||
"src/*.mm" "src/*.m"
|
||||
"src/*.c" "src/*.h" "src/*.m"
|
||||
)
|
||||
add_library(GryphnMetalImpl SHARED ${SOURCE_FILES})
|
||||
add_library(GryphnMetalImpl STATIC ${SOURCE_FILES})
|
||||
target_include_directories(GryphnMetalImpl PUBLIC
|
||||
${CMAKE_SOURCE_DIR}/gryphn/include/
|
||||
${CMAKE_SOURCE_DIR}/gryphn/src/
|
||||
@@ -15,7 +13,6 @@ target_include_directories(GryphnMetalImpl PUBLIC
|
||||
src/
|
||||
depends/SPIRV-Cross/
|
||||
)
|
||||
# target_link_options(GryphnMetalImpl PRIVATE -rdynamic)
|
||||
add_compile_definitions(GN_REVEAL_IMPL)
|
||||
add_subdirectory(depends/SPIRV-Cross)
|
||||
|
||||
@@ -29,8 +26,3 @@ target_link_libraries(GryphnMetalImpl
|
||||
"-framework Metal"
|
||||
"-framework QuartzCore"
|
||||
)
|
||||
|
||||
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/gryphn/rendering_apis)
|
||||
add_custom_command(TARGET GryphnMetalImpl POST_BUILD
|
||||
COMMAND mv libGryphnMetalImpl.dylib ../../rendering_apis/GryphnMetalImpl.dylib
|
||||
)
|
1
src/apis/metal/depends/SPIRV-Cross
Submodule
1
src/apis/metal/depends/SPIRV-Cross
Submodule
Submodule src/apis/metal/depends/SPIRV-Cross added at 2345c781f7
@@ -3,23 +3,22 @@ set(CMAKE_CXX_STANDARD 17)
|
||||
project(GryphnVulkanImpl)
|
||||
|
||||
file(GLOB_RECURSE SOURCE_FILES CONFIGURE_DEPENDS
|
||||
"src/*.cpp" "src/*.hpp"
|
||||
"src/*.c" "src/*.h"
|
||||
)
|
||||
|
||||
if (APPLE)
|
||||
file(GLOB_RECURSE METAL_FILES CONFIGURE_DEPENDS
|
||||
"src/*.m"
|
||||
)
|
||||
)
|
||||
endif()
|
||||
|
||||
find_package(Vulkan REQUIRED)
|
||||
add_library(GryphnVulkanImpl SHARED ${SOURCE_FILES} ${METAL_FILES})
|
||||
add_library(GryphnVulkanImpl STATIC ${SOURCE_FILES} ${METAL_FILES})
|
||||
target_include_directories(GryphnVulkanImpl PUBLIC
|
||||
${Vulkan_INCLUDE_DIRS}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../../include/
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../../src/
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../../src/utils/
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../../../include/
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../../
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../../utils/
|
||||
src/
|
||||
)
|
||||
add_compile_definitions(GN_REVEAL_IMPL)
|
||||
@@ -29,7 +28,6 @@ if(WIN32)
|
||||
add_compile_definitions(GN_PLATFORM_WIN32)
|
||||
endif()
|
||||
if(APPLE)
|
||||
|
||||
target_link_libraries(GryphnVulkanImpl
|
||||
"-framework IOKit"
|
||||
"-framework CoreFoundation"
|
||||
@@ -38,22 +36,8 @@ if(APPLE)
|
||||
"-framework Metal"
|
||||
"-framework QuartzCore"
|
||||
)
|
||||
|
||||
add_compile_definitions(GN_PLATFORM_MACOS)
|
||||
endif()
|
||||
if(UNIX AND NOT APPLE)
|
||||
add_compile_definitions(GN_PLATFORM_LINUX)
|
||||
endif()
|
||||
|
||||
if (APPLE)
|
||||
add_custom_command(TARGET GryphnVulkanImpl POST_BUILD
|
||||
COMMAND mv libGryphnVulkanImpl.dylib
|
||||
${CMAKE_BINARY_DIR}/gryphn/rendering_apis/GryphnVulkanImpl.dylib
|
||||
)
|
||||
endif()
|
||||
if (UNIX AND NOT APPLE)
|
||||
add_custom_command(TARGET GryphnVulkanImpl POST_BUILD
|
||||
COMMAND mv libGryphnVulkanImpl.so
|
||||
${CMAKE_BINARY_DIR}/gryphn/rendering_apis/GryphnVulkanImpl.so
|
||||
)
|
||||
endif()
|
15
src/core/CMakeLists.txt
Normal file
15
src/core/CMakeLists.txt
Normal file
@@ -0,0 +1,15 @@
|
||||
set(CMAKE_EXPORT_COMPILE_COMMANDS on)
|
||||
project(GryphnCore)
|
||||
add_compile_definitions(GN_REVEAL_IMPL)
|
||||
|
||||
file(GLOB_RECURSE SOURCE_FILES CONFIGURE_DEPENDS "src/*.c")
|
||||
if(APPLE)
|
||||
file(GLOB_RECURSE METAL_FILES CONFIGURE_DEPENDS "src/*.m")
|
||||
endif()
|
||||
add_library(GryphnCore ${SOURCE_FILES} ${METAL_FILES})
|
||||
|
||||
target_include_directories(GryphnCore PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../)
|
||||
target_include_directories(GryphnCore PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/src/)
|
||||
target_include_directories(GryphnCore PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../include/)
|
||||
target_include_directories(GryphnCore PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../utils)
|
||||
target_include_directories(GryphnCore PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../utils)
|
@@ -1,27 +0,0 @@
|
||||
#include "gryphn_instance.h"
|
||||
#include "init/gryphn_init.h"
|
||||
#include <core/gryphn_platform_functions.h>
|
||||
#include "core/instance/gryphn_instance.h"
|
||||
#include "core/debugger/gryphn_debugger.h"
|
||||
#include "core/gryphn_handles.h"
|
||||
#include "stdio.h"
|
||||
gnReturnCode gnCreateInstance(gnInstanceHandle* instanceHandlePtr, gnInstanceInfo info) {
|
||||
*instanceHandlePtr = malloc(sizeof(struct gnInstance_t));
|
||||
gnInstanceHandle instance = *instanceHandlePtr;
|
||||
if (!gnIsAPISupported(info.renderingAPI)) return GN_UNSUPPORTED_RENDERING_API;
|
||||
instance->loadDeviceFunctions = gnFalse;
|
||||
instance->dynamicLib = gnLoadRenderingDLL(info.renderingAPI);
|
||||
if (instance->dynamicLib == NULL) return GN_UNABLE_TO_LOAD_DYNAMIC_LIBARRY;
|
||||
instance->functions = gnLoadFunctions(instance);
|
||||
|
||||
if (info.debugger)
|
||||
instance->debugger = info.debugger;
|
||||
|
||||
instance->loadCommandFunctions = gnFalse;
|
||||
instance->loadDeviceFunctions = gnFalse;
|
||||
return instance->functions->_gnCreateInstance(instance, info);
|
||||
}
|
||||
|
||||
void gnDestroyInstance(gnInstanceHandle instance) {
|
||||
instance->functions->_gnDestroyInstance(instance);
|
||||
}
|
@@ -1,6 +1,6 @@
|
||||
#include "gryphn_buffer.h"
|
||||
#include "core/output_device/gryphn_output_device.h"
|
||||
#include "core/gryphn_platform_functions.h"
|
||||
#include "output_device/gryphn_output_device.h"
|
||||
#include "gryphn_platform_functions.h"
|
||||
|
||||
gnReturnCode gnCreateBuffer(gnBufferHandle* buffer, gnOutputDeviceHandle device, gnBufferInfo info) {
|
||||
*buffer = malloc(sizeof(struct gnBuffer_t));
|
@@ -2,7 +2,7 @@
|
||||
#include "stdlib.h"
|
||||
#include "utils/gryphn_error_code.h"
|
||||
#include "utils/lists/gryphn_array_list.h"
|
||||
#include <core/gryphn_handles.h>
|
||||
#include <gryphn_handles.h>
|
||||
|
||||
typedef enum gnIndexType {
|
||||
GN_UINT16, GN_UINT32
|
@@ -1,5 +1,5 @@
|
||||
#include "gryphn_command_buffer.h"
|
||||
#include "core/gryphn_platform_functions.h"
|
||||
#include "gryphn_platform_functions.h"
|
||||
|
||||
gnReturnCode gnCommandPoolAllocateCommandBuffersFromPointer(gnCommandBufferHandle* buffers, uint32_t count, gnCommandPoolHandle commandPool) {
|
||||
for (int i = 0; i < count; i++) {
|
@@ -2,7 +2,7 @@
|
||||
#include "stdint.h"
|
||||
#include "utils/gryphn_error_code.h"
|
||||
#include "utils/lists/gryphn_array_list.h"
|
||||
#include "core/gryphn_handles.h"
|
||||
#include "gryphn_handles.h"
|
||||
|
||||
#ifdef GN_REVEAL_IMPL
|
||||
struct gnCommandBuffer_t {
|
@@ -1,6 +1,6 @@
|
||||
#include "gryphn_command_pool.h"
|
||||
#include "core/gryphn_platform_functions.h"
|
||||
#include "core/instance/init/gryphn_init.h"
|
||||
#include "gryphn_platform_functions.h"
|
||||
#include "instance/init/gryphn_init.h"
|
||||
|
||||
gnReturnCode gnCreateCommandPool(gnCommandPoolHandle* commandPool, gnOutputDeviceHandle device, struct gnCommandPoolInfo_t info) {
|
||||
*commandPool = malloc(sizeof(struct gnCommandPool_t));
|
@@ -1,7 +1,7 @@
|
||||
#pragma once
|
||||
#include "stdint.h"
|
||||
#include <utils/gryphn_error_code.h>
|
||||
#include "core/gryphn_handles.h"
|
||||
#include "gryphn_handles.h"
|
||||
|
||||
typedef struct gnCommandPoolInfo_t {
|
||||
uint32_t queueIndex;
|
@@ -1,7 +1,7 @@
|
||||
#include "gryphn_command.h"
|
||||
#include "core/command/command_buffer/gryphn_command_buffer.h"
|
||||
#include "core/command/command_pool/gryphn_command_pool.h"
|
||||
#include "core/gryphn_platform_functions.h"
|
||||
#include "command/command_buffer/gryphn_command_buffer.h"
|
||||
#include "command/command_pool/gryphn_command_pool.h"
|
||||
#include "gryphn_platform_functions.h"
|
||||
|
||||
void gnCommandBeginRenderPass(struct gnCommandBuffer_t* buffer, struct gnRenderPassInfo_t passInfo) {
|
||||
buffer->commandPool->commandFunctions->_gnCommandBeginRenderPass(buffer, passInfo);
|
@@ -1,17 +1,17 @@
|
||||
#include "core/gryphn_handles.h"
|
||||
#include "gryphn_handles.h"
|
||||
|
||||
#include "core/renderpass/gryphn_render_pass.h"
|
||||
#include "renderpass/gryphn_render_pass.h"
|
||||
void gnCommandBeginRenderPass(gnCommandBufferHandle buffer, gnRenderPassInfo passInfo);
|
||||
void gnCommandEndRenderPass(gnCommandBufferHandle buffer);
|
||||
|
||||
#include "core/pipelines/graphics_pipeline/gryphn_graphics_pipeline.h"
|
||||
#include "pipelines/graphics_pipeline/gryphn_graphics_pipeline.h"
|
||||
void gnCommandBindGraphicsPipeline(gnCommandBufferHandle buffer, gnGraphicsPipelineHandle graphicsPipeline);
|
||||
void gnCommandSetViewport(gnCommandBufferHandle buffer, gnViewport viewport);
|
||||
void gnCommandSetScissor(gnCommandBufferHandle buffer, gnScissor scissor);
|
||||
void gnCommandBindUniform(gnCommandBufferHandle buffer, gnUniform uniform, uint32_t set);
|
||||
void gnCommandPushConstant(gnCommandBufferHandle buffer, gnPushConstantLayout layout, void* data);
|
||||
|
||||
#include "core/buffers/gryphn_buffer.h"
|
||||
#include "buffers/gryphn_buffer.h"
|
||||
void gnCommandBindBuffer(gnCommandBufferHandle buffer, gnBufferHandle bufferToBind, gnBufferType type);
|
||||
|
||||
void gnCommandDraw(gnCommandBufferHandle buffer, int vertexCount, int firstVertex, int instanceCount, int firstInstance);
|
@@ -1,5 +1,5 @@
|
||||
#include "gryphn_debugger.h"
|
||||
#include <core/gryphn_platform_functions.h>
|
||||
#include <gryphn_platform_functions.h>
|
||||
|
||||
gnReturnCode gnCreateDebugger(gnDebuggerHandle* debugger, const gnDebuggerInfo info) {
|
||||
*debugger = malloc(sizeof(struct gnDebugger_t));
|
@@ -2,7 +2,7 @@
|
||||
#include "stdint.h"
|
||||
#include "utils/gryphn_string.h"
|
||||
#include "utils/gryphn_error_code.h"
|
||||
#include "core/gryphn_handles.h"
|
||||
#include "gryphn_handles.h"
|
||||
|
||||
struct gnPlatformDebugger_t;
|
||||
|
@@ -1,5 +1,5 @@
|
||||
#include "gryphn_framebuffer.h"
|
||||
#include "core/gryphn_platform_functions.h"
|
||||
#include "gryphn_platform_functions.h"
|
||||
|
||||
gnReturnCode gnCreateFramebuffer(gnFramebuffer* framebuffer, gnOutputDeviceHandle device, gnFramebufferInfo framebufferInfo) {
|
||||
*framebuffer = malloc(sizeof(struct gnFramebuffer_t));
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user