Skip to content

Update to v1.4.307 #1

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

Merged
merged 49 commits into from
Feb 7, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
46dc0f6
Update for Vulkan-Docs 1.3.279
oddhack Mar 1, 2024
f030d9d
build(deps): bump fsfe/reuse-action from 2 to 3
dependabot[bot] Mar 4, 2024
577baa0
Update for Vulkan-Docs 1.3.280
oddhack Mar 8, 2024
cfebfc9
Update for Vulkan-Docs 1.3.281
oddhack Mar 22, 2024
1e7b8a6
Update for Vulkan-Docs 1.3.282
oddhack Apr 14, 2024
eaa319d
Update for Vulkan-Docs 1.3.283
oddhack Apr 19, 2024
4bc77c2
Update for Vulkan-Docs 1.3.284
oddhack May 6, 2024
5677baf
Update for Vulkan-Docs 1.3.285
oddhack May 10, 2024
192d051
Update for Vulkan-Docs 1.3.286
oddhack May 31, 2024
d192041
Update for Vulkan-Docs 1.3.287
oddhack Jun 7, 2024
05fe2cc
Update for Vulkan-Docs 1.3.288
oddhack Jun 14, 2024
8f034f6
cmake: Allow external control of whether to test or install
dneto0 Feb 13, 2024
85256c7
Add `vulkan.cppm` as a separate library: `Vulkan::VulkanHppModule`
sharadhr Jun 14, 2024
a692a9c
ci: Add install step
charles-lunarg Jun 18, 2024
7dacb97
cmake: Remove explicit install of Vulkan-Module
charles-lunarg Jun 18, 2024
cde27c9
ci: Add explicit build step
charles-lunarg Jun 18, 2024
e3c37e6
cmake: Workaround MSVC module support compiler bug
charles-lunarg Jun 18, 2024
190d2cb
Update for Vulkan-Docs 1.3.289
oddhack Jun 28, 2024
67dcf56
Makefile to import generated scripts and headers when doing a spec up…
oddhack Jun 22, 2024
4b9ea26
Change name of update to Makefile.release
oddhack Jul 7, 2024
6c539b2
build(deps): bump fsfe/reuse-action from 3 to 4
dependabot[bot] Jul 8, 2024
78a92e2
build: Require MSVC 17.11 for module support
charles-lunarg Jul 10, 2024
f41928b
Update for Vulkan-Docs 1.3.290
oddhack Jul 12, 2024
5952791
Add windows clang & clang-cl CI jobs
charles-lunarg Jul 12, 2024
fc6c06a
Disable VulkanHppModule support in clang-cl
charles-lunarg Jul 12, 2024
b379292
cmake: Disable modules if clang-scan-deps is missing
charles-lunarg Jul 16, 2024
fabe9e2
Update for Vulkan-Docs 1.3.291
oddhack Jul 19, 2024
595c8d4
Update for Vulkan-Docs 1.3.292
oddhack Jul 27, 2024
d205aff
Update for Vulkan-Docs 1.3.293
oddhack Aug 16, 2024
a6a5dc0
Update for Vulkan-Docs 1.3.294
oddhack Aug 23, 2024
fbda054
Update for Vulkan-Docs 1.3.295
oddhack Aug 30, 2024
c6391a7
Fix MSVC identification for modules support
mikes-lunarg Aug 30, 2024
29f979e
Update for Vulkan-Docs 1.3.296
oddhack Sep 26, 2024
14345da
Update for Vulkan-Docs 1.3.297
oddhack Oct 4, 2024
d91597a
Update for Vulkan-Docs 1.3.298
oddhack Oct 11, 2024
b955ae0
Update for Vulkan-Docs 1.3.299
oddhack Oct 18, 2024
e271cfd
ci: Only run once if pushing to main repo branch
charles-lunarg Oct 22, 2024
ab1ea90
Update for Vulkan-Docs 1.3.300
oddhack Oct 25, 2024
f2eb740
build: Disable Vulkan-Module by default
charles-lunarg Oct 22, 2024
cbcad3c
Update for Vulkan-Docs 1.3.301
oddhack Nov 2, 2024
f864bc6
build(deps): bump fsfe/reuse-action from 4 to 5
dependabot[bot] Nov 18, 2024
36872f9
Update for Vulkan-Docs 1.3.302
oddhack Nov 21, 2024
9dff1f5
Fix GN include checks
ShabbyX Nov 28, 2024
49af1bf
Update for Vulkan-Docs 1.4.303
oddhack Dec 2, 2024
6a74a7d
Add missing validusage.json and fix Makefile.release for new registry…
oddhack Dec 4, 2024
d4a196d
Update for Vulkan-Docs 1.4.304
oddhack Dec 20, 2024
a03d2f6
Update for Vulkan-Docs 1.4.305
oddhack Jan 17, 2025
e43027a
Update for Vulkan-Docs 1.4.306
oddhack Jan 24, 2025
39f924b
Update for Vulkan-Docs 1.4.307
oddhack Jan 30, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 50 additions & 8 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,35 +7,77 @@ name: ci
on:
push:
pull_request:
branches:
- main

env:
CMAKE_GENERATOR: Ninja

permissions:
contents: read

jobs:
cmake:
cmake-unix:
runs-on: ${{ matrix.os }}
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
strategy:
matrix:
os: [ ubuntu-latest, macos-latest ]
cmake-version: [ '3.15', 'latest']
steps:
- uses: actions/checkout@v4
- uses: lukka/get-cmake@latest
with:
cmakeVersion: ${{ matrix.cmake-version }}
- uses: ilammy/msvc-dev-cmd@v1
- run: cmake -S . -B build -D VULKAN_HEADERS_ENABLE_TESTS=ON -D VULKAN_HEADERS_ENABLE_INSTALL=ON -G Ninja
- run: cmake --build ./build
- run: cmake --install build/ --prefix build/install
- run: ctest --output-on-failure
working-directory: build

cmake-windows:
runs-on: windows-latest
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
strategy:
matrix:
os: [ ubuntu-latest, windows-latest, macos-latest ]
cmake-version: [ '3.15', 'latest']
steps:
- uses: actions/checkout@v4
- uses: lukka/get-cmake@latest
with:
cmakeVersion: ${{ matrix.cmake-version }}
cmakeVersion: ${{ matrix.cmake-version }}
- uses: ilammy/msvc-dev-cmd@v1
- run: cmake -S . -B build -D BUILD_TESTS=ON -G Ninja
- run: cmake -S . -B build -D VULKAN_HEADERS_ENABLE_TESTS=ON -D VULKAN_HEADERS_ENABLE_INSTALL=ON -G Ninja
- run: cmake --build ./build
- run: cmake --install build/ --prefix build/install
- run: ctest --output-on-failure
working-directory: build

windows_clang:
runs-on: windows-2022
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
strategy:
matrix:
compiler: [ clang, clang-cl ]
steps:
- uses: actions/checkout@v4
- uses: ilammy/msvc-dev-cmd@v1
- run: |
cmake -S . -B build `
-D CMAKE_C_COMPILER=${{matrix.compiler}} `
-D CMAKE_CXX_COMPILER=${{matrix.compiler}} `
-D CMAKE_BUILD_TYPE=Release `
-D VULKAN_HEADERS_ENABLE_TESTS=ON `
-D VULKAN_HEADERS_ENABLE_INSTALL=ON `
-G Ninja
- run: cmake --build ./build
- run: cmake --install build/ --prefix build/install
- run: ctest --output-on-failure
working-directory: build

reuse:
runs-on: ubuntu-latest
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
steps:
- uses: actions/checkout@v4
- name: REUSE Compliance Check
uses: fsfe/reuse-action@v2
uses: fsfe/reuse-action@v5
1 change: 1 addition & 0 deletions BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ source_set("vulkan_headers") {
"include/vulkan/vulkan_core.h",
"include/vulkan/vulkan_screen.h",
"include/vk_video/vulkan_video_codec_av1std_decode.h",
"include/vk_video/vulkan_video_codec_av1std_encode.h",
"include/vk_video/vulkan_video_codec_av1std.h",
"include/vk_video/vulkan_video_codec_h264std_decode.h",
"include/vk_video/vulkan_video_codec_h264std_encode.h",
Expand Down
50 changes: 41 additions & 9 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
#
# SPDX-License-Identifier: Apache-2.0
# ~~~
cmake_minimum_required(VERSION 3.15...3.25)
cmake_minimum_required(VERSION 3.15)

# NOTE: Parsing the version like this is suboptimal but neccessary due to our release process:
# https://github.com/KhronosGroup/Vulkan-Headers/pull/346
Expand Down Expand Up @@ -36,24 +36,56 @@ function(vlk_get_header_version)
endfunction()
vlk_get_header_version()

project(VULKAN_HEADERS LANGUAGES C VERSION ${VK_VERSION_STRING})
project(VULKAN_HEADERS LANGUAGES C CXX VERSION ${VK_VERSION_STRING})

add_library(Vulkan-Headers INTERFACE)
add_library(Vulkan::Headers ALIAS Vulkan-Headers)
target_include_directories(Vulkan-Headers INTERFACE $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>)

if ((CMAKE_CXX_COMPILER_ID STREQUAL "MSVC" AND (MSVC_VERSION GREATER_EQUAL "1941")) OR
# clang-cl doesn't currently support modules
(CMAKE_CXX_COMPILER_ID STREQUAL "Clang"
AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "16.0"
AND (NOT CMAKE_C_COMPILER_FRONTEND_VARIANT MATCHES "MSVC")
AND (NOT CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS STREQUAL CMAKE_CXX_COMPILER_CLANG_SCAN_DEPS-NOTFOUND)) OR
(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "14.0"))
set(COMPILER_SUPPORTS_CXX_MODULES TRUE)
endif()

option(VULKAN_HEADERS_ENABLE_MODULE "Enables building of the Vulkan C++ module" OFF)

if (VULKAN_HEADERS_ENABLE_MODULE AND (NOT COMPILER_SUPPORTS_CXX_MODULES OR CMAKE_VERSION VERSION_LESS "3.28"))
message(WARNING "Vulkan C++ module support is requested but was disabled due to lacking support on this platform")
endif()

if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.28" AND VULKAN_HEADERS_ENABLE_MODULE AND COMPILER_SUPPORTS_CXX_MODULES)
add_library(Vulkan-Module)
add_library(Vulkan::VulkanHppModule ALIAS Vulkan-Module)
target_sources(Vulkan-Module
PUBLIC
FILE_SET module
TYPE CXX_MODULES
BASE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/include"
FILES "${CMAKE_CURRENT_SOURCE_DIR}/include/vulkan/vulkan.cppm"
)
target_compile_features(Vulkan-Module PUBLIC cxx_std_20)
target_link_libraries(Vulkan-Module PUBLIC Vulkan-Headers)
endif ()

if (CMAKE_VERSION VERSION_LESS "3.21")
# https://cmake.org/cmake/help/latest/variable/PROJECT_IS_TOP_LEVEL.html
string(COMPARE EQUAL ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_SOURCE_DIR} PROJECT_IS_TOP_LEVEL)
endif()

if (PROJECT_IS_TOP_LEVEL)
option(BUILD_TESTS "Build the tests")
if (BUILD_TESTS)
enable_testing()
add_subdirectory(tests)
endif()
option(VULKAN_HEADERS_ENABLE_TESTS "Test Vulkan-Headers" ${PROJECT_IS_TOP_LEVEL})
option(VULKAN_HEADERS_ENABLE_INSTALL "Install Vulkan-Headers" ${PROJECT_IS_TOP_LEVEL})

if (VULKAN_HEADERS_ENABLE_TESTS)
enable_testing() # This is only effective in the top level CMakeLists.txt file.
add_subdirectory(tests)
endif()

if (VULKAN_HEADERS_ENABLE_INSTALL)
include(GNUInstallDirs)
include(CMakePackageConfigHelpers)

Expand All @@ -63,8 +95,8 @@ if (PROJECT_IS_TOP_LEVEL)
install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/registry" DESTINATION "${CMAKE_INSTALL_DATADIR}/vulkan" USE_SOURCE_PERMISSIONS)

set_target_properties(Vulkan-Headers PROPERTIES EXPORT_NAME "Headers")

install(TARGETS Vulkan-Headers EXPORT VulkanHeadersConfig INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})

install(EXPORT VulkanHeadersConfig NAMESPACE "Vulkan::" DESTINATION "share/cmake/VulkanHeaders")

set(version_config "${CMAKE_CURRENT_BINARY_DIR}/generated/VulkanHeadersConfigVersion.cmake")
Expand Down
108 changes: 108 additions & 0 deletions Makefile.release
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
# Copyright 2024 The Khronos Group Inc.
# SPDX-License-Identifier: Apache-2.0

# Makefile.release - update external files generated in Vulkan spec
# repository when a public specification update is done.

# Needed to get the right version of test, apparently
SHELL = /bin/bash

REVISION = 999

# Location of other repository clones
GIT = ..
SPEC = $(GIT)/Vulkan-Docs
HPP = $(GIT)/Vulkan-Hpp
REGISTRY = $(GIT)/registry/vulkan

update: version-check create-branch update-files push-branch

# Working branch for the update, and a test if it exists
BRANCH = update-$(REVISION)

# Switch to new branch which will contain the update
create-branch: version-check
git switch -q main
git pull -q
# If branch already exists, do nothing
@if test `git branch -l $(BRANCH) | wc -l` == 1 ; then \
echo "Branch $(BRANCH) already exists" ; \
git switch $(BRANCH) ; \
else \
echo "Creating branch $(BRANCH)" ; \
git switch -c $(BRANCH) ; \
fi

# Update headers and scripts in the new branch
update-files: remove-files update-headers update-scripts

# Vulkan SC Vulkan-Hpp headers not published in the Vulkan-Headers repository
SCHPPFILES = \
include/vulkan/vulkansc.hpp \
include/vulkan/vulkansc.cppm \
include/vulkan/vulkansc_*.hpp

update-headers:
if test ! -d $(SPEC)/gen/include/ ; then \
echo "No C header file source directory $(SPEC)/gen/include" ; \
exit 1 ; \
fi
if test ! -d $(HPP)/vulkan ; then \
echo "No C++ header file source directory $(HPP)/vulkan" ; \
exit 1 ; \
fi
cp -r $(SPEC)/gen/include/* include/
cp -r $(HPP)/vulkan/* include/vulkan/
rm -f $(SCHPPFILES)

# Top-level scripts / XML to install
SCRIPTS = \
$(SPEC)/scripts/cgenerator.py \
$(SPEC)/scripts/generator.py \
$(SPEC)/scripts/parse_dependency.py \
$(SPEC)/scripts/reg.py \
$(SPEC)/scripts/stripAPI.py \
$(SPEC)/scripts/apiconventions.py \
$(SPEC)/scripts/vkconventions.py \
$(SPEC)/xml/vk.xml \
$(SPEC)/xml/video.xml \
$(REGISTRY)/specs/latest/validation/validusage.json

# Scripts in registry/spec_tools to install
SCRIPT_TOOLS = \
$(SPEC)/scripts/spec_tools/conventions.py \
$(SPEC)/scripts/spec_tools/util.py

# Profiles to install
PROFILES = \
$(wildcard $(SPEC)/xml/profiles/*)

update-scripts:
cp $(SCRIPTS) registry/
cp $(PROFILES) registry/profiles/
cp $(SCRIPT_TOOLS) registry/spec_tools/

# To ensure updates are caught, old versions of installed files are
# removed.

# Files in include/ to keep
HEADERS_KEEP = \
include/vulkan/vk_icd.h \
include/vulkan/vk_layer.h

remove-files:
rm -rf $(filter-out $(HEADERS_KEEP), $(wildcard include/vulkan/*))
rm -rf include/vk_video
rm -rf registry
mkdir include/vk_video registry registry/profiles registry/spec_tools

# Once the branch is updated, push it to upstream
# This does not actually push it for safety reasons
push-branch:
@echo Verify that all new files are 'git add'ed and obsolete files removed, then:
@echo git commit -m \"Update for Vulkan-Docs 1.3.$(REVISION)\"
@echo git push --set-upstream origin $(BRANCH)
@echo git switch main

version-check:
@if test $(REVISION) = 999 ; then echo "Must specify explicit REVISION= in make invocation" ; exit 1 ; fi
6 changes: 4 additions & 2 deletions include/vk_video/vulkan_video_codec_av1std.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#define VULKAN_VIDEO_CODEC_AV1STD_H_ 1

/*
** Copyright 2015-2024 The Khronos Group Inc.
** Copyright 2015-2025 The Khronos Group Inc.
**
** SPDX-License-Identifier: Apache-2.0
*/
Expand Down Expand Up @@ -132,7 +132,7 @@ typedef enum StdVideoAV1FrameRestorationType {

typedef enum StdVideoAV1ColorPrimaries {
STD_VIDEO_AV1_COLOR_PRIMARIES_BT_709 = 1,
STD_VIDEO_AV1_COLOR_PRIMARIES_BT_UNSPECIFIED = 2,
STD_VIDEO_AV1_COLOR_PRIMARIES_UNSPECIFIED = 2,
STD_VIDEO_AV1_COLOR_PRIMARIES_BT_470_M = 4,
STD_VIDEO_AV1_COLOR_PRIMARIES_BT_470_B_G = 5,
STD_VIDEO_AV1_COLOR_PRIMARIES_BT_601 = 6,
Expand All @@ -144,6 +144,8 @@ typedef enum StdVideoAV1ColorPrimaries {
STD_VIDEO_AV1_COLOR_PRIMARIES_SMPTE_432 = 12,
STD_VIDEO_AV1_COLOR_PRIMARIES_EBU_3213 = 22,
STD_VIDEO_AV1_COLOR_PRIMARIES_INVALID = 0x7FFFFFFF,
// STD_VIDEO_AV1_COLOR_PRIMARIES_BT_UNSPECIFIED is a deprecated alias
STD_VIDEO_AV1_COLOR_PRIMARIES_BT_UNSPECIFIED = STD_VIDEO_AV1_COLOR_PRIMARIES_UNSPECIFIED,
STD_VIDEO_AV1_COLOR_PRIMARIES_MAX_ENUM = 0x7FFFFFFF
} StdVideoAV1ColorPrimaries;

Expand Down
2 changes: 1 addition & 1 deletion include/vk_video/vulkan_video_codec_av1std_decode.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#define VULKAN_VIDEO_CODEC_AV1STD_DECODE_H_ 1

/*
** Copyright 2015-2024 The Khronos Group Inc.
** Copyright 2015-2025 The Khronos Group Inc.
**
** SPDX-License-Identifier: Apache-2.0
*/
Expand Down
Loading