diff --git a/projects/validation_layers/function_loader/extensions/sync_functions.c b/projects/validation_layers/function_loader/extensions/sync_functions.c new file mode 100644 index 0000000..23ff6fc --- /dev/null +++ b/projects/validation_layers/function_loader/extensions/sync_functions.c @@ -0,0 +1,30 @@ +#include "sync_functions.h" +#include "loader_utils.h" +#include "core/src/presentation_queue/gryphn_presentation_queue.h" +#include +#include "synchronization/semaphore/gryphn_semaphore.h" +#include "synchronization/fence/gryphn_fence.h" + +gnReturnCode checkPresentationQueueGetImageAsync(gnPresentationQueueHandle presentationQueue, uint64_t timeout, gnSemaphoreHandle semaphore, uint32_t* imageIndex) { + CHECK_FUNCTION_WITH_RETURN_CODE(presentationQueue->outputDevice->instance, _gnPresentationQueueGetImageAsync, syncFunctions, presentationQueue, timeout, semaphore, imageIndex); +} + +gnReturnCode checkCreateSemaphore(gnSemaphoreHandle semaphore, gnOutputDeviceHandle device) { + CHECK_FUNCTION_WITH_RETURN_CODE(device->instance, _gnCreateSemaphore, syncFunctions, semaphore, device); +} +void checkDestroySemaphore(gnSemaphoreHandle semaphore) { + CHECK_VOID_FUNCTION(semaphore->device->instance, _gnDestroySemaphore, syncFunctions, semaphore); +} + +gnReturnCode checkCreateFence(gnFenceHandle fence, gnOutputDeviceHandle device) { + CHECK_FUNCTION_WITH_RETURN_CODE(device->instance, _gnCreateFence, syncFunctions, fence, device); +} +void checkWaitForFence(gnFenceHandle fence, uint64_t timeout) { + CHECK_VOID_FUNCTION(fence->device->instance, _gnWaitForFence, syncFunctions, fence, timeout); +} +void checkResetFence(gnFenceHandle fence) { + CHECK_VOID_FUNCTION(fence->device->instance, _gnResetFence, syncFunctions, fence); +} +void checkDestroyFence(gnFenceHandle fence) { + CHECK_VOID_FUNCTION(fence->device->instance, _gnDestroyFence, syncFunctions, fence); +} diff --git a/projects/validation_layers/function_loader/extensions/sync_functions.h b/projects/validation_layers/function_loader/extensions/sync_functions.h new file mode 100644 index 0000000..fe7882a --- /dev/null +++ b/projects/validation_layers/function_loader/extensions/sync_functions.h @@ -0,0 +1,9 @@ +#include + +gnReturnCode checkPresentationQueueGetImageAsync(gnPresentationQueueHandle presentationQueue, uint64_t timeout, gnSemaphoreHandle semaphore, uint32_t* imageIndex); +gnReturnCode checkCreateSemaphore(gnSemaphoreHandle semaphore, gnOutputDeviceHandle device); +void checkDestroySemaphore(gnSemaphoreHandle semaphore); +gnReturnCode checkCreateFence(gnFenceHandle fence, gnOutputDeviceHandle device); +void checkWaitForFence(gnFenceHandle fence, uint64_t timeout); +void checkResetFence(gnFenceHandle fence); +void checkDestroyFence(gnFenceHandle fence); diff --git a/projects/validation_layers/function_loader/src/device_functions.c b/projects/validation_layers/function_loader/src/device_functions.c index 5b04ffa..ed82dcf 100644 --- a/projects/validation_layers/function_loader/src/device_functions.c +++ b/projects/validation_layers/function_loader/src/device_functions.c @@ -16,9 +16,6 @@ gnReturnCode checkCreatePresentationQueue(gnPresentationQueueHandle presentationQueue, const gnOutputDeviceHandle device, gnPresentationQueueInfo presentationInfo){ CHECK_FUNCTION_WITH_RETURN_CODE(presentationQueue->outputDevice->instance, _gnCreatePresentationQueue, deviceFunctions, presentationQueue, device, presentationInfo); } -// 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, deviceFunctions, presentationQueue, imageIndex); } @@ -61,13 +58,6 @@ void checkDestroyCommandPool(gnCommandPoolHandle commandPool) { CHECK_VOID_FUNCTION(commandPool->device->instance, _gnDestroyCommandPool, deviceFunctions, commandPool); } -// gnReturnCode checkCreateSemaphore(gnSemaphoreHandle semaphore, gnOutputDeviceHandle device) { -// CHECK_FUNCTION_WITH_RETURN_CODE(device->instance, _gnCreateSemaphore, semaphore, device); -// } -// void checkDestroySemaphore(gnSemaphoreHandle semaphore) { -// CHECK_VOID_FUNCTION(semaphore->device->instance, _gnDestroySemaphore, semaphore); -// } - gnReturnCode checkCreateBuffer(gnBufferHandle buffer, gnDeviceHandle device, gnBufferInfo info) { CHECK_FUNCTION_WITH_RETURN_CODE(device->instance, _gnCreateBuffer, deviceFunctions, buffer, device, info); } @@ -114,19 +104,6 @@ void checkDestroyTexture(gnTexture texture) { CHECK_VOID_FUNCTION(texture->device->instance, _gnDestroyTexture, deviceFunctions, texture); } -// gnReturnCode checkCreateFence(gnFenceHandle fence, gnOutputDeviceHandle device) { -// CHECK_FUNCTION_WITH_RETURN_CODE(device->instance, _gnCreateFence, fence, device); -// } -// void checkWaitForFence(gnFenceHandle fence, uint64_t timeout) { -// CHECK_VOID_FUNCTION(fence->device->instance, _gnWaitForFence, fence, timeout); -// } -// void checkResetFence(gnFenceHandle fence) { -// CHECK_VOID_FUNCTION(fence->device->instance, _gnResetFence, fence); -// } -// void checkDestroyFence(gnFenceHandle fence) { -// CHECK_VOID_FUNCTION(fence->device->instance, _gnDestroyFence, fence); -// } - gnReturnCode checkSubmit(gnOutputDeviceHandle device, gnSubmitInfo info) { CHECK_FUNCTION_WITH_RETURN_CODE(device->instance, _gnSubmit, deviceFunctions, device, info); }