adding Vulkan device creation, adding unit tests, adding few API function declarations

This commit is contained in:
2024-10-10 15:22:56 +02:00
parent f189928c82
commit 405c8b186a
23 changed files with 517 additions and 64 deletions

11
Tests/Vulkan/DeviceSetup.c git.filemode.normal_file
View File

@@ -0,0 +1,11 @@
#include <unity/unity.h>
#include <Pulse.h>
extern PulseBackend backend;
void TestDeviceSetup()
{
PulseDevice device = PulseCreateDevice(backend, NULL, 0);
TEST_ASSERT_NOT_EQUAL_MESSAGE(device, PULSE_NULL_HANDLE, PulseVerbaliseErrorType(PulseGetLastErrorType()));
PulseDestroyDevice(device);
}

41
Tests/Vulkan/main.c git.filemode.normal_file
View File

@@ -0,0 +1,41 @@
#include <unity/unity.h>
#include <Pulse.h>
#include <stdbool.h>
PulseBackend backend;
extern void TestDeviceSetup();
bool SetupPulse()
{
backend = PulseLoadBackend(PULSE_BACKEND_VULKAN, PULSE_SHADER_FORMAT_SPIRV_BIT, PULSE_NO_DEBUG);
if(backend == PULSE_NULL_HANDLE)
{
fprintf(stderr, "Fatal Error: could not load Pulse using Vulkan due to %s", PulseVerbaliseErrorType(PulseGetLastErrorType()));
return false;
}
puts("Pulse loaded using Vulkan");
return true;
}
int RunUnitTests()
{
UNITY_BEGIN();
RUN_TEST(TestDeviceSetup);
return UNITY_END();
}
void UnloadPulse()
{
PulseUnloadBackend(backend);
puts("Pulse unloaded");
}
int main(void)
{
SetupPulse();
int result = RunUnitTests();
UnloadPulse();
return result;
}

16
Tests/Vulkan/xmake.lua git.filemode.normal_file
View File

@@ -0,0 +1,16 @@
option("vulkan-tests", { description = "Build Vulkan tests", default = false })
if has_config("vulkan-tests") then
set_group("VulkanTests")
add_requires("unity_test")
target("VulkanUnitTests")
set_kind("binary")
add_deps("pulse_gpu")
add_files("**.c")
add_packages("unity_test")
if is_plat("linux") then
set_extension(".x86_64")
end
target_end()
end