Skip to content

Commit

Permalink
3rdParty: add dependencies to rt64
Browse files Browse the repository at this point in the history
  • Loading branch information
Rosalie241 committed May 26, 2024
1 parent 743fb3e commit 42b7de2
Show file tree
Hide file tree
Showing 4,145 changed files with 1,673,354 additions and 14 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
1 change: 0 additions & 1 deletion Source/3rdParty/rt64/src/contrib/D3D12MemoryAllocator
Submodule D3D12MemoryAllocator deleted from 55ad7a
1 change: 0 additions & 1 deletion Source/3rdParty/rt64/src/contrib/Vulkan-Headers
Submodule Vulkan-Headers deleted from 31aa7f
24 changes: 24 additions & 0 deletions Source/3rdParty/rt64/src/contrib/Vulkan-Headers/.gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# ~~~
# 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/

# Default behavior, if core.autocrlf is unset.
* text=auto

# Files to be converted to native line endings on checkout.
*.cpp text
*.h text

# Text files to always have CRLF (dos) line endings on checkout.
*.bat text eol=crlf

# Text files to always have LF (unix) line endings on checkout.
*.sh text eol=lf

Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: ''

---

**Is this issue appropriate for the repository?**

Vulkan-Headers exists as a publishing mechanism for headers and related material sourced from multiple other repositories. If you have a problem with that material, it should *not* be reported here, but in the appropriate repository:

This repository is responsible for the following files

* BUILD.gn
* BUILD.md
* CMakeLists.txt
* tests/*
* CODE_OF_CONDUCT.md
* LICENSE.txt
* README.md
* Non-API headers
* include/vulkan/vk_icd.h
* include/vulkan/vk_layer.h

**Describe the bug**

A clear and concise description of what the bug is. Please refer to specific files that are only in this repository, not copied from Vulkan-Docs or Vulkan-Hpp.

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Additional context**
Add any other context about the problem here.

**Code**

<details>
<summary>code or terminal output</summary>

```cpp
int main()
{
return 0;
}
```

</details>
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# ~~~
# Copyright 2023 LunarG, Inc.
#
# SPDX-License-Identifier: Apache-2.0
# ~~~
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
open-pull-requests-limit: 3
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<!-- Please note when contributing what files this repository actually is responsible for.
Vulkan-Headers exists as a publishing mechanism for headers and related material sourced from multiple other repositories. If you have a problem with that material, it should *not* be reported here, but in the appropriate repository:
This repository is responsible for the following files
* BUILD.gn
* BUILD.md
* CMakeLists.txt
* tests/*
* CODE_OF_CONDUCT.md
* LICENSE.txt
* README.md
* Non-API headers
* include/vulkan/vk_icd.h
* include/vulkan/vk_layer.h
-->
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Copyright 2022-2023 LunarG, Inc.
#
# SPDX-License-Identifier: Apache-2.0

name: ci

on:
push:
pull_request:
branches:
- main

env:
CMAKE_GENERATOR: Ninja

permissions:
contents: read

jobs:
cmake:
runs-on: ${{ matrix.os }}
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 }}
- uses: ilammy/msvc-dev-cmd@v1
- run: cmake -S . -B build -D BUILD_TESTS=ON -G Ninja
- run: ctest --output-on-failure
working-directory: build

reuse:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: REUSE Compliance Check
uses: fsfe/reuse-action@v2
14 changes: 14 additions & 0 deletions Source/3rdParty/rt64/src/contrib/Vulkan-Headers/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# ~~~
# 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
build
.vscode/
**/.*.swp
15 changes: 15 additions & 0 deletions Source/3rdParty/rt64/src/contrib/Vulkan-Headers/.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.json
Copyright: 2022-2024 The Khronos Group Inc.
License: Apache-2.0

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

Files: .github/ISSUE_TEMPLATE/bug_report.md .github/pull_request_template.md
Copyright: 2022-2024 The Khronos Group Inc.
License: Apache-2.0
70 changes: 70 additions & 0 deletions Source/3rdParty/rt64/src/contrib/Vulkan-Headers/BUILD.gn
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# Copyright 2018-2023 The ANGLE Project Authors.
# Copyright 2019-2023 LunarG, Inc.
#
# SPDX-License-Identifier: Apache-2.0

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

config("vulkan_headers_config") {
include_dirs = [ "include" ]
defines = []

if (is_win) {
defines += [ "VK_USE_PLATFORM_WIN32_KHR" ]
}
if (defined(vulkan_use_x11) && vulkan_use_x11) {
defines += [ "VK_USE_PLATFORM_XCB_KHR" ]
}
if (defined(vulkan_use_wayland) && vulkan_use_wayland) {
defines += [ "VK_USE_PLATFORM_WAYLAND_KHR" ]
if (defined(vulkan_wayland_include_dirs)) {
include_dirs += vulkan_wayland_include_dirs
}
}
if (is_android) {
defines += [ "VK_USE_PLATFORM_ANDROID_KHR" ]
}
if (is_fuchsia) {
defines += [ "VK_USE_PLATFORM_FUCHSIA" ]
}
if (is_apple) {
defines += [ "VK_USE_PLATFORM_METAL_EXT" ]
}
if (is_mac) {
defines += [ "VK_USE_PLATFORM_MACOS_MVK" ]
}
if (is_ios) {
defines += [ "VK_USE_PLATFORM_IOS_MVK" ]
}
if (defined(is_ggp) && is_ggp) {
defines += [ "VK_USE_PLATFORM_GGP" ]
}
if (is_clang) {
cflags = [
"-Wno-redundant-parens",
]
}
}

# Vulkan headers only, no compiled sources.
source_set("vulkan_headers") {
sources = [
"include/vulkan/vk_icd.h",
"include/vulkan/vk_layer.h",
"include/vulkan/vk_platform.h",
"include/vulkan/vulkan.h",
"include/vulkan/vulkan.hpp",
"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.h",
"include/vk_video/vulkan_video_codec_h264std_decode.h",
"include/vk_video/vulkan_video_codec_h264std_encode.h",
"include/vk_video/vulkan_video_codec_h264std.h",
"include/vk_video/vulkan_video_codec_h265std_decode.h",
"include/vk_video/vulkan_video_codec_h265std_encode.h",
"include/vk_video/vulkan_video_codec_h265std.h",
"include/vk_video/vulkan_video_codecs_common.h",
]
public_configs = [ ":vulkan_headers_config" ]
}
46 changes: 46 additions & 0 deletions Source/3rdParty/rt64/src/contrib/Vulkan-Headers/BUILD.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
<!--
Copyright 2018-2023 The Khronos Group Inc.
SPDX-License-Identifier: Apache-2.0
-->

# Build Instructions

Instructions for building this repository.

```bash
git clone https://github.com/KhronosGroup/Vulkan-Headers.git

cd Vulkan-Headers/

# Configure the project
cmake -S . -B build/

# Because Vulkan-Headers is header only we don't need to build anything.
# Users can install it where they need to.
cmake --install build --prefix build/install
```

See the official [CMake documentation](https://cmake.org/cmake/help/latest/index.html) for more information.

## Installed Files

The `install` target installs the following files under the directory
indicated by *install_dir*:

- *install_dir*`/include/vulkan` : The header files found in the
`include/vulkan` directory of this repository
- *install_dir*`/share/cmake/VulkanHeaders`: The CMake config files needed
for find_package support
- *install_dir*`/share/vulkan/registry` : The registry files found in the
`registry` directory of this repository

## Usage in CMake

```cmake
find_package(VulkanHeaders REQUIRED CONFIG)
target_link_libraries(foobar PRIVATE Vulkan::Headers)
message(STATUS "Vulkan Headers Version: ${VulkanHeaders_VERSION}")
```
73 changes: 73 additions & 0 deletions Source/3rdParty/rt64/src/contrib/Vulkan-Headers/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# ~~~
# Copyright 2018-2023 The Khronos Group Inc.
# Copyright 2018-2023 Valve Corporation
# Copyright 2018-2023 LunarG, Inc.
#
# SPDX-License-Identifier: Apache-2.0
# ~~~
cmake_minimum_required(VERSION 3.15...3.25)

# NOTE: Parsing the version like this is suboptimal but neccessary due to our release process:
# https://github.com/KhronosGroup/Vulkan-Headers/pull/346
#
# As shown a more robust approach would be just to add basic test code to check the project version.
function(vlk_get_header_version)
set(vulkan_core_header_file "${CMAKE_CURRENT_SOURCE_DIR}/include/vulkan/vulkan_core.h")
if (NOT EXISTS ${vulkan_core_header_file})
message(FATAL_ERROR "Couldn't find vulkan_core.h!")
endif()

file(READ ${vulkan_core_header_file} ver)

if (ver MATCHES "#define[ ]+VK_HEADER_VERSION_COMPLETE[ ]+VK_MAKE_API_VERSION\\([ ]*[0-9]+,[ ]*([0-9]+),[ ]*([0-9]+),[ ]*VK_HEADER_VERSION[ ]*\\)")
set(MAJOR_VERSION "${CMAKE_MATCH_1}")
set(MINOR_VERSION "${CMAKE_MATCH_2}")
else()
message(FATAL_ERROR "Couldn't get major/minor version")
endif()

if (ver MATCHES "#define[ ]+VK_HEADER_VERSION[ ]+([0-9]+)")
set(PATCH_VERSION "${CMAKE_MATCH_1}")
else()
message(FATAL_ERROR "Couldn't get the patch version")
endif()

set(VK_VERSION_STRING "${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH_VERSION}" PARENT_SCOPE)
endfunction()
vlk_get_header_version()

project(VULKAN_HEADERS LANGUAGES C 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_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()

include(GNUInstallDirs)
include(CMakePackageConfigHelpers)

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 "${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")
write_basic_package_version_file("${version_config}" COMPATIBILITY SameMajorVersion ARCH_INDEPENDENT)
install(FILES "${version_config}" DESTINATION "share/cmake/VulkanHeaders")
endif()
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.
Loading

0 comments on commit 42b7de2

Please sign in to comment.