Vlákno názorů k článku Vulkan: swapchain a prezentace na obrazovku od jEzEk - Dobry den. Zasa dakujem za tutorial. Mal som mierne...

  • Článek je starý, nové názory již nelze přidávat.
  • 19. 8. 2022 16:36

    jEzEk

    Dobry den.

    Zasa dakujem za tutorial. Mal som mierne problemy s kompilaciou, cmake sa stazoval na nejake "policy" a nepoznal prikaz "IN_LIST". Co som pochopil ako bezbecnostne opatrenia (?) a ze pre pouzitie urcitych prikazov je mu ich treba povolit. Kompilacia sa podarila pridanim

    if(COMMAND cmake_policy)
    cmake_policy(SET CMP0057 NEW)
    cmake_policy(SET CMP0003 NEW)
    endif(COMMAND cmake_policy)

    na zaciatok "CMakeLists.txt" (da sa to obist aj pridanim parametrov k cmake prikazu).

    Ale ine som chcel. Mam otazku. Po spusteni mi vykreslilo okno, to ale bolo nedekorovane. Co ma zmiatlo, lebo na Vasom obrazku na konci dekoracie boli. Od coho to zalezi ci budu dekoracie, ci nie?

    Dakujem.

  • 25. 8. 2022 8:36

    Jan Pečiva

    Hm, trochu jsem pogooglil po netu a vypadá, že problém se objevil v posledním cmake 3.24.1. Mě se ale zdá, že je to bug v cmake. Nová policy pro CMP0057 je zde od verze 3.3 a CMP0003 od verze 2.6.0. Pokud tedy zavoláme cmake_policy(VER­SION 3.10.2), měly by tyto policies být automaticky nastaveny na NEW. A stránka https://cmake.org/cmake/help/latest/command/cmake_policy.html explicitně říká, že:

    Note that the cmake_minimum_required(VERSION) command implicitly calls cmake_policy(VERSION) too.

    A my v projektu voláme cmake_minimum_re­quired(VERSION 3.10.2). Buď mi něco uniká, nebo je to buga v cmake. Kdybyste ještě na něco přišel, napište.

  • 28. 8. 2022 23:37

    jEzEk

    Aha, tak to bude tym, ze sa neriadim navodom a skusam buildovat priamo z github repozitara a nie z .zip suboru.

    V githubovom CMakeLists.txt ten prikaz cmake_minimum_re­quired(VERSION 3.10.2) nie je, pridava sa az v make-zip.sh, ktory vytvare spomnany .zip subor s lekciou. Tam to funguje.

    Takze sa ospravedlnujem za pripomienku.

    Ale aj tak ma zaujuma to dekorovanie okien. V tomto priklade a aj v nasledujucom (12-resizableWindow) mi na waylandovom GNOME 42 (Manjaro Linux) otvori okno bez dekoracii. Teda bez hornej listy a okrajov. A teda okno sa neda ani presuvat, ani zmenit jeho velkost. Neviete co by to mohlo byt?

  • 3. 9. 2022 10:22

    Jan Pečiva

    Super. Záhada vyřešena. Ano, pokud kompilujete z githubu, musíte v cmake kompilovat všechny examples naráz. Abych se vyjádřil přesně: v cmake musíte nastavit cestu ke zdrojákům do kořene toho, co stáhnete z github. Tam je CMakeLists.txt, který obsahuje cmake_minimum_re­quired a který vám vytvoří solution pro všechny examply naráz. Pro aktivaci konkrétního examplu v MSVC na něj musíte kliknout pravým a vybrat "Set as Startup Project".

    Ohledně dekorací okna, pokusím se něco zjistit a odpovím v diskuzi následujícího článku, kde tato věc zazněla poprvé.