]> O.S.I.I.S - jp/vkvg.git/commitdiff
.deb generation, subpass access flag debug
authorJean-Philippe Bruyère <jp_bruyere@hotmail.com>
Sat, 27 Apr 2019 22:45:59 +0000 (00:45 +0200)
committerJean-Philippe Bruyère <jp_bruyere@hotmail.com>
Sat, 27 Apr 2019 22:45:59 +0000 (00:45 +0200)
CMakeLists.txt
src/vkvg_device_internal.c
tests/clip.c
vkh

index f66dcb0b1cf177c1a4530701ecdbe8cec9eafdc2..86098922093d1bd9da1e43290c1867e58937bd95 100644 (file)
@@ -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")
index 7ad926e451ccbd49bfc344cbfb421a168d2a3c49..dec08f84707ef29f9d80c73bc413ec98b1fafb43 100644 (file)
@@ -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,
index 8a39502976a439c0a5162e9400f8a3b3b7d0f7d0..e3a2aec06fb1a19933e479ac0aee417fbddbb873 100644 (file)
@@ -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 041a39cf003ece2604c167cb115c3210bde5c9b0..7249166d085a99b42a11f5d44c6f127de0bc6d1c 160000 (submodule)
--- a/vkh
+++ b/vkh
@@ -1 +1 @@
-Subproject commit 041a39cf003ece2604c167cb115c3210bde5c9b0
+Subproject commit 7249166d085a99b42a11f5d44c6f127de0bc6d1c