mirror of
https://github.com/status-im/Vulkan-Docs.git
synced 2025-02-25 12:35:11 +00:00
* Update release number to 118. Github Issues: * Update `BUILD.adoc` to specifically require asciidoctor 1.5.8, and make that change to the gitlab CI script (public issue 968). * Remove redundant slink:VkSubpassDependency and slink:VkSubpassDependency2KHR valid usage statements (public pull request 995). * Clarify the <<vkGetInstanceProcAddr behavior>> and <<vkGetDeviceProcAddr behavior>> tables (public pull request 1004). * Fix use of nonexistent slink:VkSamplerYcbcrConversionImageFormatProperties::pname:maxCombinedImageSamplerDescriptorCount (public pull request 1010). * Use compatible pathlib for python2 (public pull request 1012). Internal Issues: * Mark the <<VK_KHR_vulkan_memory_model>> extension as no longer provisional in `vk.xml` (internal issue 1369). * Clarify that use-defined code:Input and code:Output variables cannot be code:Boolean in the <<interfaces-iointerfaces-user, User-defined Variable Interface>> section (internal issue 1663). * Fix naming inconsistencies in slink:VkPhysicalDevicePerformanceQueryFeaturesKHR, slink:VkPhysicalDevicePerformanceQueryPropertiesKHR, slink:VkQueryPoolPerformanceCreateInfoKHR, and associated enumerants (internal issue 1746). * Use ACM reference style for normative references (internal merge request 3256). * Explicitly list the features changed in Vulkan 1.1 in the <<features-requirements, Feature Requirements>> section and the <<versions, Core Revisions (Informative)>> appendix (internal merge request 3274). * Add the slink:VkPhysicalDeviceSubgroupSizeControlFeaturesEXT structure to the <<VK_EXT_subgroup_size_control>> extension, which was accidentally omitted in the initial release of the extension (internal merge request 3287). * Add missing slink:VkImageUsageFlag description for ename:VK_IMAGE_USAGE_FRAGMENT_DENSITY_MAP_BIT_EXT (internal merge request 3292). * Add valid usage statements to slink:VkAccelerationStructureInfoNV and flink:vkGetAccelerationStructureHandleNV to clarify usage of acceleration structure handle and geometries (internal merge request 3292). New Extensions: * `<<VK_AMD_shader_core_properties2>>` * `<<VK_AMD_pipeline_compiler_control>>`
99 lines
3.6 KiB
YAML
99 lines
3.6 KiB
YAML
# Gitlab CI file for vulkan spec and header generation
|
|
|
|
# Build the vulkan specification and generate any associated files (such as vulkan.h)
|
|
spec-generate:
|
|
stage: build
|
|
before_script:
|
|
- apt-get update -qq
|
|
- apt-get install -y -qq gcc git python3 python3-termcolor python3-pytest ruby jing
|
|
- apt-get install -y -qq cmake bison flex libffi-dev libxml2-dev libgdk-pixbuf2.0-dev libcairo2-dev libpango1.0-dev ttf-lyx
|
|
# Force-install an older version of i18n so the 1.5.2 version, which
|
|
# won't work with ruby 2.1, doesn't abort the CI job when installing
|
|
# other gems which need it.
|
|
- gem install i18n -v 1.5.1
|
|
- gem install asciidoctor -v 1.5.8
|
|
- gem -v
|
|
- gem install asciidoctor-mathematical coderay json-schema
|
|
script:
|
|
# Internal self-test of the check_spec_links script
|
|
- ( cd scripts && py.test-3 test*.py )
|
|
- mkdir -p out/checks
|
|
- scripts/check_spec_links.py --html=out/checks/problems.html > /dev/null || true
|
|
# Breaking the build if # of errors increases. We should manually ratchet ignore_count down as errors get fixed.
|
|
# If there are unfixable errors, add '--ignore_count #' where '#' is the
|
|
# number of them. This is a slightly crude way of enforcing "don't add
|
|
# errors" but simpler than the alternatives (running against master,
|
|
# diff, etc)
|
|
- scripts/check_spec_links.py -Werror --ignore_count 0 -Wno_refpage_missing_desc -Wno_refpage_xrefs -Wno_refpage_name -Wno_refpage_unknown_attrib
|
|
# Build the actual spec
|
|
- ./makeAllExts QUIET= -j${nproc} -Otarget validusage html styleguide registry manhtmlpages
|
|
# Build headers, for use by all later stages
|
|
- ( cd xml && make validate test install )
|
|
artifacts:
|
|
when: always
|
|
paths:
|
|
- include/
|
|
- src/
|
|
- out/
|
|
expire_in: 1 month
|
|
|
|
# Generate the vulkan C++ header (vulkan.hpp)
|
|
hpp-generate:
|
|
stage: build
|
|
image: ubuntu:16.04
|
|
before_script:
|
|
- SPEC_DIR="${PWD}"
|
|
- apt-get update -qq
|
|
- apt-get install -y -qq cmake git g++
|
|
- cd /tmp
|
|
- rm -rf Vulkan-Hpp
|
|
- git clone https://github.com/KhronosGroup/Vulkan-Hpp.git
|
|
- cd Vulkan-Hpp
|
|
- git submodule update --init --recursive -- tinyxml2
|
|
- rm -rf Vulkan-Docs
|
|
- cp -r "${SPEC_DIR}" Vulkan-Docs
|
|
# Copy Vulkan C headers into subdir copy used by Vulkan-Hpp
|
|
- cp -p ${SPEC_DIR}/include/vulkan/*.h Vulkan-Docs/include/vulkan/
|
|
script:
|
|
- cd /tmp/Vulkan-Hpp
|
|
- cmake -H. -Bbuild
|
|
- make -C build
|
|
- cd build
|
|
- ./VulkanHppGenerator "${SPEC_DIR}"/xml/vk.xml
|
|
after_script:
|
|
- mkdir -p Vulkan-Hpp/vulkan/
|
|
- cp /tmp/Vulkan-Hpp/vulkan/vulkan.hpp Vulkan-Hpp/vulkan/
|
|
artifacts:
|
|
paths:
|
|
- Vulkan-Hpp/vulkan/
|
|
expire_in: 1 month
|
|
allow_failure: true
|
|
|
|
# Compile a simple test program that uses vulkan.h
|
|
# The fake platform headers in tests/ allow compiling with all Vulkan
|
|
# platforms at once.
|
|
h-compile:
|
|
stage: test
|
|
dependencies:
|
|
- spec-generate
|
|
before_script:
|
|
- apt-get update -qq
|
|
- apt-get install -y -qq gcc clang
|
|
script:
|
|
- gcc -c -std=c11 -Iinclude -Itests -Wall -Wextra -Werror tests/htest.c
|
|
- clang -c -std=c11 -Iinclude -Itests -Wall -Wextra -Werror tests/htest.c
|
|
|
|
# Compile a simple test program that uses vulkan.hpp
|
|
hpp-compile:
|
|
stage: test
|
|
dependencies:
|
|
- spec-generate
|
|
- hpp-generate
|
|
before_script:
|
|
- apt-get update -qq
|
|
- apt-get install -y -qq g++ clang
|
|
script:
|
|
- g++ -c -std=c++11 -Iinclude -IVulkan-Hpp -Wall -Wextra -Werror tests/hpptest.cpp
|
|
- clang++ -c -std=c++11 -Iinclude -IVulkan-Hpp -Wall -Wextra -Werror tests/hpptest.cpp
|
|
allow_failure: true
|