Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Made a PKGBUILD for Arch Linux #57

Closed
Rubo3 opened this issue Jan 21, 2022 · 54 comments
Closed

Made a PKGBUILD for Arch Linux #57

Rubo3 opened this issue Jan 21, 2022 · 54 comments

Comments

@Rubo3
Copy link
Contributor

Rubo3 commented Jan 21, 2022

Hi, I'm here just to tell you I made a PKGBUILD for Arch Linux and released it on the Arch User Repository here: https://aur.archlinux.org/packages/vkvg. You can add it in your README if you like it.

@jpbruyere
Copy link
Owner

Great, I'm going to install my first archlinux tonight :-)

@jpbruyere
Copy link
Owner

I add to install 'vulkan-devel' to have a successful build. It's great to have an arch package, thanks a lot. I'll put it on my README on my next push.

@jpbruyere
Copy link
Owner

done, And I discovered that there's a debian user repo now...

@Rubo3
Copy link
Contributor Author

Rubo3 commented Jan 22, 2022

I add to install 'vulkan-devel' to have a successful build. It's great to have an arch package, thanks a lot. I'll put it on my README on my next push.

I am investigating whether we really need the full vulkan-devel group, so I wrote a simple example mimicking the one found here https://jan.newmarch.name/Wayland/Cairo:

#include <stdbool.h>

#include <vulkan/vulkan.h>
#include <vkvg.h>

int main(void) {
    VkvgDevice d = vkvg_device_create(VK_SAMPLE_COUNT_32_BIT, false);
    VkvgSurface s = vkvg_surface_create(d, 1280, 720);
    VkvgContext c = vkvg_create(s);
    vkvg_select_font_face(c, "serif");
    vkvg_set_font_size(c, 32);
    vkvg_set_source_rgb(c, 0.0, 0.0, 1.0);
    vkvg_move_to(c, 10.0, 50.0);
    vkvg_show_text(c, "おはよう, Παν語");
    vkvg_destroy(c);
    vkvg_surface_write_to_png(s, "hello.png");
    vkvg_surface_destroy(s);
}

I compiled it with gcc a.c -lvulkan -lvkh -lvkvg, but when I run it I get:

Fatal : VkResult is -2 in /run/media/Volume/Marco/Nextcloud/Sviluppo/aur-vkvg/src/vkvg-0.2.1/vkh/src/vkh_image.c at line 57
Segmentation fault (core dumped)

This happens with and without vulkan-devel, so I think I am missing something, but what?

@jpbruyere
Copy link
Owner

VK_SAMPLE_COUNT_32_BIT is surely not available (max ~8 for common hardwares). I could test maximum available sample count in device creation and throw an error if count not supported.
Note that you may compile with:

gcc main.c -lvkvg -o test

or

 gcc main.c `pkg-config --libs vkvg` -o test

@jpbruyere
Copy link
Owner

I pushed on master a diff with sample count check, but cairo used to return valid pointer even if failed and set status accordingly. I have to make some changes to mimic the same behavior.

@Rubo3
Copy link
Contributor Author

Rubo3 commented Jan 22, 2022

Thanks! I set it to 8 bits, now it works, but the hello.png shows an empty image, even with ASCII "Hello, world!" instead of "おはよう, Παν語". What else did I do wrong?

@jpbruyere
Copy link
Owner

you have to select a font which has glyph for the codepoints you provide, for japanese I've test with (on debian) with

sudo apt install fonts-umeplus-cl
vkvg_select_font_face(c, "UmePlus CL Gothic");  

it's possible to load directly .ttf files: vkvg_load_font_from_path(...)

@Rubo3
Copy link
Contributor Author

Rubo3 commented Jan 22, 2022

Thanks, sorry to bother you again... I updated vkvg to the latest commit (vkvg-git coming soon on the AUR) and I tried with this (it can handle the "Hello, world!" codepoints, or at least I think it can):

...
vkvg_load_font_from_path(c, "/usr/share/fonts/noto/NotoSans-Regular.ttf", "Noto Sans Regular");
vkvg_set_font_size(c, 32);
vkvg_set_source_rgb(c, 0.0, 0.0, 1.0);
vkvg_move_to(c, 10.0, 50.0);
vkvg_show_text(c, "Hello, world!");
...

but the PNG is still empty. What am I doing wrong?

@jpbruyere
Copy link
Owner

jpbruyere commented Jan 22, 2022

No problems, it's always a pleasure to give support for VKVG.
this program works well for me, what is the status of the context: vkvg_status (c); also you may compile in Debug and set vkvg_log_level = VKVG_LOG_ERR;

@jpbruyere
Copy link
Owner

maybe start with a simple paint:

	VkvgContext ctx = vkvg_create (surf);
	vkvg_set_source_rgb(ctx,1,0,0);
	vkvg_paint(ctx);
	vkvg_destroy(ctx);

@jpbruyere jpbruyere reopened this Jan 22, 2022
@Rubo3
Copy link
Contributor Author

Rubo3 commented Jan 22, 2022

Thank you for being so kind! I wrote:

...
VkvgContext c = vkvg_create(s);
printf("%d\n", vkvg_status(c));
vkvg_set_source_rgb(c, 1, 0, 0);
printf("%d\n", vkvg_status(c));
vkvg_paint(c);
printf("%d\n", vkvg_status(c));
vkvg_destroy(c);
...

The output is:

0
0
0

So it means VKVG_STATUS_SUCCESS. Unfortunately I could not rebuild it in debug mode because I get these errors:

/usr/bin/ld: CMakeFiles/svg-viewer.dir/vkvg-svg/svg-viewer.c.o: in function `readSVG':
/tmp/vkvg/tests/vkvg-svg/svg-viewer.c:132: undefined reference to `LOG'
/usr/bin/ld: /tmp/vkvg/tests/vkvg-svg/svg-viewer.c:133: undefined reference to `LOG'
/usr/bin/ld: /tmp/vkvg/tests/vkvg-svg/svg-viewer.c:134: undefined reference to `LOG'
/usr/bin/ld: /tmp/vkvg/tests/vkvg-svg/svg-viewer.c:135: undefined reference to `LOG'
/usr/bin/ld: /tmp/vkvg/tests/vkvg-svg/svg-viewer.c:136: undefined reference to `LOG'
/usr/bin/ld: CMakeFiles/svg-viewer.dir/vkvg-svg/svg-viewer.c.o:/tmp/vkvg/tests/vkvg-svg/svg-viewer.c:137: more undefined references to `LOG' follow
collect2: error: ld returned 1 exit status
make[2]: *** [tests/CMakeFiles/svg-viewer.dir/build.make:112: tests/svg-viewer] Error 1
make[1]: *** [CMakeFiles/Makefile2:1633: tests/CMakeFiles/svg-viewer.dir/all] Error 2
make: *** [Makefile:156: all] Error 2

even if I did not enable VKVG_BUILD_TESTS and VKVG_TEST_DIRECT_DRAW. I ran these commands inside /tmp/vkvg to build it:

cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr  \
        -DVKVG_USE_GLUTESS=true      \
        -DVKVG_BUILD_DOCS=true       \
        -DVKVG_USE_FONTCONFIG=true   \
        -DVKVG_USE_FREETYPE=true     \
        -DVKVG_USE_HARFBUZZ=true     \
        -DCMAKE_BUILD_TYPE=Debug     \
        -DENABLE_VALIDATION=true     \
        -DENABLE_DBG_UTILS=true      \
        -DENABLE_RENDERDOC=true      \
        -DENABLE_WIRED_FILL=true     \
        -DENABLE_PROFILING=true      \
        -DVKVG_DBG_STATS=true        \
        ..
make install

@jpbruyere
Copy link
Owner

you can disable svg to test, the latest cmakefile should disable build vkvg_svg tests (that's where the error is)
-DVKVG_SVG=false

@jpbruyere
Copy link
Owner

jpbruyere commented Jan 22, 2022

recommended options for tests:

cmake -DCMAKE_INSTALL_PREFIX=/usr  \
        -DVKVG_BUILD_TESTS=true      \
        -DVKVG_USE_GLUTESS=true      \
        -DVKVG_SVG=false \
        -DVKVG_BUILD_DOCS=false       \
        -DVKVG_USE_FONTCONFIG=true   \
        -DVKVG_USE_FREETYPE=true     \
        -DVKVG_USE_HARFBUZZ=true     \
        -DCMAKE_BUILD_TYPE=Debug     \
        -DENABLE_VALIDATION=true     \
        -DENABLE_DBG_UTILS=true      \
        -DENABLE_RENDERDOC=false      \
        -DENABLE_WIRED_FILL=false    \
        -DENABLE_PROFILING=false      \
        -DVKVG_DBG_STATS=false        \

don't forget to sync submodules if you checkout a more recent version: git submodule update --init --recursive

@Rubo3
Copy link
Contributor Author

Rubo3 commented Jan 22, 2022

Even with

    ...
    VkvgContext c = vkvg_create(s);
    printf("%d\n", vkvg_status(c));
    vkvg_load_font_from_path(c, "/usr/share/fonts/noto/NotoSans-Regular.ttf", "Noto Sans Regular");
    printf("%d\n", vkvg_status(c));
    vkvg_set_font_size(c, 32);
    printf("%d\n", vkvg_status(c));
    vkvg_set_source_rgb(c, 0.0, 0.0, 1.0);
    printf("%d\n", vkvg_status(c));
    vkvg_move_to(c, 10.0, 50.0);
    printf("%d\n", vkvg_status(c));
    vkvg_show_text(c, "Hello, world!");
    printf("%d\n", vkvg_status(c));
    vkvg_destroy(c);
    ...

the output is still

0
0
0
0
0
0

@Rubo3
Copy link
Contributor Author

Rubo3 commented Jan 22, 2022

recommended options for tests:

Thanks, now it builds but I get

vkvg.c: In function ‘main’:
vkvg.c:8:5: error: ‘vkvg_log_level’ undeclared (first use in this function)
    8 |     vkvg_log_level = VKVG_LOG_ERR;
      |     ^~~~~~~~~~~~~~
vkvg.c:8:5: note: each undeclared identifier is reported only once for each function it appears in

don't forget to sync submodules if you checkout a more recent version: git submodule update --init --recursive

Yes, I am building the latest versions of their master trees.

@jpbruyere
Copy link
Owner

if vkvg_log_level is not defined, it's not a debug build, it's in release mode, double check this. status 0 = success.

@Rubo3
Copy link
Contributor Author

Rubo3 commented Jan 22, 2022

That's what I thought, too, but I don't know why. I ran cmake with your recommended options, so it should be a debug build... that's strange.

@jpbruyere
Copy link
Owner

ensure you call cmake with the two dot from the build dir

cmake .. -DCMAKE_BUILD_TYPE=Debug

maybe, wipe out the build dir (rm -fr build) and start from a fresh one, sometime cmake cached variables are the problem

@Rubo3
Copy link
Contributor Author

Rubo3 commented Jan 22, 2022

Even after starting afresh and running

cmake .. -DCMAKE_BUILD_TYPE=Debug
make install

I get the same error... I really don't know why.

@jpbruyere
Copy link
Owner

jpbruyere commented Jan 22, 2022

I guess only the release lib are installed by the aur build system. And without log, you still have an empty image?
or maybe you have to define the DEBUG macro, which is not defined in vkvg.h, that comes from the cmake build system.
so :

#include <stdbool.h>
#include <vulkan/vulkan.h>
#define DEBUG   1 //<===
#include <vkvg.h>

int main(void) {
...

@Rubo3
Copy link
Contributor Author

Rubo3 commented Jan 22, 2022

I guess only the release lib are installed by the aur build system.

That's so strange though, in the PKGBUILD I specify the cmake and the make install commans, the build system in theory should just execute some bash functions.

And without log, you still have an empty image?

Yes.

@jpbruyere
Copy link
Owner

for the vkvg_log_level, you have to define DEBUG to 1, I've just tested it.

@jpbruyere
Copy link
Owner

can you send the image here

@jpbruyere
Copy link
Owner

you may try with: vkvg_log_level=VKVG_LOG_FULL, and give me the output

@Rubo3
Copy link
Contributor Author

Rubo3 commented Jan 22, 2022

This is the image:
hello

@jpbruyere
Copy link
Owner

and your full c source, plz

@Rubo3
Copy link
Contributor Author

Rubo3 commented Jan 22, 2022

for the vkvg_log_level, you have to define DEBUG to 1, I've just tested it.

Oh, it was so simple! Rip.

and your full c source, plz

Here you go:

#include <stdbool.h>
#include <stdio.h>

#include <vulkan/vulkan.h>

#define DEBUG 1
#include <vkvg.h>

int main(void) {
    vkvg_log_level = VKVG_LOG_FULL;

    VkvgDevice  d = vkvg_device_create(VK_SAMPLE_COUNT_8_BIT, false);
    VkvgSurface s = vkvg_surface_create(d, 240, 80);
    VkvgContext c = vkvg_create(s);
    printf("%d\n", vkvg_status(c));
    vkvg_set_source_rgb(c, 1, 0, 0);
    printf("%d\n", vkvg_status(c));
    vkvg_paint(c);
    printf("%d\n", vkvg_status(c));
    vkvg_destroy(c);
    printf("%d\n", vkvg_status(c));

    vkvg_destroy(c);
    vkvg_surface_write_to_png(s, "hello.png");
    vkvg_surface_destroy(s);
    return 0;
}

you may try with: vkvg_log_level=VKVG_LOG_FULL, and give me the output

CREATE Device: qFam = 0; qIdx = 0
CREATE Context: ctx = 0x55a41ce79650; surf = 0x55a41ca47120
CTX: _wait_flush_fence
CTX: _wait_flush_fence
INIT    ctx = 0x55a41ce79650; pathes:16 pts:1024 vch:4096 vbo:4096 ich:24576 ibo:24576
0
CTX: _update_cur_pattern: (nil) -> (nil)
0
_ensure_renderpass_is_started
START RENDER PASS: ctx = 0x55a41ce79650
Add Vertexf          0: pos:(   -1.0000,    -1.0000) uv:(    0.0000,    0.0000,   -1.0000) color:0xff0000ff 
Add Vertexf          1: pos:(    3.0000,    -1.0000) uv:(    0.0000,    0.0000,   -1.0000) color:0xff0000ff 
Add Vertexf          2: pos:(   -1.0000,     3.0000) uv:(    0.0000,    0.0000,   -1.0000) color:0xff0000ff 
0
DESTROY Context: ctx = 0x55a41ce79650 (status:0); surf = 0x55a41ca47120
END RENDER PASS: ctx = 0x55a41ce79650;
FLUSH CTX: ctx = 0x55a41ce79650; vertices = 3; indices = 0
CTX: _wait_flush_fence
CTX: _wait_and_submit_cmd
CTX: _wait_flush_fence
CTX: _reset_flush_fence
CTX: _wait_flush_fence
END     ctx = 0x55a41ce79650; pathes:16 pts:1024 vch:4096 vbo:4096 ich:24576 ibo:24576
0

Finally!

@jpbruyere
Copy link
Owner

You can run the samples? if you compile with VKVG_BUILD_TESTS (you need glfw3-dev)

@jpbruyere
Copy link
Owner

every thing looks good in the log, I get a red image here, strange.

@Rubo3
Copy link
Contributor Author

Rubo3 commented Jan 22, 2022

You can run the samples? if you compile with VKVG_BUILD_TESTS (you need glfw3-dev)

Yes, I compiled with -DCMAKE_BUILD_TYPE=Debug -DVKVG_BUILD_TESTS=true and ran some of them, no one gave me problems. While running pattern-transforms I noticed some debug informations, this was the output:

__________________________________________________________________________________________________________
| N° | Test File Name  |       Sub Test            | Iter | Size |   FPS   | Average | Median  | Sigma   |
|----|-----------------|---------------------------|------|------|---------|---------|---------|---------|
|  0 | rn_transforms   | pat_scale                 |  142 |    1 |   60.98 | 0.01640 | 0.01664 | 0.00312 |
|  1 | rn_transforms   | pat_rotate                |   46 |    1 |   62.74 | 0.01594 | 0.01659 | 0.00911 |
VAL: Validation Error: [ VUID-vkCmdBlitImage-dstImage-02000 ] Object 0: handle = 0x9638f80000000036, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x86bc2a78 | In vkCmdBlitImage, VkFormatFeatureFlags (0x0001D401) does not support required feature VK_FORMAT_FEATURE_BLIT_DST_BIT for format 44 used by VkImage 0x9638f80000000036[] with tiling VK_IMAGE_TILING_LINEAR. The Vulkan spec states: The format features of dstImage must contain VK_FORMAT_FEATURE_BLIT_DST_BIT (https://vulkan.lunarg.com/doc/view/1.2.198.1/linux/1.2-extensions/vkspec.html#VUID-vkCmdBlitImage-dstImage-02000)
VAL: Validation Error: [ VUID-vkCmdBlitImage-dstImage-02000 ] Object 0: handle = 0x6871490000000055, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x86bc2a78 | In vkCmdBlitImage, VkFormatFeatureFlags (0x0001D401) does not support required feature VK_FORMAT_FEATURE_BLIT_DST_BIT for format 44 used by VkImage 0x6871490000000055[] with tiling VK_IMAGE_TILING_LINEAR. The Vulkan spec states: The format features of dstImage must contain VK_FORMAT_FEATURE_BLIT_DST_BIT (https://vulkan.lunarg.com/doc/view/1.2.198.1/linux/1.2-extensions/vkspec.html#VUID-vkCmdBlitImage-dstImage-02000)
VAL: Validation Error: [ VUID-vkCmdBlitImage-dstImage-02000 ] Object 0: handle = 0x421a0f0000000074, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x86bc2a78 | In vkCmdBlitImage, VkFormatFeatureFlags (0x0001D401) does not support required feature VK_FORMAT_FEATURE_BLIT_DST_BIT for format 44 used by VkImage 0x421a0f0000000074[] with tiling VK_IMAGE_TILING_LINEAR. The Vulkan spec states: The format features of dstImage must contain VK_FORMAT_FEATURE_BLIT_DST_BIT (https://vulkan.lunarg.com/doc/view/1.2.198.1/linux/1.2-extensions/vkspec.html#VUID-vkCmdBlitImage-dstImage-02000)
VAL: Validation Error: [ VUID-vkCmdBlitImage-dstImage-02000 ] Object 0: handle = 0xec25c90000000093, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x86bc2a78 | In vkCmdBlitImage, VkFormatFeatureFlags (0x0001D401) does not support required feature VK_FORMAT_FEATURE_BLIT_DST_BIT for format 44 used by VkImage 0xec25c90000000093[] with tiling VK_IMAGE_TILING_LINEAR. The Vulkan spec states: The format features of dstImage must contain VK_FORMAT_FEATURE_BLIT_DST_BIT (https://vulkan.lunarg.com/doc/view/1.2.198.1/linux/1.2-extensions/vkspec.html#VUID-vkCmdBlitImage-dstImage-02000)
VAL: Validation Error: [ VUID-vkCmdBlitImage-dstImage-02000 ] Object 0: handle = 0x1dc49b00000000b2, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x86bc2a78 | In vkCmdBlitImage, VkFormatFeatureFlags (0x0001D401) does not support required feature VK_FORMAT_FEATURE_BLIT_DST_BIT for format 44 used by VkImage 0x1dc49b00000000b2[] with tiling VK_IMAGE_TILING_LINEAR. The Vulkan spec states: The format features of dstImage must contain VK_FORMAT_FEATURE_BLIT_DST_BIT (https://vulkan.lunarg.com/doc/view/1.2.198.1/linux/1.2-extensions/vkspec.html#VUID-vkCmdBlitImage-dstImage-02000)
VAL: Validation Error: [ VUID-vkCmdBlitImage-dstImage-02000 ] Object 0: handle = 0xfb4f900000000d1, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x86bc2a78 | In vkCmdBlitImage, VkFormatFeatureFlags (0x0001D401) does not support required feature VK_FORMAT_FEATURE_BLIT_DST_BIT for format 44 used by VkImage 0xfb4f900000000d1[] with tiling VK_IMAGE_TILING_LINEAR. The Vulkan spec states: The format features of dstImage must contain VK_FORMAT_FEATURE_BLIT_DST_BIT (https://vulkan.lunarg.com/doc/view/1.2.198.1/linux/1.2-extensions/vkspec.html#VUID-vkCmdBlitImage-dstImage-02000)
VAL: Validation Error: [ VUID-vkCmdBlitImage-dstImage-02000 ] Object 0: handle = 0x7e6d0700000000f0, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x86bc2a78 | In vkCmdBlitImage, VkFormatFeatureFlags (0x0001D401) does not support required feature VK_FORMAT_FEATURE_BLIT_DST_BIT for format 44 used by VkImage 0x7e6d0700000000f0[] with tiling VK_IMAGE_TILING_LINEAR. The Vulkan spec states: The format features of dstImage must contain VK_FORMAT_FEATURE_BLIT_DST_BIT (https://vulkan.lunarg.com/doc/view/1.2.198.1/linux/1.2-extensions/vkspec.html#VUID-vkCmdBlitImage-dstImage-02000)
VAL: Validation Error: [ VUID-vkCmdBlitImage-dstImage-02000 ] Object 0: handle = 0x2c9fc9000000010f, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x86bc2a78 | In vkCmdBlitImage, VkFormatFeatureFlags (0x0001D401) does not support required feature VK_FORMAT_FEATURE_BLIT_DST_BIT for format 44 used by VkImage 0x2c9fc9000000010f[] with tiling VK_IMAGE_TILING_LINEAR. The Vulkan spec states: The format features of dstImage must contain VK_FORMAT_FEATURE_BLIT_DST_BIT (https://vulkan.lunarg.com/doc/view/1.2.198.1/linux/1.2-extensions/vkspec.html#VUID-vkCmdBlitImage-dstImage-02000)
VAL: Validation Error: [ VUID-vkCmdBlitImage-dstImage-02000 ] Object 0: handle = 0xc2a18a000000012e, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x86bc2a78 | In vkCmdBlitImage, VkFormatFeatureFlags (0x0001D401) does not support required feature VK_FORMAT_FEATURE_BLIT_DST_BIT for format 44 used by VkImage 0xc2a18a000000012e[] with tiling VK_IMAGE_TILING_LINEAR. The Vulkan spec states: The format features of dstImage must contain VK_FORMAT_FEATURE_BLIT_DST_BIT (https://vulkan.lunarg.com/doc/view/1.2.198.1/linux/1.2-extensions/vkspec.html#VUID-vkCmdBlitImage-dstImage-02000)
VAL: Validation Error: [ VUID-vkCmdBlitImage-dstImage-02000 ] Object 0: handle = 0xe8fb46000000014d, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x86bc2a78 | In vkCmdBlitImage, VkFormatFeatureFlags (0x0001D401) does not support required feature VK_FORMAT_FEATURE_BLIT_DST_BIT for format 44 used by VkImage 0xe8fb46000000014d[] with tiling VK_IMAGE_TILING_LINEAR. The Vulkan spec states: The format features of dstImage must contain VK_FORMAT_FEATURE_BLIT_DST_BIT (https://vulkan.lunarg.com/doc/view/1.2.198.1/linux/1.2-extensions/vkspec.html#VUID-vkCmdBlitImage-dstImage-02000)
VAL: Validation Error: [ VUID-vkCmdBlitImage-dstImage-02000 ] Object 0: handle = 0xb730fe000000016c, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x86bc2a78 | In vkCmdBlitImage, VkFormatFeatureFlags (0x0001D401) does not support required feature VK_FORMAT_FEATURE_BLIT_DST_BIT for format 44 used by VkImage 0xb730fe000000016c[] with tiling VK_IMAGE_TILING_LINEAR. The Vulkan spec states: The format features of dstImage must contain VK_FORMAT_FEATURE_BLIT_DST_BIT (https://vulkan.lunarg.com/doc/view/1.2.198.1/linux/1.2-extensions/vkspec.html#VUID-vkCmdBlitImage-dstImage-02000)
VAL: Validation Error: [ VUID-vkCmdBlitImage-dstImage-02000 ] Object 0: handle = 0x85695a000000018b, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x86bc2a78 | In vkCmdBlitImage, VkFormatFeatureFlags (0x0001D401) does not support required feature VK_FORMAT_FEATURE_BLIT_DST_BIT for format 44 used by VkImage 0x85695a000000018b[] with tiling VK_IMAGE_TILING_LINEAR. The Vulkan spec states: The format features of dstImage must contain VK_FORMAT_FEATURE_BLIT_DST_BIT (https://vulkan.lunarg.com/doc/view/1.2.198.1/linux/1.2-extensions/vkspec.html#VUID-vkCmdBlitImage-dstImage-02000)
VAL: Validation Error: [ VUID-vkCmdBlitImage-dstImage-02000 ] Object 0: handle = 0xab038a00000001aa, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x86bc2a78 | In vkCmdBlitImage, VkFormatFeatureFlags (0x0001D401) does not support required feature VK_FORMAT_FEATURE_BLIT_DST_BIT for format 44 used by VkImage 0xab038a00000001aa[] with tiling VK_IMAGE_TILING_LINEAR. The Vulkan spec states: The format features of dstImage must contain VK_FORMAT_FEATURE_BLIT_DST_BIT (https://vulkan.lunarg.com/doc/view/1.2.198.1/linux/1.2-extensions/vkspec.html#VUID-vkCmdBlitImage-dstImage-02000)
VAL: Validation Error: [ VUID-vkCmdBlitImage-dstImage-02000 ] Object 0: handle = 0xd12dce00000001c9, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x86bc2a78 | In vkCmdBlitImage, VkFormatFeatureFlags (0x0001D401) does not support required feature VK_FORMAT_FEATURE_BLIT_DST_BIT for format 44 used by VkImage 0xd12dce00000001c9[] with tiling VK_IMAGE_TILING_LINEAR. The Vulkan spec states: The format features of dstImage must contain VK_FORMAT_FEATURE_BLIT_DST_BIT (https://vulkan.lunarg.com/doc/view/1.2.198.1/linux/1.2-extensions/vkspec.html#VUID-vkCmdBlitImage-dstImage-02000)
VAL: Validation Error: [ VUID-vkCmdBlitImage-dstImage-02000 ] Object 0: handle = 0xcfff0600000001e8, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x86bc2a78 | In vkCmdBlitImage, VkFormatFeatureFlags (0x0001D401) does not support required feature VK_FORMAT_FEATURE_BLIT_DST_BIT for format 44 used by VkImage 0xcfff0600000001e8[] with tiling VK_IMAGE_TILING_LINEAR. The Vulkan spec states: The format features of dstImage must contain VK_FORMAT_FEATURE_BLIT_DST_BIT (https://vulkan.lunarg.com/doc/view/1.2.198.1/linux/1.2-extensions/vkspec.html#VUID-vkCmdBlitImage-dstImage-02000)
VAL: Validation Error: [ VUID-vkCmdBlitImage-dstImage-02000 ] Object 0: handle = 0x3dccfa0000000207, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x86bc2a78 | In vkCmdBlitImage, VkFormatFeatureFlags (0x0001D401) does not support required feature VK_FORMAT_FEATURE_BLIT_DST_BIT for format 44 used by VkImage 0x3dccfa0000000207[] with tiling VK_IMAGE_TILING_LINEAR. The Vulkan spec states: The format features of dstImage must contain VK_FORMAT_FEATURE_BLIT_DST_BIT (https://vulkan.lunarg.com/doc/view/1.2.198.1/linux/1.2-extensions/vkspec.html#VUID-vkCmdBlitImage-dstImage-02000)
VAL: Validation Error: [ VUID-vkCmdBlitImage-dstImage-02000 ] Object 0: handle = 0x73649d0000000226, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x86bc2a78 | In vkCmdBlitImage, VkFormatFeatureFlags (0x0001D401) does not support required feature VK_FORMAT_FEATURE_BLIT_DST_BIT for format 44 used by VkImage 0x73649d0000000226[] with tiling VK_IMAGE_TILING_LINEAR. The Vulkan spec states: The format features of dstImage must contain VK_FORMAT_FEATURE_BLIT_DST_BIT (https://vulkan.lunarg.com/doc/view/1.2.198.1/linux/1.2-extensions/vkspec.html#VUID-vkCmdBlitImage-dstImage-02000)
VAL: Validation Error: [ VUID-vkCmdBlitImage-dstImage-02000 ] Object 0: handle = 0x1a87c70000000245, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x86bc2a78 | In vkCmdBlitImage, VkFormatFeatureFlags (0x0001D401) does not support required feature VK_FORMAT_FEATURE_BLIT_DST_BIT for format 44 used by VkImage 0x1a87c70000000245[] with tiling VK_IMAGE_TILING_LINEAR. The Vulkan spec states: The format features of dstImage must contain VK_FORMAT_FEATURE_BLIT_DST_BIT (https://vulkan.lunarg.com/doc/view/1.2.198.1/linux/1.2-extensions/vkspec.html#VUID-vkCmdBlitImage-dstImage-02000)
VAL: Validation Error: [ VUID-vkCmdBlitImage-dstImage-02000 ] Object 0: handle = 0x20aa0d0000000264, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x86bc2a78 | In vkCmdBlitImage, VkFormatFeatureFlags (0x0001D401) does not support required feature VK_FORMAT_FEATURE_BLIT_DST_BIT for format 44 used by VkImage 0x20aa0d0000000264[] with tiling VK_IMAGE_TILING_LINEAR. The Vulkan spec states: The format features of dstImage must contain VK_FORMAT_FEATURE_BLIT_DST_BIT (https://vulkan.lunarg.com/doc/view/1.2.198.1/linux/1.2-extensions/vkspec.html#VUID-vkCmdBlitImage-dstImage-02000)
VAL: Validation Error: [ VUID-vkCmdBlitImage-dstImage-02000 ] Object 0: handle = 0xf6f34b0000000283, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x86bc2a78 | In vkCmdBlitImage, VkFormatFeatureFlags (0x0001D401) does not support required feature VK_FORMAT_FEATURE_BLIT_DST_BIT for format 44 used by VkImage 0xf6f34b0000000283[] with tiling VK_IMAGE_TILING_LINEAR. The Vulkan spec states: The format features of dstImage must contain VK_FORMAT_FEATURE_BLIT_DST_BIT (https://vulkan.lunarg.com/doc/view/1.2.198.1/linux/1.2-extensions/vkspec.html#VUID-vkCmdBlitImage-dstImage-02000)
VAL: Validation Error: [ VUID-vkCmdBlitImage-dstImage-02000 ] Object 0: handle = 0xb4c88500000002a2, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x86bc2a78 | In vkCmdBlitImage, VkFormatFeatureFlags (0x0001D401) does not support required feature VK_FORMAT_FEATURE_BLIT_DST_BIT for format 44 used by VkImage 0xb4c88500000002a2[] with tiling VK_IMAGE_TILING_LINEAR. The Vulkan spec states: The format features of dstImage must contain VK_FORMAT_FEATURE_BLIT_DST_BIT (https://vulkan.lunarg.com/doc/view/1.2.198.1/linux/1.2-extensions/vkspec.html#VUID-vkCmdBlitImage-dstImage-02000)
VAL: Validation Error: [ VUID-vkCmdBlitImage-dstImage-02000 ] Object 0: handle = 0x62605f00000002c1, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x86bc2a78 | In vkCmdBlitImage, VkFormatFeatureFlags (0x0001D401) does not support required feature VK_FORMAT_FEATURE_BLIT_DST_BIT for format 44 used by VkImage 0x62605f00000002c1[] with tiling VK_IMAGE_TILING_LINEAR. The Vulkan spec states: The format features of dstImage must contain VK_FORMAT_FEATURE_BLIT_DST_BIT (https://vulkan.lunarg.com/doc/view/1.2.198.1/linux/1.2-extensions/vkspec.html#VUID-vkCmdBlitImage-dstImage-02000)
VAL: Validation Error: [ VUID-vkCmdBlitImage-dstImage-02000 ] Object 0: handle = 0x980b0500000002e0, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x86bc2a78 | In vkCmdBlitImage, VkFormatFeatureFlags (0x0001D401) does not support required feature VK_FORMAT_FEATURE_BLIT_DST_BIT for format 44 used by VkImage 0x980b0500000002e0[] with tiling VK_IMAGE_TILING_LINEAR. The Vulkan spec states: The format features of dstImage must contain VK_FORMAT_FEATURE_BLIT_DST_BIT (https://vulkan.lunarg.com/doc/view/1.2.198.1/linux/1.2-extensions/vkspec.html#VUID-vkCmdBlitImage-dstImage-02000)
VAL: Validation Error: [ VUID-vkCmdBlitImage-dstImage-02000 ] Object 0: handle = 0x8e31cb00000002ff, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x86bc2a78 | In vkCmdBlitImage, VkFormatFeatureFlags (0x0001D401) does not support required feature VK_FORMAT_FEATURE_BLIT_DST_BIT for format 44 used by VkImage 0x8e31cb00000002ff[] with tiling VK_IMAGE_TILING_LINEAR. The Vulkan spec states: The format features of dstImage must contain VK_FORMAT_FEATURE_BLIT_DST_BIT (https://vulkan.lunarg.com/doc/view/1.2.198.1/linux/1.2-extensions/vkspec.html#VUID-vkCmdBlitImage-dstImage-02000)
VAL: Validation Error: [ VUID-vkCmdBlitImage-dstImage-02000 ] Object 0: handle = 0xfdf68c000000031e, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x86bc2a78 | In vkCmdBlitImage, VkFormatFeatureFlags (0x0001D401) does not support required feature VK_FORMAT_FEATURE_BLIT_DST_BIT for format 44 used by VkImage 0xfdf68c000000031e[] with tiling VK_IMAGE_TILING_LINEAR. The Vulkan spec states: The format features of dstImage must contain VK_FORMAT_FEATURE_BLIT_DST_BIT (https://vulkan.lunarg.com/doc/view/1.2.198.1/linux/1.2-extensions/vkspec.html#VUID-vkCmdBlitImage-dstImage-02000)
VAL: Validation Error: [ VUID-vkCmdBlitImage-dstImage-02000 ] Object 0: handle = 0xcbc4c4000000033d, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x86bc2a78 | In vkCmdBlitImage, VkFormatFeatureFlags (0x0001D401) does not support required feature VK_FORMAT_FEATURE_BLIT_DST_BIT for format 44 used by VkImage 0xcbc4c4000000033d[] with tiling VK_IMAGE_TILING_LINEAR. The Vulkan spec states: The format features of dstImage must contain VK_FORMAT_FEATURE_BLIT_DST_BIT (https://vulkan.lunarg.com/doc/view/1.2.198.1/linux/1.2-extensions/vkspec.html#VUID-vkCmdBlitImage-dstImage-02000)
VAL: Validation Error: [ VUID-vkCmdBlitImage-dstImage-02000 ] Object 0: handle = 0x505c1c000000035c, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x86bc2a78 | In vkCmdBlitImage, VkFormatFeatureFlags (0x0001D401) does not support required feature VK_FORMAT_FEATURE_BLIT_DST_BIT for format 44 used by VkImage 0x505c1c000000035c[] with tiling VK_IMAGE_TILING_LINEAR. The Vulkan spec states: The format features of dstImage must contain VK_FORMAT_FEATURE_BLIT_DST_BIT (https://vulkan.lunarg.com/doc/view/1.2.198.1/linux/1.2-extensions/vkspec.html#VUID-vkCmdBlitImage-dstImage-02000)
VAL: Validation Error: [ VUID-vkCmdBlitImage-dstImage-02000 ] Object 0: handle = 0x668f3c000000037b, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x86bc2a78 | In vkCmdBlitImage, VkFormatFeatureFlags (0x0001D401) does not support required feature VK_FORMAT_FEATURE_BLIT_DST_BIT for format 44 used by VkImage 0x668f3c000000037b[] with tiling VK_IMAGE_TILING_LINEAR. The Vulkan spec states: The format features of dstImage must contain VK_FORMAT_FEATURE_BLIT_DST_BIT (https://vulkan.lunarg.com/doc/view/1.2.198.1/linux/1.2-extensions/vkspec.html#VUID-vkCmdBlitImage-dstImage-02000)
VAL: Validation Error: [ VUID-vkCmdBlitImage-dstImage-02000 ] Object 0: handle = 0x4bd84000000039a, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x86bc2a78 | In vkCmdBlitImage, VkFormatFeatureFlags (0x0001D401) does not support required feature VK_FORMAT_FEATURE_BLIT_DST_BIT for format 44 used by VkImage 0x4bd84000000039a[] with tiling VK_IMAGE_TILING_LINEAR. The Vulkan spec states: The format features of dstImage must contain VK_FORMAT_FEATURE_BLIT_DST_BIT (https://vulkan.lunarg.com/doc/view/1.2.198.1/linux/1.2-extensions/vkspec.html#VUID-vkCmdBlitImage-dstImage-02000)
VAL: Validation Error: [ VUID-vkCmdBlitImage-dstImage-02000 ] Object 0: handle = 0xf2ea4c00000003b9, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x86bc2a78 | In vkCmdBlitImage, VkFormatFeatureFlags (0x0001D401) does not support required feature VK_FORMAT_FEATURE_BLIT_DST_BIT for format 44 used by VkImage 0xf2ea4c00000003b9[] with tiling VK_IMAGE_TILING_LINEAR. The Vulkan spec states: The format features of dstImage must contain VK_FORMAT_FEATURE_BLIT_DST_BIT (https://vulkan.lunarg.com/doc/view/1.2.198.1/linux/1.2-extensions/vkspec.html#VUID-vkCmdBlitImage-dstImage-02000)
VAL: Validation Error: [ VUID-vkCmdBlitImage-dstImage-02000 ] Object 0: handle = 0x28c10400000003d8, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x86bc2a78 | In vkCmdBlitImage, VkFormatFeatureFlags (0x0001D401) does not support required feature VK_FORMAT_FEATURE_BLIT_DST_BIT for format 44 used by VkImage 0x28c10400000003d8[] with tiling VK_IMAGE_TILING_LINEAR. The Vulkan spec states: The format features of dstImage must contain VK_FORMAT_FEATURE_BLIT_DST_BIT (https://vulkan.lunarg.com/doc/view/1.2.198.1/linux/1.2-extensions/vkspec.html#VUID-vkCmdBlitImage-dstImage-02000)
VAL: Validation Error: [ VUID-vkCmdBlitImage-dstImage-02000 ] Object 0: handle = 0x41584500000003f7, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x86bc2a78 | In vkCmdBlitImage, VkFormatFeatureFlags (0x0001D401) does not support required feature VK_FORMAT_FEATURE_BLIT_DST_BIT for format 44 used by VkImage 0x41584500000003f7[] with tiling VK_IMAGE_TILING_LINEAR. The Vulkan spec states: The format features of dstImage must contain VK_FORMAT_FEATURE_BLIT_DST_BIT (https://vulkan.lunarg.com/doc/view/1.2.198.1/linux/1.2-extensions/vkspec.html#VUID-vkCmdBlitImage-dstImage-02000)
VAL: Validation Error: [ VUID-vkCmdBlitImage-dstImage-02000 ] Object 0: handle = 0x6f73bf0000000416, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x86bc2a78 | In vkCmdBlitImage, VkFormatFeatureFlags (0x0001D401) does not support required feature VK_FORMAT_FEATURE_BLIT_DST_BIT for format 44 used by VkImage 0x6f73bf0000000416[] with tiling VK_IMAGE_TILING_LINEAR. The Vulkan spec states: The format features of dstImage must contain VK_FORMAT_FEATURE_BLIT_DST_BIT (https://vulkan.lunarg.com/doc/view/1.2.198.1/linux/1.2-extensions/vkspec.html#VUID-vkCmdBlitImage-dstImage-02000)
VAL: Validation Error: [ VUID-vkCmdBlitImage-dstImage-02000 ] Object 0: handle = 0xbd39c50000000435, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x86bc2a78 | In vkCmdBlitImage, VkFormatFeatureFlags (0x0001D401) does not support required feature VK_FORMAT_FEATURE_BLIT_DST_BIT for format 44 used by VkImage 0xbd39c50000000435[] with tiling VK_IMAGE_TILING_LINEAR. The Vulkan spec states: The format features of dstImage must contain VK_FORMAT_FEATURE_BLIT_DST_BIT (https://vulkan.lunarg.com/doc/view/1.2.198.1/linux/1.2-extensions/vkspec.html#VUID-vkCmdBlitImage-dstImage-02000)
VAL: Validation Error: [ VUID-vkCmdBlitImage-dstImage-02000 ] Object 0: handle = 0x83ee030000000454, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x86bc2a78 | In vkCmdBlitImage, VkFormatFeatureFlags (0x0001D401) does not support required feature VK_FORMAT_FEATURE_BLIT_DST_BIT for format 44 used by VkImage 0x83ee030000000454[] with tiling VK_IMAGE_TILING_LINEAR. The Vulkan spec states: The format features of dstImage must contain VK_FORMAT_FEATURE_BLIT_DST_BIT (https://vulkan.lunarg.com/doc/view/1.2.198.1/linux/1.2-extensions/vkspec.html#VUID-vkCmdBlitImage-dstImage-02000)
VAL: Validation Error: [ VUID-vkCmdBlitImage-dstImage-02000 ] Object 0: handle = 0x99dacd0000000473, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x86bc2a78 | In vkCmdBlitImage, VkFormatFeatureFlags (0x0001D401) does not support required feature VK_FORMAT_FEATURE_BLIT_DST_BIT for format 44 used by VkImage 0x99dacd0000000473[] with tiling VK_IMAGE_TILING_LINEAR. The Vulkan spec states: The format features of dstImage must contain VK_FORMAT_FEATURE_BLIT_DST_BIT (https://vulkan.lunarg.com/doc/view/1.2.198.1/linux/1.2-extensions/vkspec.html#VUID-vkCmdBlitImage-dstImage-02000)
VAL: Validation Error: [ VUID-vkCmdBlitImage-dstImage-02000 ] Object 0: handle = 0x5754870000000492, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x86bc2a78 | In vkCmdBlitImage, VkFormatFeatureFlags (0x0001D401) does not support required feature VK_FORMAT_FEATURE_BLIT_DST_BIT for format 44 used by VkImage 0x5754870000000492[] with tiling VK_IMAGE_TILING_LINEAR. The Vulkan spec states: The format features of dstImage must contain VK_FORMAT_FEATURE_BLIT_DST_BIT (https://vulkan.lunarg.com/doc/view/1.2.198.1/linux/1.2-extensions/vkspec.html#VUID-vkCmdBlitImage-dstImage-02000)
VAL: Validation Error: [ VUID-vkCmdBlitImage-dstImage-02000 ] Object 0: handle = 0x4577bd00000004b1, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x86bc2a78 | In vkCmdBlitImage, VkFormatFeatureFlags (0x0001D401) does not support required feature VK_FORMAT_FEATURE_BLIT_DST_BIT for format 44 used by VkImage 0x4577bd00000004b1[] with tiling VK_IMAGE_TILING_LINEAR. The Vulkan spec states: The format features of dstImage must contain VK_FORMAT_FEATURE_BLIT_DST_BIT (https://vulkan.lunarg.com/doc/view/1.2.198.1/linux/1.2-extensions/vkspec.html#VUID-vkCmdBlitImage-dstImage-02000)
VAL: Validation Error: [ VUID-vkCmdBlitImage-dstImage-02000 ] Object 0: handle = 0x3a850300000004d0, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x86bc2a78 | In vkCmdBlitImage, VkFormatFeatureFlags (0x0001D401) does not support required feature VK_FORMAT_FEATURE_BLIT_DST_BIT for format 44 used by VkImage 0x3a850300000004d0[] with tiling VK_IMAGE_TILING_LINEAR. The Vulkan spec states: The format features of dstImage must contain VK_FORMAT_FEATURE_BLIT_DST_BIT (https://vulkan.lunarg.com/doc/view/1.2.198.1/linux/1.2-extensions/vkspec.html#VUID-vkCmdBlitImage-dstImage-02000)
|  2 | rn_transforms   | img_scale                 |   39 |    1 |   63.21 | 0.01582 | 0.01658 | 0.00607 |

@Rubo3
Copy link
Contributor Author

Rubo3 commented Jan 22, 2022

Just in case, here is the output from the other example:

CREATE Device: qFam = 0; qIdx = 0
CREATE Context: ctx = 0x5605bc7367c0; surf = 0x5605bc73def0
CTX: _wait_flush_fence
CTX: _wait_flush_fence
INIT    ctx = 0x5605bc7367c0; pathes:16 pts:1024 vch:4096 vbo:4096 ich:24576 ibo:24576
0
0
0
CTX: _update_cur_pattern: (nil) -> (nil)
0
        CMD: move_to: 10.000000,50.000000
_add_point: (10.000000, 50.000000)
0
CMD: show_text:
Add Vertex           0: pos:(   13.0000,    26.0000) uv:(    0.0000,    0.0000,    0.0000) color:0xffff0000 
Add Vertex           1: pos:(   13.0000,    50.0000) uv:(    0.0000,    0.0234,    0.0000) color:0xffff0000 
Add Vertex           2: pos:(   31.0000,    26.0000) uv:(    0.0176,    0.0000,    0.0000) color:0xffff0000 
Add Vertex           3: pos:(   31.0000,    50.0000) uv:(    0.0176,    0.0234,    0.0000) color:0xffff0000 
Rectangle IDX: 0 2 1 | 1 2 3 (count=6)
Add Vertex           4: pos:(   34.0000,    32.0000) uv:(    0.0176,    0.0000,    0.0000) color:0xffff0000 
Add Vertex           5: pos:(   34.0000,    50.0000) uv:(    0.0176,    0.0176,    0.0000) color:0xffff0000 
Add Vertex           6: pos:(   50.0000,    32.0000) uv:(    0.0332,    0.0000,    0.0000) color:0xffff0000 
Add Vertex           7: pos:(   50.0000,    50.0000) uv:(    0.0332,    0.0176,    0.0000) color:0xffff0000 
Rectangle IDX: 4 6 5 | 5 6 7 (count=12)
Add Vertex           8: pos:(   53.0000,    25.0000) uv:(    0.0332,    0.0000,    0.0000) color:0xffff0000 
Add Vertex           9: pos:(   53.0000,    50.0000) uv:(    0.0332,    0.0244,    0.0000) color:0xffff0000 
Add Vertex          10: pos:(   57.0000,    25.0000) uv:(    0.0371,    0.0000,    0.0000) color:0xffff0000 
Add Vertex          11: pos:(   57.0000,    50.0000) uv:(    0.0371,    0.0244,    0.0000) color:0xffff0000 
Rectangle IDX: 8 10 9 | 9 10 11 (count=18)
Add Vertex          12: pos:(   61.0000,    25.0000) uv:(    0.0332,    0.0000,    0.0000) color:0xffff0000 
Add Vertex          13: pos:(   61.0000,    50.0000) uv:(    0.0332,    0.0244,    0.0000) color:0xffff0000 
Add Vertex          14: pos:(   65.0000,    25.0000) uv:(    0.0371,    0.0000,    0.0000) color:0xffff0000 
Add Vertex          15: pos:(   65.0000,    50.0000) uv:(    0.0371,    0.0244,    0.0000) color:0xffff0000 
Rectangle IDX: 12 14 13 | 13 14 15 (count=24)
Add Vertex          16: pos:(   68.0000,    32.0000) uv:(    0.0371,    0.0000,    0.0000) color:0xffff0000 
Add Vertex          17: pos:(   68.0000,    50.0000) uv:(    0.0371,    0.0176,    0.0000) color:0xffff0000 
Add Vertex          18: pos:(   85.0000,    32.0000) uv:(    0.0537,    0.0000,    0.0000) color:0xffff0000 
Add Vertex          19: pos:(   85.0000,    50.0000) uv:(    0.0537,    0.0176,    0.0000) color:0xffff0000 
Rectangle IDX: 16 18 17 | 17 18 19 (count=30)
Add Vertex          20: pos:(   87.0000,    46.0000) uv:(    0.0537,    0.0000,    0.0000) color:0xffff0000 
Add Vertex          21: pos:(   87.0000,    54.0000) uv:(    0.0537,    0.0078,    0.0000) color:0xffff0000 
Add Vertex          22: pos:(   93.0000,    46.0000) uv:(    0.0596,    0.0000,    0.0000) color:0xffff0000 
Add Vertex          23: pos:(   93.0000,    54.0000) uv:(    0.0596,    0.0078,    0.0000) color:0xffff0000 
Rectangle IDX: 20 22 21 | 21 22 23 (count=36)
Add Vertex          24: pos:(   94.0000,    50.0000) uv:(    0.0596,    0.0000,    0.0000) color:0xffff0000 
Add Vertex          25: pos:(   94.0000,    50.0000) uv:(    0.0596,    0.0000,    0.0000) color:0xffff0000 
Add Vertex          26: pos:(   94.0000,    50.0000) uv:(    0.0596,    0.0000,    0.0000) color:0xffff0000 
Add Vertex          27: pos:(   94.0000,    50.0000) uv:(    0.0596,    0.0000,    0.0000) color:0xffff0000 
Rectangle IDX: 24 26 25 | 25 26 27 (count=42)
Add Vertex          28: pos:(  102.0000,    32.0000) uv:(    0.0596,    0.0000,    0.0000) color:0xffff0000 
Add Vertex          29: pos:(  102.0000,    50.0000) uv:(    0.0596,    0.0176,    0.0000) color:0xffff0000 
Add Vertex          30: pos:(  127.0000,    32.0000) uv:(    0.0840,    0.0000,    0.0000) color:0xffff0000 
Add Vertex          31: pos:(  127.0000,    50.0000) uv:(    0.0840,    0.0176,    0.0000) color:0xffff0000 
Rectangle IDX: 28 30 29 | 29 30 31 (count=48)
Add Vertex          32: pos:(  128.0000,    32.0000) uv:(    0.0371,    0.0000,    0.0000) color:0xffff0000 
Add Vertex          33: pos:(  128.0000,    50.0000) uv:(    0.0371,    0.0176,    0.0000) color:0xffff0000 
Add Vertex          34: pos:(  145.0000,    32.0000) uv:(    0.0537,    0.0000,    0.0000) color:0xffff0000 
Add Vertex          35: pos:(  145.0000,    50.0000) uv:(    0.0537,    0.0176,    0.0000) color:0xffff0000 
Rectangle IDX: 32 34 33 | 33 34 35 (count=54)
Add Vertex          36: pos:(  148.0000,    32.0000) uv:(    0.0840,    0.0000,    0.0000) color:0xffff0000 
Add Vertex          37: pos:(  148.0000,    50.0000) uv:(    0.0840,    0.0176,    0.0000) color:0xffff0000 
Add Vertex          38: pos:(  159.0000,    32.0000) uv:(    0.0947,    0.0000,    0.0000) color:0xffff0000 
Add Vertex          39: pos:(  159.0000,    50.0000) uv:(    0.0947,    0.0176,    0.0000) color:0xffff0000 
Rectangle IDX: 36 38 37 | 37 38 39 (count=60)
Add Vertex          40: pos:(  161.0000,    25.0000) uv:(    0.0332,    0.0000,    0.0000) color:0xffff0000 
Add Vertex          41: pos:(  161.0000,    50.0000) uv:(    0.0332,    0.0244,    0.0000) color:0xffff0000 
Add Vertex          42: pos:(  165.0000,    25.0000) uv:(    0.0371,    0.0000,    0.0000) color:0xffff0000 
Add Vertex          43: pos:(  165.0000,    50.0000) uv:(    0.0371,    0.0244,    0.0000) color:0xffff0000 
Rectangle IDX: 40 42 41 | 41 42 43 (count=66)
Add Vertex          44: pos:(  168.0000,    25.0000) uv:(    0.0947,    0.0000,    0.0000) color:0xffff0000 
Add Vertex          45: pos:(  168.0000,    50.0000) uv:(    0.0947,    0.0244,    0.0000) color:0xffff0000 
Add Vertex          46: pos:(  184.0000,    25.0000) uv:(    0.1104,    0.0000,    0.0000) color:0xffff0000 
Add Vertex          47: pos:(  184.0000,    50.0000) uv:(    0.1104,    0.0244,    0.0000) color:0xffff0000 
Rectangle IDX: 44 46 45 | 45 46 47 (count=72)
Add Vertex          48: pos:(  188.0000,    26.0000) uv:(    0.1104,    0.0000,    0.0000) color:0xffff0000 
Add Vertex          49: pos:(  188.0000,    50.0000) uv:(    0.1104,    0.0234,    0.0000) color:0xffff0000 
Add Vertex          50: pos:(  193.0000,    26.0000) uv:(    0.1152,    0.0000,    0.0000) color:0xffff0000 
Add Vertex          51: pos:(  193.0000,    50.0000) uv:(    0.1152,    0.0234,    0.0000) color:0xffff0000 
Rectangle IDX: 48 50 49 | 49 50 51 (count=78)
        CMD: move_to: 194.000000,50.000000
_add_point: (194.000000, 50.000000)
_flush_chars_to_tex pen(0, 0)
0
DESTROY Context: ctx = 0x5605bc7367c0 (status:0); surf = 0x5605bc73def0
_ensure_renderpass_is_started
START RENDER PASS: ctx = 0x5605bc7367c0
RECORD DRAW CMD: ctx = 0x5605bc7367c0; vertices = 52; indices = 78 (vxOff = 0 idxStart = 0 idxTot = 78 )
END RENDER PASS: ctx = 0x5605bc7367c0;
FLUSH CTX: ctx = 0x5605bc7367c0; vertices = 52; indices = 78
CTX: _wait_flush_fence
CTX: _wait_and_submit_cmd
CTX: _wait_flush_fence
CTX: _reset_flush_fence
CTX: _wait_flush_fence
END     ctx = 0x5605bc7367c0; pathes:16 pts:1024 vch:4096 vbo:4096 ich:24576 ibo:24576

@jpbruyere
Copy link
Owner

and the test output on screen is ok, not blank?

@Rubo3
Copy link
Contributor Author

Rubo3 commented Jan 22, 2022

Sure, nothing strange.

@jpbruyere
Copy link
Owner

so the problem surely comes from the vkvg_device_create. In the tests, I init vulkan to 1.2, in vkvg_device_create it's 1.1. I've just pushed on master vkvg_device_create with 1.2 vulkan version, that's the only diff I see.

@Rubo3
Copy link
Contributor Author

Rubo3 commented Jan 23, 2022

I rebuilt it against the new version and I still get an empty image... maybe the problem comes from my graphics card driver's Vulkan implementation?

@jpbruyere
Copy link
Owner

There are some fixes in the tests device creation for scalar block layout, also the validation layer here is not enabled. I'll try to make a common method for this part, I'll notify you when it's ready.

@jpbruyere
Copy link
Owner

I've pushed the fix on master.

@Rubo3
Copy link
Contributor Author

Rubo3 commented Jan 23, 2022

Ok, thank you very much!

@Rubo3
Copy link
Contributor Author

Rubo3 commented Jan 23, 2022

I've pushed the fix on master.

...still no image nor text, but this time I got validation errors printed, for example in the case of the would-be-red image:

CREATE Context: ctx = 0x555786c7e6c0; surf = 0x555787256bd0
CTX: _wait_flush_fence
CTX: _wait_flush_fence
INIT    ctx = 0x555786c7e6c0; pathes:16 pts:1024 vch:4096 vbo:4096 ich:24576 ibo:24576
0
CTX: _update_cur_pattern: (nil) -> (nil)
0
_ensure_renderpass_is_started
START RENDER PASS: ctx = 0x555786c7e6c0
Add Vertexf          0: pos:(   -1.0000,    -1.0000) uv:(    0.0000,    0.0000,   -1.0000) color:0xff0000ff 
Add Vertexf          1: pos:(    3.0000,    -1.0000) uv:(    0.0000,    0.0000,   -1.0000) color:0xff0000ff 
Add Vertexf          2: pos:(   -1.0000,     3.0000) uv:(    0.0000,    0.0000,   -1.0000) color:0xff0000ff 
0
DESTROY Context: ctx = 0x555786c7e6c0 (status:0); surf = 0x555787256bd0
END RENDER PASS: ctx = 0x555786c7e6c0;
FLUSH CTX: ctx = 0x555786c7e6c0; vertices = 3; indices = 0
CTX: _wait_flush_fence
CTX: _wait_and_submit_cmd
CTX: _wait_flush_fence
CTX: _reset_flush_fence
CTX: _wait_flush_fence
END     ctx = 0x555786c7e6c0; pathes:16 pts:1024 vch:4096 vbo:4096 ich:24576 ibo:24576
0
VAL: Validation Error: [ VUID-vkCmdPipelineBarrier-srcAccessMask-02815 ] Object 0: handle = 0x555786d37a10, name = Device Cmd Buff, type = VK_OBJECT_TYPE_COMMAND_BUFFER; | MessageID = 0x24d88c2b | vkCmdPipelineBarrier(): .pImageMemoryBarriers[0].srcAccessMask bit VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT is not supported by stage mask (VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT). The Vulkan spec states: The srcAccessMask member of each element of pMemoryBarriers must only include access flags that are supported by one or more of the pipeline stages in srcStageMask, as specified in the table of supported access types (https://vulkan.lunarg.com/doc/view/1.2.198.1/linux/1.2-extensions/vkspec.html#VUID-vkCmdPipelineBarrier-srcAccessMask-02815)
VAL: Validation Error: [ VUID-vkCmdBlitImage-dstImage-02000 ] Object 0: handle = 0xa21a4e0000000030, type = VK_OBJECT_TYPE_IMAGE; | MessageID = 0x86bc2a78 | In vkCmdBlitImage, VkFormatFeatureFlags (0x0001D401) does not support required feature VK_FORMAT_FEATURE_BLIT_DST_BIT for format 43 used by VkImage 0xa21a4e0000000030[] with tiling VK_IMAGE_TILING_LINEAR. The Vulkan spec states: The format features of dstImage must contain VK_FORMAT_FEATURE_BLIT_DST_BIT (https://vulkan.lunarg.com/doc/view/1.2.198.1/linux/1.2-extensions/vkspec.html#VUID-vkCmdBlitImage-dstImage-02000)

The only thing that changes in the validation errors in the would-be-text image example is the handle, in which case is 0x555786d37a10, otherwise the errors are exactly the same.

@jpbruyere
Copy link
Owner

I added the validation layer in debug mode. The last validation error is the problem, that's the final blit to dest image. Your driver miss the blit_dest feature for VK_FORMAT_R8G8B8A8_SRGB, I'll add a test there, but the final colors on the png will not be the same, I'notify when it's ready.

@jpbruyere
Copy link
Owner

I've pushed a fix on master: commit:4915cbe

@Rubo3
Copy link
Contributor Author

Rubo3 commented Jan 23, 2022

Thanks! I rebuilt it, now the image isn't even being created, the debug message says: no suitable image format for png write. Does this mean there's nothing else to do?

@jpbruyere
Copy link
Owner

jpbruyere commented Jan 23, 2022

I'll investigate the question, but I test 2 very common image formats, one possibility is that blitting may only be done with optimal image format on your driver. Can you send me vulkaninfo.html returned by the command vulkaninfo --html ? So I can check wich formats are supported on your driver.

@Rubo3
Copy link
Contributor Author

Rubo3 commented Jan 23, 2022

Sure, here you go: vulkaninfo.txt (I renamed it to *.txt because otherwise GitHub would not allow me to upload it).

@jpbruyere
Copy link
Owner

that's what I guessed, blit dest feature is only available for optimal tilling, I'll prepare a fix, that should be ok after that.

@jpbruyere
Copy link
Owner

I've pushed the fix: commit:f46d8a4

@Rubo3
Copy link
Contributor Author

Rubo3 commented Jan 23, 2022

Truly marvelous, now both examples work! Thank you so much! I still get the first validation error though, but after all the time I've taken you, this alone is just fantastic.

@jpbruyere
Copy link
Owner

I thanks you too for helping me improving vkvg, Hope to have you published some stuffs...

@Rubo3
Copy link
Contributor Author

Rubo3 commented Jan 23, 2022

What do you mean by "some stuffs"?
Also, I think we can mark this issue as closed now!

@Rubo3 Rubo3 closed this as completed Jan 23, 2022
@jpbruyere
Copy link
Owner

If you drive some tests, or you build a small app, don't hesitate to send me notes, and remarks, or publish tuto's, or just return of experience. And if you have some nice screenshots, you may also send it to me.

@Rubo3
Copy link
Contributor Author

Rubo3 commented Jan 23, 2022

Oh, sure! Actually, I'd like to replace cairo with vkvg in weston-editor https://gitlab.freedesktop.org/wayland/weston/-/blob/main/clients/editor.c (that's why I opened #58 haha), but first I have to familiarise with your library, so I rewrote cairo's "Hello, world!" example with your functions, which brought me to this issue. Now that it is resolved, I have to find a way to make Wayland speak Vulkan (or it's vice versa). At this point I can set up a repository somewhere, maybe tomorrow I'll do it.

@Rubo3
Copy link
Contributor Author

Rubo3 commented Feb 1, 2022

The last validation error is the problem, that's the final blit to dest image.

And what about the first one? Is it still my driver's fault?

@jpbruyere
Copy link
Owner

I have to investigate...no it's a vulkan barrier not well configured

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants