summaryrefslogtreecommitdiffstatsci
diff options
context:
space:
mode:
-rw-r--r--tests/bezier.c17
-rw-r--r--tests/common/test.c108
-rw-r--r--tests/common/test.h4
-rw-r--r--tests/gradient2.c19
-rw-r--r--tests/inverse_colinear.c21
-rw-r--r--tests/path_extents.c20
m---------vkh0
7 files changed, 66 insertions, 123 deletions
diff --git a/tests/bezier.c b/tests/bezier.c
index 38f9af6..20013db 100644
--- a/tests/bezier.c
+++ b/tests/bezier.c
@@ -173,8 +173,8 @@ static void mouse_button_callback(GLFWwindow* window, int but, int state, int mo
int main(int argc, char* argv[]) {
_parse_args(argc, argv);
- VkEngine e;
- e = vkengine_create(VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU, VK_PRESENT_MODE_FIFO_KHR, test_width, test_height);
+ VkEngine e = vkengine_create (
+ VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU, VK_PRESENT_MODE_FIFO_KHR, test_width, test_height);
VkhPresenter r = e->renderer;
vkengine_set_key_callback(e, key_callback);
@@ -182,9 +182,14 @@ int main(int argc, char* argv[]) {
vkengine_set_cursor_pos_callback(e, mouse_move_callback);
vkengine_set_scroll_callback(e, scroll_callback);
- vkvg_device_create_info_t info = {samples, false, vkh_app_get_inst(e->app), r->dev->phy, r->dev->dev, r->qFam, 0};
- device = vkvg_device_create(&info);
+ vkvg_device_create_info_t info = {
+ samples, false,
+ vkh_app_get_inst(e->app),
+ vkh_device_get_phy(e->dev),
+ vkh_device_get_vkdev(e->dev),
+ e->gQFamIdx, 0};
+ device = vkvg_device_create(&info);
surf = vkvg_surface_create(device, test_width, test_height);
vkh_presenter_build_blit_cmd(r, vkvg_surface_get_vk_image(surf), test_width, test_height);
@@ -199,11 +204,11 @@ int main(int argc, char* argv[]) {
vkvg_surface_destroy(surf);
surf = vkvg_surface_create(device, test_width, test_height);
vkh_presenter_build_blit_cmd(r, vkvg_surface_get_vk_image(surf), test_width, test_height);
- vkDeviceWaitIdle(r->dev->dev);
+ vkengine_wait_idle(e);
continue;
}
}
- vkDeviceWaitIdle(e->dev->dev);
+ vkengine_wait_idle(e);
vkvg_surface_destroy(surf);
diff --git a/tests/common/test.c b/tests/common/test.c
index 916c9ce..00bf912 100644
--- a/tests/common/test.c
+++ b/tests/common/test.c
@@ -153,15 +153,17 @@ void init_test(uint32_t width, uint32_t height) {
vkengine_set_cursor_pos_callback(e, mouse_move_callback);
vkengine_set_scroll_callback(e, scroll_callback);
- vkvg_device_create_info_t info = {samples, false, vkh_app_get_inst(e->app), r->dev->phy, r->dev->dev, r->qFam, 0};
+ vkvg_device_create_info_t info = {
+ samples, false,
+ vkh_app_get_inst(e->app),
+ vkh_device_get_phy(e->dev),
+ vkh_device_get_vkdev(e->dev),
+ e->gQFamIdx, 0};
device = vkvg_device_create(&info);
- surf = vkvg_surface_create(device, width, height);
-
- vkh_presenter_build_blit_cmd(r, vkvg_surface_get_vk_image(surf), width, height);
}
void clear_test() {
- vkDeviceWaitIdle(e->dev->dev);
+ vkDeviceWaitIdle(vkh_device_get_vkdev(e->dev));
vkvg_surface_destroy(surf);
vkvg_device_destroy(device);
@@ -469,67 +471,10 @@ void perform_test(void (*testfunc)(void), const char* testName, int argc, char*
}
void perform_test_offscreen(void (*testfunc)(void), const char* testName, int argc, char* argv[]) {
- uint32_t enabledExtsCount = 0, phyCount = 0;
- const char* enabledExts[10];
-#ifdef VKVG_USE_RENDERDOC
- const uint32_t enabledLayersCount = 2;
- const char* enabledLayers[] = {"VK_LAYER_KHRONOS_validation", "VK_LAYER_RENDERDOC_Capture"};
-#elif defined(VKVG_USE_VALIDATION)
- const uint32_t enabledLayersCount = 1;
- const char* enabledLayers[] = {"VK_LAYER_KHRONOS_validation"};
-#else
- const uint32_t enabledLayersCount = 0;
- const char* enabledLayers[] = {NULL};
-#endif
-#if defined(DEBUG) && defined(VKVG_DBG_UTILS)
- enabledExts[enabledExtsCount] = "VK_EXT_debug_utils";
- enabledExtsCount++;
-#endif
-
- VkhApp app = vkh_app_create(1, 1, "vkvgTest", enabledLayersCount, enabledLayers, enabledExtsCount, enabledExts);
-#if defined(DEBUG) && defined(VKVG_DBG_UTILS)
- vkh_app_enable_debug_messenger(
- app,
- VK_DEBUG_UTILS_MESSAGE_TYPE_GENERAL_BIT_EXT | VK_DEBUG_UTILS_MESSAGE_TYPE_VALIDATION_BIT_EXT |
- VK_DEBUG_UTILS_MESSAGE_TYPE_PERFORMANCE_BIT_EXT,
- VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT | VK_DEBUG_UTILS_MESSAGE_SEVERITY_WARNING_BIT_EXT
- //| VK_DEBUG_UTILS_MESSAGE_SEVERITY_INFO_BIT_EXT
- //| VK_DEBUG_UTILS_MESSAGE_SEVERITY_VERBOSE_BIT_EXT
- ,
- NULL);
-#endif
- bool deferredResolve = false;
- VkhPhyInfo* phys = vkh_app_get_phyinfos(app, &phyCount, VK_NULL_HANDLE);
- VkhPhyInfo pi = 0;
- if (!vkengine_try_get_phyinfo(phys, phyCount, preferedPhysicalDeviceType, &pi))
- if (!vkengine_try_get_phyinfo(phys, phyCount, VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU, &pi))
- if (!vkengine_try_get_phyinfo(phys, phyCount, VK_PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU, &pi))
- pi = phys[0];
-
- uint32_t qCount = 0;
- float qPriorities[] = {0.0};
- VkDeviceQueueCreateInfo pQueueInfos[] = {{0}, {0}, {0}};
- if (vkh_phyinfo_create_queues(pi, pi->gQueue, 1, qPriorities, &pQueueInfos[qCount]))
- qCount++;
- VkPhysicalDeviceFeatures enabledFeatures = {
- .fillModeNonSolid = true,
- };
-
- VkDeviceCreateInfo device_info = {.sType = VK_STRUCTURE_TYPE_DEVICE_CREATE_INFO,
- .queueCreateInfoCount = qCount,
- .pQueueCreateInfos = (VkDeviceQueueCreateInfo*)&pQueueInfos,
- .pEnabledFeatures = &enabledFeatures};
-
- VkhDevice dev = vkh_device_create(app, pi, &device_info);
-
- vkvg_device_create_info_t info = {samples, deferredResolve, vkh_app_get_inst(app), dev->phy, dev->dev, pi->gQueue,
- 0};
+ vkvg_device_create_info_t info = { samples };
device = vkvg_device_create(&info);
// vkvg_device_set_dpy(device, 96, 96);
-
- vkh_app_free_phyinfos(phyCount, phys);
-
surf = vkvg_surface_create(device, test_width, test_height);
time_struct_t ts = time_struct_create(iterations);
@@ -539,9 +484,6 @@ void perform_test_offscreen(void (*testfunc)(void), const char* testName, int ar
testfunc();
- if (deferredResolve)
- vkvg_surface_resolve(surf);
-
time_struct_end(&ts);
}
@@ -549,35 +491,17 @@ void perform_test_offscreen(void (*testfunc)(void), const char* testName, int ar
time_struct_destroy(&ts);
- vkDeviceWaitIdle(dev->dev);
-
if (saveToPng)
vkvg_surface_write_to_png(surf, saveToPng);
vkvg_surface_destroy(surf);
vkvg_device_destroy(device);
- vkh_device_destroy(dev);
- vkh_app_destroy(app);
-
test_index++;
}
void perform_test_onscreen(void (*testfunc)(void), const char* testName, int argc, char* argv[]) {
- if (test_vsync)
- e = vkengine_create(preferedPhysicalDeviceType, VK_PRESENT_MODE_FIFO_KHR, test_width, test_height);
- else
- e = vkengine_create(preferedPhysicalDeviceType, VK_PRESENT_MODE_MAILBOX_KHR, test_width, test_height);
-
- VkhPresenter r = e->renderer;
- vkengine_set_key_callback(e, key_callback);
- vkengine_set_mouse_but_callback(e, mouse_button_callback);
- vkengine_set_cursor_pos_callback(e, mouse_move_callback);
- vkengine_set_scroll_callback(e, scroll_callback);
-
- vkvg_device_create_info_t info = {samples, false, vkh_app_get_inst(e->app), r->dev->phy, r->dev->dev, r->qFam,
- 0, threadAware};
- device = vkvg_device_create(&info);
+ init_test(test_width, test_height);
vkvg_device_set_dpy(device, 96, 96);
@@ -587,7 +511,7 @@ void perform_test_onscreen(void (*testfunc)(void), const char* testName, int arg
surfaces[i] = vkvg_surface_create_for_VkhImage(device, r->ScBuffers[i]);
#else
surf = vkvg_surface_create(device, test_width, test_height);
- vkh_presenter_build_blit_cmd(r, vkvg_surface_get_vk_image(surf), test_width, test_height);
+ vkh_presenter_build_blit_cmd(e->renderer, vkvg_surface_get_vk_image(surf), test_width, test_height);
#endif
time_struct_t ts = time_struct_create(iterations);
@@ -630,14 +554,12 @@ void perform_test_onscreen(void (*testfunc)(void), const char* testName, int arg
testfunc();
- if (info.deferredResolve)
- vkvg_surface_resolve(surf);
- if (!vkh_presenter_draw(r)) {
- vkh_presenter_get_size(r, &test_width, &test_height);
+ if (!vkh_presenter_draw(e->renderer)) {
+ vkh_presenter_get_size(e->renderer, &test_width, &test_height);
vkvg_surface_destroy(surf);
surf = vkvg_surface_create(device, test_width, test_height);
- vkh_presenter_build_blit_cmd(r, vkvg_surface_get_vk_image(surf), test_width, test_height);
- vkDeviceWaitIdle(r->dev->dev);
+ vkh_presenter_build_blit_cmd(e->renderer, vkvg_surface_get_vk_image(surf), test_width, test_height);
+ vkengine_wait_idle(e);
continue;
}
#endif
@@ -651,7 +573,7 @@ void perform_test_onscreen(void (*testfunc)(void), const char* testName, int arg
time_struct_destroy(&ts);
- vkDeviceWaitIdle(e->dev->dev);
+ vkengine_wait_idle(e);
#ifdef VKVG_TEST_DIRECT_DRAW
for (uint32_t i = 0; i < r->imgCount; i++)
diff --git a/tests/common/test.h b/tests/common/test.h
index aba56a6..bb0310e 100644
--- a/tests/common/test.h
+++ b/tests/common/test.h
@@ -8,10 +8,6 @@
#include "rnd.h"
-#include "vkh_device.h"
-#include "vkh_presenter.h"
-#include "vkh_phyinfo.h"
-
#define M_PIF 3.14159265359f /* float pi */
#define M_PIF_MULT_2 6.28318530718f
#ifndef M_PI
diff --git a/tests/gradient2.c b/tests/gradient2.c
index 6dcaec7..37dfae1 100644
--- a/tests/gradient2.c
+++ b/tests/gradient2.c
@@ -126,7 +126,8 @@ int main(int argc, char* argv[]) {
_parse_args(argc, argv);
- e = vkengine_create(VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU, VK_PRESENT_MODE_FIFO_KHR, test_width, test_height);
+ e = vkengine_create (
+ VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU, VK_PRESENT_MODE_FIFO_KHR, test_width, test_height);
VkhPresenter r = e->renderer;
vkengine_set_key_callback(e, key_callback);
@@ -134,9 +135,15 @@ int main(int argc, char* argv[]) {
vkengine_set_cursor_pos_callback(e, mouse_move_callback);
vkengine_set_scroll_callback(e, scroll_callback);
- vkvg_device_create_info_t info = {samples, false, vkh_app_get_inst(e->app), r->dev->phy, r->dev->dev, r->qFam, 0};
- device = vkvg_device_create(&info);
- surf = vkvg_surface_create(device, test_width, test_height);
+ vkvg_device_create_info_t info = {
+ samples, false,
+ vkh_app_get_inst(e->app),
+ vkh_device_get_phy(e->dev),
+ vkh_device_get_vkdev(e->dev),
+ e->gQFamIdx, 0};
+
+ device = vkvg_device_create(&info);
+ surf = vkvg_surface_create(device, test_width, test_height);
vkh_presenter_build_blit_cmd(r, vkvg_surface_get_vk_image(surf), test_width, test_height);
@@ -150,11 +157,11 @@ int main(int argc, char* argv[]) {
vkvg_surface_destroy(surf);
surf = vkvg_surface_create(device, test_width, test_height);
vkh_presenter_build_blit_cmd(r, vkvg_surface_get_vk_image(surf), test_width, test_height);
- vkDeviceWaitIdle(r->dev->dev);
+ vkengine_wait_idle(e);
continue;
}
}
- vkDeviceWaitIdle(e->dev->dev);
+ vkengine_wait_idle(e);
vkvg_surface_destroy(surf);
diff --git a/tests/inverse_colinear.c b/tests/inverse_colinear.c
index f78b549..9075ea3 100644
--- a/tests/inverse_colinear.c
+++ b/tests/inverse_colinear.c
@@ -168,8 +168,8 @@ static void mouse_button_callback(GLFWwindow* window, int but, int state, int mo
int main(int argc, char* argv[]) {
_parse_args(argc, argv);
- VkEngine e;
- e = vkengine_create(VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU, VK_PRESENT_MODE_FIFO_KHR, test_width, test_height);
+ VkEngine e = vkengine_create (
+ VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU, VK_PRESENT_MODE_FIFO_KHR, test_width, test_height);
VkhPresenter r = e->renderer;
vkengine_set_key_callback(e, key_callback);
@@ -177,9 +177,16 @@ int main(int argc, char* argv[]) {
vkengine_set_cursor_pos_callback(e, mouse_move_callback);
vkengine_set_scroll_callback(e, scroll_callback);
- vkvg_device_create_info_t info = {samples, false, vkh_app_get_inst(e->app), r->dev->phy, r->dev->dev, r->qFam, 0};
- device = vkvg_device_create(&info);
- surf = vkvg_surface_create(device, test_width, test_height);
+ vkvg_device_create_info_t info = {
+ samples, false,
+ vkh_app_get_inst(e->app),
+ vkh_device_get_phy(e->dev),
+ vkh_device_get_vkdev(e->dev),
+ e->gQFamIdx, 0};
+
+ device = vkvg_device_create(&info);
+
+ surf = vkvg_surface_create(device, test_width, test_height);
vkh_presenter_build_blit_cmd(r, vkvg_surface_get_vk_image(surf), test_width, test_height);
@@ -193,11 +200,11 @@ int main(int argc, char* argv[]) {
vkvg_surface_destroy(surf);
surf = vkvg_surface_create(device, test_width, test_height);
vkh_presenter_build_blit_cmd(r, vkvg_surface_get_vk_image(surf), test_width, test_height);
- vkDeviceWaitIdle(r->dev->dev);
+ vkengine_wait_idle(e);
continue;
}
}
- vkDeviceWaitIdle(e->dev->dev);
+ vkengine_wait_idle(e);
vkvg_surface_destroy(surf);
diff --git a/tests/path_extents.c b/tests/path_extents.c
index e1714e4..302c722 100644
--- a/tests/path_extents.c
+++ b/tests/path_extents.c
@@ -138,8 +138,8 @@ static void mouse_button_callback(GLFWwindow* window, int but, int state, int mo
int main(int argc, char* argv[]) {
_parse_args(argc, argv);
- VkEngine e;
- e = vkengine_create(VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU, VK_PRESENT_MODE_FIFO_KHR, test_width, test_height);
+ VkEngine e = vkengine_create (
+ VK_PHYSICAL_DEVICE_TYPE_DISCRETE_GPU, VK_PRESENT_MODE_FIFO_KHR, test_width, test_height);
VkhPresenter r = e->renderer;
vkengine_set_key_callback(e, key_callback);
@@ -147,9 +147,15 @@ int main(int argc, char* argv[]) {
vkengine_set_cursor_pos_callback(e, mouse_move_callback);
vkengine_set_scroll_callback(e, scroll_callback);
- vkvg_device_create_info_t info = {samples, false, vkh_app_get_inst(e->app), r->dev->phy, r->dev->dev, r->qFam, 0};
- device = vkvg_device_create(&info);
- surf = vkvg_surface_create(device, test_width, test_height);
+ vkvg_device_create_info_t info = {
+ samples, false,
+ vkh_app_get_inst(e->app),
+ vkh_device_get_phy(e->dev),
+ vkh_device_get_vkdev(e->dev),
+ e->gQFamIdx, 0};
+
+ device = vkvg_device_create(&info);
+ surf = vkvg_surface_create(device, test_width, test_height);
vkh_presenter_build_blit_cmd(r, vkvg_surface_get_vk_image(surf), test_width, test_height);
@@ -164,11 +170,11 @@ int main(int argc, char* argv[]) {
vkvg_surface_destroy(surf);
surf = vkvg_surface_create(device, test_width, test_height);
vkh_presenter_build_blit_cmd(r, vkvg_surface_get_vk_image(surf), test_width, test_height);
- vkDeviceWaitIdle(r->dev->dev);
+ vkengine_wait_idle(e);
continue;
}
}
- vkDeviceWaitIdle(e->dev->dev);
+ vkengine_wait_idle(e);
vkvg_surface_destroy(surf);
diff --git a/vkh b/vkh
-Subproject d70c27ae60face82636472ecdec58a471d59c95
+Subproject bc89754c80b7950b0a41ec60ffef89ed5415dfd