start the process of making sync objects an extension
This commit is contained in:
@@ -4,8 +4,10 @@ project(GryphnFunctionValidator)
|
||||
file(GLOB_RECURSE SOURCE_FILES CONFIGURE_DEPENDS "src/*.c")
|
||||
file(GLOB_RECURSE LOADER_FILES CONFIGURE_DEPENDS "loader/*.c")
|
||||
add_library(GryphnFunctionValidator STATIC ${SOURCE_FILES} ${LOADER_FILES})
|
||||
target_include_directories(GryphnFunctionValidator PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../utils)
|
||||
target_include_directories(GryphnFunctionValidator PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/)
|
||||
target_include_directories(GryphnFunctionValidator PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../)
|
||||
target_include_directories(GryphnFunctionValidator PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../core/src/)
|
||||
target_include_directories(GryphnFunctionValidator PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../platform/)
|
||||
target_include_directories(GryphnFunctionValidator PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/)
|
||||
target_include_directories(GryphnFunctionValidator PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../utils)
|
||||
target_include_directories(GryphnFunctionValidator PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../core/)
|
||||
target_include_directories(GryphnFunctionValidator PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../extensions/)
|
||||
|
@@ -40,6 +40,7 @@ gnInstanceFunctions loadFunctionLoaderInstanceFunctions() {
|
||||
gnDeviceFunctions loadFunctionLoaderDeviceFunctions() {
|
||||
return (gnDeviceFunctions){
|
||||
._gnCreatePresentationQueue = checkCreatePresentationQueue,
|
||||
._gnPresentationQueueGetImageAsync = checkPresentationQueueGetImageAsync,
|
||||
._gnPresentationQueueGetImage = checkPresentationQueueGetImage,
|
||||
._gnDestroyPresentationQueue = checkDestroyPresentationQueue,
|
||||
|
||||
|
@@ -10,7 +10,8 @@
|
||||
#include "core/src/buffers/gryphn_buffer.h"
|
||||
#include "core/src/uniforms/gryphn_uniform_pool.h"
|
||||
#include "core/src/textures/gryphn_texture.h"
|
||||
#include "core/src/sync/fence/gryphn_fence.h"
|
||||
#include "synchronization/fence/gryphn_fence.h"
|
||||
#include "synchronization/semaphore/gryphn_semaphore.h"
|
||||
#include "core/src/submit/gryphn_submit.h"
|
||||
#include "core/src/present/gryphn_present.h"
|
||||
|
||||
@@ -25,16 +26,11 @@ gnReturnCode checkCreatePresentationQueue(gnPresentationQueueHandle presentation
|
||||
}
|
||||
return nextLayer->deviceFunctions._gnCreatePresentationQueue(presentationQueue, device, presentationInfo);
|
||||
}
|
||||
gnReturnCode checkPresentationQueueGetImage(gnPresentationQueueHandle presentationQueue, uint64_t timeout, gnSemaphoreHandle semaphore, uint32_t* imageIndex) {
|
||||
loaderLayer* nextLayer = loaderGetNextLayer(presentationQueue->outputDevice->instance);
|
||||
if (nextLayer->deviceFunctions._gnPresentationQueueGetImage == NULL) {
|
||||
gnDebuggerSetErrorMessage(presentationQueue->outputDevice->instance->debugger, (gnMessageData){
|
||||
.message = gnCreateString("Failed to load presentation queue get image function")
|
||||
});
|
||||
resetLayer(presentationQueue->outputDevice->instance);
|
||||
return GN_FAILED_TO_LOAD_FUNCTION;
|
||||
}
|
||||
return nextLayer->deviceFunctions._gnPresentationQueueGetImage(presentationQueue, timeout, semaphore, imageIndex);
|
||||
gnReturnCode checkPresentationQueueGetImageAsync(gnPresentationQueueHandle presentationQueue, uint64_t timeout, gnSemaphoreHandle semaphore, uint32_t* imageIndex) {
|
||||
CHECK_FUNCTION_WITH_RETURN_CODE(presentationQueue->outputDevice->instance, _gnPresentationQueueGetImageAsync, presentationQueue, timeout, semaphore, imageIndex);
|
||||
}
|
||||
gnReturnCode checkPresentationQueueGetImage(gnPresentationQueueHandle presentationQueue, uint32_t *imageIndex) {
|
||||
CHECK_FUNCTION_WITH_RETURN_CODE(presentationQueue->outputDevice->instance, _gnPresentationQueueGetImage, presentationQueue, imageIndex);
|
||||
}
|
||||
void checkDestroyPresentationQueue(gnPresentationQueueHandle presentationQueue) {
|
||||
loaderLayer* nextLayer = loaderGetNextLayer(presentationQueue->outputDevice->instance);
|
||||
|
@@ -1,7 +1,8 @@
|
||||
#include "loader/src/gryphn_device_functions.h"
|
||||
|
||||
gnReturnCode checkCreatePresentationQueue(gnPresentationQueueHandle presentationQueue, const gnOutputDeviceHandle device, gnPresentationQueueInfo presentationInfo);
|
||||
gnReturnCode checkPresentationQueueGetImage(gnPresentationQueueHandle presentationQueue, uint64_t timeout, gnSemaphoreHandle semaphore, uint32_t* imageIndex);
|
||||
gnReturnCode checkPresentationQueueGetImageAsync(gnPresentationQueueHandle presentationQueue, uint64_t timeout, gnSemaphoreHandle semaphore, uint32_t* imageIndex);
|
||||
gnReturnCode checkPresentationQueueGetImage(gnPresentationQueueHandle presentationQueue, uint32_t *imageIndex);
|
||||
void checkDestroyPresentationQueue(gnPresentationQueueHandle presentationQueue);
|
||||
|
||||
gnReturnCode checkCreateShaderModule(gnShaderModuleHandle module, gnOutputDeviceHandle device, gnShaderModuleInfo shaderModuleInfo);
|
||||
|
Reference in New Issue
Block a user