mirror of
https://github.com/status-im/Vulkan-Docs.git
synced 2025-01-10 05:55:38 +00:00
279452463a
* Update release number to 92. Public Issues: * Move and modify valid usage statements dealing with pname:aspectMask in flink:vkCmdClearColorImage, flink:vkCmdClearDepthStencilImage, and slink:VkClearAttachment, so they are in places where all necessary information is available (public issue 529). * Fix math markup in <<textures-texel-anisotropic-filtering, Texel Anisotropic Filtering>> (public pull request 840). * Fix misspellings (public pull request 845). Internal Issues: * Add installation instructions and a Makefile "`chunked`" target for chunked HTML generation (internal issue 1352). * Fix pipeline mesh diagram style; also fix a minor bug in the classic pipeline diagram where vertex/index buffers wrongly fed into the vertex shader (internal issue 1436). * Make asciidoctor ERROR output raise an error, and don't suppress executed command output from CI make invocation (internal issue 1454). * Minor typo fixes and clarifications for `VK_NV_raytracing`. * Cleanup extension-specific properties ** Remove duplicated documentation for pname:maxDiscardRectangles, pname:pointClippingBehavior, and pname:maxVertexAttribDivisor (they shouldn't be documented with the other members of slink:VkPhysicalDeviceLimits at all). ** Remove duplicate anchor for pname:maxVertexAttribDivisor ** Consistently document stext:VkPhysicalDevice<Extension>PropertiesKHR *** Always document pname:sType/pname:pNext (was inconsistent before) *** Always mention chaining to slink:VkPhysicalDeviceProperties2 (and not as slink:VkPhysicalDeviceProperties2KHR) *** Always include Valid Usage statements last * Update Makefile 'checklinks' target and associated scripts, and fix markup problems identified by checkLinks.py, so that we can rely on the checklinks script as part of Gitlab CI.
100 lines
3.6 KiB
YAML
100 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 ruby
|
|
- apt-get install -y -qq cmake bison flex libffi-dev libxml2-dev libgdk-pixbuf2.0-dev libcairo2-dev libpango1.0-dev ttf-lyx
|
|
- gem install asciidoctor asciidoctor-mathematical coderay json-schema
|
|
script:
|
|
- ./makeAllExts QUIET= -j${nproc} -Otarget html styleguide registry manhtml manhtmlpages checkinc checklinks validusage
|
|
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
|
|
script:
|
|
- cd /tmp/Vulkan-Hpp
|
|
- cmake -H. -Bbuild
|
|
- make -C build
|
|
- cd build
|
|
- ./VulkanHppGenerator
|
|
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
|
|
h-compile:
|
|
stage: test
|
|
dependencies:
|
|
- spec-generate
|
|
before_script:
|
|
- apt-get update -qq
|
|
- apt-get install -y -qq gcc clang
|
|
- echo "#include <vulkan/vulkan.h>" > /tmp/htest.c
|
|
- echo "int main()" >> /tmp/htest.c
|
|
- echo "{" >> /tmp/htest.c
|
|
- echo " const VkInstanceCreateInfo instance_info = {" >> /tmp/htest.c
|
|
- echo " .sType = VK_STRUCTURE_TYPE_INSTANCE_CREATE_INFO," >> /tmp/htest.c
|
|
- echo " .pNext = NULL," >> /tmp/htest.c
|
|
- echo " .flags = 0," >> /tmp/htest.c
|
|
- echo " .pApplicationInfo = NULL," >> /tmp/htest.c
|
|
- echo " .enabledLayerCount = 0," >> /tmp/htest.c
|
|
- echo " .ppEnabledLayerNames = NULL," >> /tmp/htest.c
|
|
- echo " .enabledExtensionCount = 0," >> /tmp/htest.c
|
|
- echo " .ppEnabledExtensionNames = NULL," >> /tmp/htest.c
|
|
- echo " };" >> /tmp/htest.c
|
|
- echo " VkInstance instance;" >> /tmp/htest.c
|
|
- echo " vkCreateInstance(&instance_info, NULL, &instance);" >> /tmp/htest.c
|
|
- echo " vkDestroyInstance(instance, NULL);" >>/tmp/htest.c
|
|
- echo "}" >> /tmp/htest.c
|
|
script:
|
|
- gcc -c -std=c11 -Iinclude -Wall -Wextra -Werror /tmp/htest.c
|
|
- clang -c -std=c11 -Iinclude -Wall -Wextra -Werror /tmp/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
|
|
- echo "#include <vulkan/vulkan.hpp>" > /tmp/hpptest.cpp
|
|
- echo "int main()" >> /tmp/hpptest.cpp
|
|
- echo "{" >> /tmp/hpptest.cpp
|
|
- echo " auto const instance_info = vk::InstanceCreateInfo();" >> /tmp/hpptest.cpp
|
|
- echo " vk::Instance instance;" >> /tmp/hpptest.cpp
|
|
- echo " vk::createInstance(&instance_info, nullptr, &instance);" >> /tmp/hpptest.cpp
|
|
- echo "}" >> /tmp/hpptest.cpp
|
|
script:
|
|
- g++ -c -std=c++11 -Iinclude -IVulkan-Hpp -Wall -Wextra -Werror /tmp/hpptest.cpp
|
|
- clang++ -c -std=c++11 -Iinclude -IVulkan-Hpp -Wall -Wextra -Werror /tmp/hpptest.cpp
|
|
allow_failure: true
|