From c10e6d308d39ddbe4c98c4411bbf7c8f7ffddf2e Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jean-Philippe=20Bruy=C3=A8re?= Date: Sun, 28 Apr 2019 00:45:59 +0200 Subject: [PATCH] .deb generation, subpass access flag debug --- CMakeLists.txt | 31 +++++++++++++++++++++++++++++++ src/vkvg_device_internal.c | 10 ++++++---- tests/clip.c | 22 ++++++++++++++++++++++ vkh | 2 +- 4 files changed, 60 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f66dcb0..8609892 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -39,6 +39,7 @@ set(VULKAN_SDK "$ENV{VULKAN_SDK}" CACHE STRING "LunarG Vulkan SDK path") if (VULKAN_SDK) set(ENV{VULKAN_SDK} ${VULKAN_SDK}) SET(ENV{VK_LAYER_PATH} "${VULKAN_SDK}/etc/explicit_layer.d") + link_directories("${VULKAN_SDK}/lib") endif () if (NOT TARGET vkh_static) @@ -240,3 +241,33 @@ MESSAGE(STATUS "Font filtering\t= Grayscale.") ENDIF () MESSAGE(STATUS "---------------------------------------------------------------------------\n\n") +IF(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake") +INCLUDE(InstallRequiredSystemLibraries) + +SET(CPACK_SET_DESTDIR "on") +SET(CPACK_PACKAGING_INSTALL_PREFIX "/tmp") +SET(CPACK_GENERATOR "DEB") + +SET(CPACK_PACKAGE_DESCRIPTION "Vulkan vector graphic library") +SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "2d vector drawing library using vulkan") +SET(CPACK_PACKAGE_VENDOR "jp Bruyere") +SET(CPACK_PACKAGE_CONTACT "jp_bruyere@hotmail.com") + +SET(CPACK_PACKAGE_VERSION_MAJOR "${PROJECT_VERSION_MAJOR}") +SET(CPACK_PACKAGE_VERSION_MINOR "${PROJECT_VERSION_MINOR}") +SET(CPACK_PACKAGE_VERSION_PATCH "${PROJECT_VERSION_PATCH}") +SET(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}_${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}") +SET(CPACK_SOURCE_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}_${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}") + +#dependencies for this service menu +SET(CPACK_DEBIAN_PACKAGE_DEPENDS " libharfbuzz-gobject0 , libfontconfig1 , libfreetype6 ") + +SET(CPACK_DEBIAN_PACKAGE_PRIORITY "optional") +SET(CPACK_DEBIAN_PACKAGE_SECTION "libraries") +SET(CPACK_DEBIAN_ARCHITECTURE ${CMAKE_SYSTEM_PROCESSOR}) + +SET(CPACK_COMPONENTS_ALL Libraries ApplicationData) + +INCLUDE(CPack) + +ENDIF(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake") diff --git a/src/vkvg_device_internal.c b/src/vkvg_device_internal.c index 7ad926e..dec08f8 100644 --- a/src/vkvg_device_internal.c +++ b/src/vkvg_device_internal.c @@ -42,9 +42,11 @@ void _init_all_contexes (VkvgDevice dev){ } void _create_pipeline_cache(VkvgDevice dev){ + VkPipelineCacheCreateInfo pipelineCacheCreateInfo = {.sType = VK_STRUCTURE_TYPE_PIPELINE_CACHE_CREATE_INFO}; VK_CHECK_RESULT(vkCreatePipelineCache(dev->vkDev, &pipelineCacheCreateInfo, NULL, &dev->pipelineCache)); } + void _setupRenderPassDeferredResolve(VkvgDevice dev) { VkAttachmentDescription attColor = { @@ -78,8 +80,8 @@ void _setupRenderPassDeferredResolve(VkvgDevice dev) VkSubpassDependency dependencies[] = { { VK_SUBPASS_EXTERNAL, 0, - VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT, - VK_ACCESS_COLOR_ATTACHMENT_READ_BIT, VK_ACCESS_COLOR_ATTACHMENT_READ_BIT | VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, + VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT, VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT, + VK_ACCESS_MEMORY_READ_BIT, VK_ACCESS_COLOR_ATTACHMENT_READ_BIT | VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, VK_DEPENDENCY_BY_REGION_BIT}, { 0, VK_SUBPASS_EXTERNAL, VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT, VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT, @@ -142,8 +144,8 @@ void _setupRenderPass(VkvgDevice dev) VkSubpassDependency dependencies[] = { { VK_SUBPASS_EXTERNAL, 0, - VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT, - VK_ACCESS_COLOR_ATTACHMENT_READ_BIT, VK_ACCESS_COLOR_ATTACHMENT_READ_BIT | VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, + VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT, VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT, + VK_ACCESS_MEMORY_READ_BIT, VK_ACCESS_COLOR_ATTACHMENT_READ_BIT | VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT, VK_DEPENDENCY_BY_REGION_BIT}, { 0, VK_SUBPASS_EXTERNAL, VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT, VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT, diff --git a/tests/clip.c b/tests/clip.c index 8a39502..e3a2aec 100644 --- a/tests/clip.c +++ b/tests/clip.c @@ -1,6 +1,7 @@ #include "test.h" void test_clip(){ + vkvg_surface_clear(surf); VkvgContext ctx = vkvg_create(surf); vkvg_move_to(ctx,10,10); @@ -11,14 +12,35 @@ void test_clip(){ vkvg_line_to(ctx,500,650); vkvg_line_to(ctx,100,800); vkvg_line_to(ctx,150,400); + vkvg_clip_preserve(ctx); + vkvg_set_operator(ctx, VKVG_OPERATOR_CLEAR); + vkvg_fill_preserve(ctx); vkvg_clip(ctx); + vkvg_set_operator(ctx, VKVG_OPERATOR_OVER); vkvg_set_source_rgb(ctx,1,0,0); vkvg_paint(ctx); vkvg_destroy(ctx); } +void test_clip2(){ + vkvg_surface_clear(surf); + VkvgContext ctx = vkvg_create(surf); + + vkvg_rectangle(ctx, 50,50,200,200); + //vkvg_clip(ctx); + vkvg_rectangle(ctx, 50,50,200,200); + /*vkvg_clip_preserve(ctx); + vkvg_set_operator(ctx, VKVG_OPERATOR_CLEAR); + vkvg_fill_preserve(ctx);*/ + vkvg_clip(ctx); + //vkvg_set_operator(ctx, VKVG_OPERATOR_OVER); + + vkvg_set_source_rgb(ctx,1,0,0); + vkvg_paint(ctx); + vkvg_destroy(ctx); +} int main(int argc, char *argv[]) { perform_test (test_clip, 1024, 768); diff --git a/vkh b/vkh index 041a39c..7249166 160000 --- a/vkh +++ b/vkh @@ -1 +1 @@ -Subproject commit 041a39cf003ece2604c167cb115c3210bde5c9b0 +Subproject commit 7249166d085a99b42a11f5d44c6f127de0bc6d1c -- 2.47.3