Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/sdk-1.3.261' into ubuntu/focal…
Browse files Browse the repository at this point in the history
…-unstable
  • Loading branch information
johnzupin committed Aug 16, 2023
2 parents 071b0b4 + 85c2334 commit 8437e5f
Show file tree
Hide file tree
Showing 72 changed files with 46,039 additions and 32,408 deletions.
8 changes: 8 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
# ~~~
# Copyright 2018-2023 The Khronos Group Inc.
# Copyright 2018-2023 Valve Corporation
# Copyright 2018-2023 LunarG, Inc.
#
# SPDX-License-Identifier: Apache-2.0
# ~~~

# See https://git-scm.com/docs/gitattributes
# See https://help.github.com/articles/dealing-with-line-endings/

Expand Down
1 change: 0 additions & 1 deletion .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ This repository is responsible for the following files

* BUILD.gn
* BUILD.md
* cmake/
* CMakeLists.txt
* tests/*
* CODE_OF_CONDUCT.md
Expand Down
1 change: 0 additions & 1 deletion .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ This repository is responsible for the following files
* BUILD.gn
* BUILD.md
* cmake/
* CMakeLists.txt
* tests/*
* CODE_OF_CONDUCT.md
Expand Down
58 changes: 42 additions & 16 deletions .github/workflows/linux.yml → .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,24 +1,17 @@
# Copyright (c) 2022-2023 LunarG, Inc.

# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
# Copyright 2022-2023 LunarG, Inc.
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# SPDX-License-Identifier: Apache-2.0

name: Linux
name: ci

on:
push:
pull_request:
branches:
- main

env:
CMAKE_GENERATOR: Ninja

permissions:
contents: read
Expand All @@ -32,7 +25,7 @@ jobs:
with:
cmakeVersion: 3.17.0
- name: Configure Vulkan-Headers
run: cmake -S . -B build -G "Ninja"
run: cmake -S . -B build
- name: Install Vulkan-Headers
run: cmake --install build --prefix ${{ github.workspace }}/build/install
- name: Test Vulkan-Headers find_package support
Expand All @@ -46,7 +39,23 @@ jobs:
with:
cmakeVersion: 3.25.0
- name: Configure Vulkan-Headers
run: cmake -S . -B build -D BUILD_TESTS=ON --log-level=DEBUG -G "Ninja"
run: cmake -S . -B build -D BUILD_TESTS=ON --log-level=DEBUG
- name: Build Vulkan-Headers Tests
run: cmake --build build

windows-cmake-tests:
runs-on: windows-latest
strategy:
matrix:
arch: [ amd64, amd64_x86 ]
steps:
- uses: actions/checkout@v3
- uses: lukka/get-cmake@latest
- uses: ilammy/msvc-dev-cmd@v1
with:
arch: ${{ matrix.arch }}
- name: Configure Vulkan-Headers
run: cmake -S . -B build -D BUILD_TESTS=ON --log-level=DEBUG
- name: Build Vulkan-Headers Tests
run: cmake --build build

Expand All @@ -58,6 +67,23 @@ jobs:
with:
cmakeVersion: 3.15.0
- name: Configure Vulkan-Headers
run: cmake -S . -B build/ -G "Ninja" --loglevel=DEBUG
run: cmake -S . -B build/ --loglevel=DEBUG
- name: Install Vulkan-Headers
run: cmake --install build/ --prefix build/install

ubuntu-cmake-add_subdirectory:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: lukka/get-cmake@latest
- name: Test add_subdirectory support
run: cmake -S tests/add_subdirectory -B tests/add_subdirectory/build
- name: Build
run: cmake --build tests/add_subdirectory/build

reuse:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: REUSE Compliance Check
uses: fsfe/reuse-action@v1
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
# ~~~
# Copyright 2018-2023 The Khronos Group Inc.
# Copyright 2018-2023 Valve Corporation
# Copyright 2018-2023 LunarG, Inc.
#
# SPDX-License-Identifier: Apache-2.0
# ~~~

# Python cache
__pycache__
*.pyc
Expand Down
15 changes: 15 additions & 0 deletions .reuse/dep5
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: Vulkan-Headers
Source: https://github.com/KhronosGroup/Vulkan-Headers

Files: registry/profiles/VP_KHR_roadmap_2022.json
Copyright: 2022-2023 The Khronos Group Inc.
License: Apache-2.0

Files: registry/validusage.json
Copyright: 2018-2023 The Khronos Group Inc.
License: Apache-2.0

Files: .github/ISSUE_TEMPLATE/bug_report.md .github/pull_request_template.md
Copyright: 2022-2023 The Khronos Group Inc.
License: Apache-2.0
16 changes: 3 additions & 13 deletions BUILD.gn
Original file line number Diff line number Diff line change
@@ -1,17 +1,7 @@
# Copyright (C) 2018-2023 The ANGLE Project Authors.
# Copyright (C) 2019-2023 LunarG, Inc.
# Copyright 2018-2023 The ANGLE Project Authors.
# Copyright 2019-2023 LunarG, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# SPDX-License-Identifier: Apache-2.0

import("//build_overrides/vulkan_headers.gni")

Expand Down
8 changes: 6 additions & 2 deletions BUILD.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
<!--
Copyright 2018-2023 The Khronos Group Inc.
SPDX-License-Identifier: Apache-2.0
-->

# Build Instructions

Instructions for building this repository.
Expand Down Expand Up @@ -36,7 +42,5 @@ find_package(VulkanHeaders REQUIRED CONFIG)
target_link_libraries(foobar PRIVATE Vulkan::Headers)
message(STATUS "Vulkan Headers Registry: ${VULKAN_HEADERS_REGISTRY_DIRECTORY}")
message(STATUS "Vulkan Headers Version: ${VulkanHeaders_VERSION}")
```
46 changes: 10 additions & 36 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,18 +1,9 @@
# ~~~
# Copyright (c) 2018-2023 Valve Corporation
# Copyright (c) 2018-2023 LunarG, Inc.
# Copyright 2018-2023 The Khronos Group Inc.
# Copyright 2018-2023 Valve Corporation
# Copyright 2018-2023 LunarG, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# SPDX-License-Identifier: Apache-2.0
# ~~~
cmake_minimum_required(VERSION 3.15...3.25)

Expand Down Expand Up @@ -61,34 +52,17 @@ if (PROJECT_IS_TOP_LEVEL)
include(GNUInstallDirs)
include(CMakePackageConfigHelpers)

set(VLK_REGISTRY_DIR "${CMAKE_INSTALL_DATADIR}/vulkan")

install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/include/vk_video" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/include/vulkan" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
# Preserve source permissions https://github.com/KhronosGroup/Vulkan-Headers/issues/336
install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/registry" DESTINATION ${VLK_REGISTRY_DIR} USE_SOURCE_PERMISSIONS)

set(cmake_files_install_dir ${CMAKE_INSTALL_DATADIR}/cmake/VulkanHeaders/)
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 VulkanHeadersTargets INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})

install(EXPORT VulkanHeadersTargets FILE VulkanHeadersTargets.cmake NAMESPACE "Vulkan::" DESTINATION ${cmake_files_install_dir})

set(vulkan_headers_config "${CMAKE_CURRENT_BINARY_DIR}/VulkanHeadersConfig.cmake")
set(VULKAN_HEADERS_REGISTRY_DIRECTORY "${VLK_REGISTRY_DIR}/registry")

configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/VulkanHeadersConfig.cmake.in ${vulkan_headers_config}
INSTALL_DESTINATION ${cmake_files_install_dir}
PATH_VARS VULKAN_HEADERS_REGISTRY_DIRECTORY
NO_SET_AND_CHECK_MACRO
NO_CHECK_REQUIRED_COMPONENTS_MACRO
)

set(config_version "${CMAKE_CURRENT_BINARY_DIR}/VulkanHeadersConfigVersion.cmake")

write_basic_package_version_file(${config_version} COMPATIBILITY SameMajorVersion ARCH_INDEPENDENT)
install(TARGETS Vulkan-Headers EXPORT VulkanHeadersConfig INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
install(EXPORT VulkanHeadersConfig NAMESPACE "Vulkan::" DESTINATION "share/cmake/VulkanHeaders")

install(FILES ${config_version} ${vulkan_headers_config} DESTINATION ${cmake_files_install_dir})
set(version_config "${CMAKE_CURRENT_BINARY_DIR}/generated/VulkanHeadersConfigVersion.cmake")
write_basic_package_version_file("${version_config}" COMPATIBILITY SameMajorVersion ARCH_INDEPENDENT)
install(FILES "${version_config}" DESTINATION "share/cmake/VulkanHeaders")
endif()
10 changes: 10 additions & 0 deletions CODE_OF_CONDUCT.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
// Copyright 2018-2023 The Khronos Group Inc.
// SPDX-License-Identifier: MIT

= Code of Conduct

A reminder that this repository is managed by the Khronos Group.
Interactions here should follow the
https://www.khronos.org/about/code-of-conduct[Khronos Code of Conduct],
which prohibits aggressive or derogatory language. Please keep the
discussion friendly and civil.
1 change: 0 additions & 1 deletion CODE_OF_CONDUCT.md

This file was deleted.

8 changes: 7 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
<!--
Copyright 2018-2023 The Khronos Group Inc.
SPDX-License-Identifier: Apache-2.0
-->

# CONTRIBUTING

Please note when contributing what files this repository actually is responsible for.
Expand All @@ -8,7 +14,6 @@ The majority for the Vulkan headers come from [Vulkan-Docs](https://github.com/K

* BUILD.gn
* BUILD.md
* cmake/
* CMakeLists.txt
* tests/*
* CODE_OF_CONDUCT.md
Expand All @@ -33,3 +38,4 @@ split into multiple files. All of those files are now included in this
repository.

* include/vulkan/*.hpp
* include/vulkan/*.cppm
6 changes: 6 additions & 0 deletions INTEGRATION.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
<!--
Copyright 2018-2023 The Khronos Group Inc.
SPDX-License-Identifier: Apache-2.0
-->

# Integrating Updated Vulkan Headers into Vulkan Repositories

- This guide assumes the [Vulkan-Headers](https://github.com/KhronosGroup/Vulkan-Headers), [Vulkan-Loader](https://github.com/KhronosGroup/Vulkan-Loader), [Vulkan-Tools](https://github.com/KhronosGroup/Vulkan-Tools), [Vulkan-ValidationLayers](https://github.com/KhronosGroup/Vulkan-ValidationLayers), [LunarG/VulkanSamples](https://github.com/LunarG/VulkanSamples), and [LunarG/VulkanTools](https://github.com/LunarG/VulkanTools) repositories have been cloned to a known directory on the system. If necessary, see the `BUILD.md` file in each repository for information on how to clone and build the projects.
Expand Down
18 changes: 18 additions & 0 deletions LICENSE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
Copyright 2015-2023 The Khronos Group Inc.

Files in this repository fall under one of these licenses:

- `Apache-2.0`
- `MIT`

Note: With the exception of `parse_dependency.py` the files using `MIT` license
also fall under `Apache-2.0`. Example:

```
SPDX-License-Identifier: Apache-2.0 OR MIT
```

Full license text of these licenses is available at:

* Apache-2.0: https://opensource.org/licenses/Apache-2.0
* MIT: https://opensource.org/licenses/MIT
File renamed without changes.
9 changes: 9 additions & 0 deletions LICENSES/MIT.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
MIT License

Copyright (c) 2015-2023 The Khronos Group Inc.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
31 changes: 29 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,34 @@
<!--
Copyright 2018-2023 The Khronos Group Inc.
SPDX-License-Identifier: Apache-2.0
-->

# Vulkan-Headers

Vulkan header files and API registry

This repository contains Vulkan header files, include files for C and C++,
and related scripts and tests.

Most of the files in this repository are sourced from, or generated from,
other repositories as described in [CONTRIBUTING.md](CONTRIBUTING.md).
Vulkan-Headers exists as a staging area for these files, most of which are
then consumed by downstream repositories used to build SDK components such
as the Vulkan Validation Layers and Conformance Test Suite.

Developers normally obtain headers from the official
[Vulkan-SDK](https://www.lunarg.com/vulkan-sdk/).
They can also use headers from, or packaged from, this repository.

In most cases, developers should only need the headers, not the scripts and
other material in this repository.
In particular if you are packaging the headers for inclusion in Linux
distributions or similar uses, we advise that you do not include the
scripts, and direct potential users of the scripts to their canonical
sources in the [Vulkan Specification
repository](https://github.com/KhronosGroup/Vulkan-Docs).

## Contributing

See the [CONTRIBUTING.md](CONTRIBUTING.md)
Expand All @@ -22,8 +49,8 @@ Vulkan-Headers are shipped as part of the official [Vulkan-SDK](https://www.luna

Updates to the `Vulkan-Headers` repository which correspond to a new Vulkan
specification release are tagged using the following format:
`v<`_`version`_`>` (e.g., `v1.1.96`).
`v<`_`version`_`>` (e.g., `v1.3.255`).

**Note**: Marked version releases have undergone thorough testing but do not
imply the same quality level as SDK tags. SDK tags follow the
`sdk-<`_`version`_`>.<`_`patch`_`>` format (e.g., `sdk-1.1.92.0`).
`sdk-<`_`version`_`>.<`_`patch`_`>` format (e.g., `sdk-1.3.250.0`).
11 changes: 11 additions & 0 deletions SECURITY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<!--
Copyright 2023 The Khronos Group Inc.
SPDX-License-Identifier: Apache-2.0
-->

# Security Policy

To report a security issue, please disclose it at [security advisory](https://github.com/KhronosGroup/Vulkan-Headers/security/advisories/new).

This project is maintained by a team of volunteers on a reasonable-effort basis. As such, please give us at least 90 days to work on a fix before public exposure.
5 changes: 0 additions & 5 deletions cmake/VulkanHeadersConfig.cmake.in

This file was deleted.

3 changes: 2 additions & 1 deletion include/vk_video/vulkan_video_codec_h264std.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,9 @@ extern "C" {



// vulkan_video_codec_h264std is a preprocessor guard. Do not pass it to API calls.
#define vulkan_video_codec_h264std 1
#include <stdint.h>
#include "vulkan_video_codecs_common.h"
#define STD_VIDEO_H264_CPB_CNT_LIST_SIZE 32
#define STD_VIDEO_H264_SCALING_LIST_4X4_NUM_LISTS 6
#define STD_VIDEO_H264_SCALING_LIST_4X4_NUM_ELEMENTS 16
Expand Down
Loading

0 comments on commit 8437e5f

Please sign in to comment.