Skip to content

Commit e86cd1a

Browse files
Fix Loader link everywhere (#296)
1 parent 09f31e5 commit e86cd1a

File tree

6 files changed

+14
-14
lines changed

6 files changed

+14
-14
lines changed

chapters/layers.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ Layers are optional components that augment the Vulkan system. They can intercep
1111

1212
== Using Layers
1313

14-
Layers are packaged as shared libraries that get dynamically loaded in by the loader and inserted between it and the application. The two things needed to use layers are the location of the binary files and which layers to enable. The layers to use can be either explicitly enabled by the application or implicitly enabled by telling the loader to use them. More details about implicit and explicit layers can be found in the link:https://github.com/KhronosGroup/Vulkan-Loader/blob/main/loader/LoaderAndLayerInterface.md#implicit-vs-explicit-layers[Loader and Layer Interface].
14+
Layers are packaged as shared libraries that get dynamically loaded in by the loader and inserted between it and the application. The two things needed to use layers are the location of the binary files and which layers to enable. The layers to use can be either explicitly enabled by the application or implicitly enabled by telling the loader to use them. More details about implicit and explicit layers can be found in the link:https://github.com/KhronosGroup/Vulkan-Loader/blob/main/docs/LoaderApplicationInterface.md#implicit-vs-explicit-layers[Loader and Layer Interface].
1515

1616
The link:https://vulkan.lunarg.com/sdk/home[Vulkan SDK] contains a link:https://vulkan.lunarg.com/doc/sdk/latest/windows/layer_configuration.html[layer configuration document] that is very specific to how to discover and configure layers on each of the platforms.
1717

@@ -26,7 +26,7 @@ There used to be both instance layers and device layers, but device layers were
2626

2727
== Creating a Layer
2828

29-
Anyone can create a layer as long as it follows the link:https://github.com/KhronosGroup/Vulkan-Loader/blob/main/loader/LoaderAndLayerInterface.md#loader-and-layer-interface[loader to layer interface] which is how the loader and layers agree to communicate with each other.
29+
Anyone can create a layer as long as it follows the link:https://github.com/KhronosGroup/Vulkan-Loader/blob/main/docs/LoaderApplicationInterface.md#loader-and-layer-interface[loader to layer interface] which is how the loader and layers agree to communicate with each other.
3030

3131
== Platform Variations
3232

chapters/loader.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Anyone can create their own Vulkan Loader, as long as they follow the link:https
1515

1616
== Linking Against the Loader
1717

18-
The link:https://github.com/KhronosGroup/Vulkan-Headers[Vulkan headers] only provide the Vulkan function prototypes. When building a Vulkan application you have to link it to the loader or you will get errors about undefined references to the Vulkan functions. There are two ways of linking the loader, link:https://github.com/KhronosGroup/Vulkan-Loader/blob/main/loader/LoaderAndLayerInterface.md#directly-linking-to-the-loader[directly] and link:https://github.com/KhronosGroup/Vulkan-Loader/blob/main/loader/LoaderAndLayerInterface.md#indirectly-linking-to-the-loader[indirectly], which should not be confused with "`static and dynamic linking`".
18+
The link:https://github.com/KhronosGroup/Vulkan-Headers[Vulkan headers] only provide the Vulkan function prototypes. When building a Vulkan application you have to link it to the loader or you will get errors about undefined references to the Vulkan functions. There are two ways of linking the loader, link:https://github.com/KhronosGroup/Vulkan-Loader/blob/main/docs/LoaderApplicationInterface.md#directly-linking-to-the-loader[directly] and link:https://github.com/KhronosGroup/Vulkan-Loader/blob/main/docs/LoaderApplicationInterface.md#indirectly-linking-to-the-loader[indirectly], which should not be confused with "`static and dynamic linking`".
1919

2020
* link:https://github.com/KhronosGroup/Vulkan-Loader/blob/main/docs/LoaderApplicationInterface.md#directly-linking-to-the-loader[Directly linking] at compile time
2121
** This requires having a built Vulkan Loader (either as a static or dynamic library) that your build system can find.

lang/jp/chapters/layers.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ ifndef::chapters[:chapters:]
1010

1111
== レイヤの使い方
1212

13-
レイヤは共有ライブラリとしてパッケージ化されており、ローダによって動的に読み込まれ、ローダとアプリケーションの間に挿入されます。レイヤを使用するために必要なのは、バイナリファイルの場所と、どのレイヤを有効にするかという2点です。使用するレイヤには、アプリケーションが明示的に使用するものと、ローダに指示して暗黙的に使用するものがあります。暗黙的なレイヤと明示的なレイヤの詳細については、link:https://github.com/KhronosGroup/Vulkan-Loader/blob/main/loader/LoaderAndLayerInterface.md#implicit-vs-explicit-layers[ローダとレイヤのインターフェイス]を参照してください。
13+
レイヤは共有ライブラリとしてパッケージ化されており、ローダによって動的に読み込まれ、ローダとアプリケーションの間に挿入されます。レイヤを使用するために必要なのは、バイナリファイルの場所と、どのレイヤを有効にするかという2点です。使用するレイヤには、アプリケーションが明示的に使用するものと、ローダに指示して暗黙的に使用するものがあります。暗黙的なレイヤと明示的なレイヤの詳細については、link:https://github.com/KhronosGroup/Vulkan-Loader/blob/main/docs/LoaderApplicationInterface.md#implicit-vs-explicit-layers[ローダとレイヤのインターフェイス]を参照してください。
1414

1515
link:https://vulkan.lunarg.com/sdk/home[Vulkan SDK] には、各プラットフォームでのレイヤの検出と設定方法に特化したlink:https://vulkan.lunarg.com/doc/sdk/latest/windows/layer_configuration.html[レイヤ設定ドキュメント]が含まれています。
1616

@@ -24,7 +24,7 @@ Windows、Linux、macOS の開発者は、Vulkan Configurator(vkconfig)を
2424

2525
== レイヤの作成
2626

27-
ローダとレイヤが相互に通信することに同意する方法であるlink:https://github.com/KhronosGroup/Vulkan-Loader/blob/main/loader/LoaderAndLayerInterface.md#loader-and-layer-interface[ローダからレイヤへのインターフェイス]に従う限り、誰でもレイヤを作成することができます。
27+
ローダとレイヤが相互に通信することに同意する方法であるlink:https://github.com/KhronosGroup/Vulkan-Loader/blob/main/docs/LoaderApplicationInterface.md#loader-and-layer-interface[ローダからレイヤへのインターフェイス]に従う限り、誰でもレイヤを作成することができます。
2828

2929
== プラットフォームのバリエーション
3030

lang/jp/chapters/loader.adoc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,16 @@ ifndef::chapters[:chapters:]
1010

1111
image::../../../chapters/images/loader_overview.png[loader_overview.png]
1212

13-
link:https://github.com/KhronosGroup/Vulkan-Loader/blob/main/loader/LoaderAndLayerInterface.md[ローダインターフェイス]に沿っていれば、誰でも独自の Vulkan Loader を作ることができます。link:https://github.com/KhronosGroup/Vulkan-Loader/blob/main/BUILD.md[リファレンスローダ]をビルドすることもできますし、特定のプラットフォーム用の link:https://vulkan.lunarg.com/sdk/home[Vulkan SDK] からビルドされたバージョンを取得することもできます。
13+
link:https://github.com/KhronosGroup/Vulkan-Loader/blob/main/docs/LoaderApplicationInterface.md[ローダインターフェイス]に沿っていれば、誰でも独自の Vulkan Loader を作ることができます。link:https://github.com/KhronosGroup/Vulkan-Loader/blob/main/BUILD.md[リファレンスローダ]をビルドすることもできますし、特定のプラットフォーム用の link:https://vulkan.lunarg.com/sdk/home[Vulkan SDK] からビルドされたバージョンを取得することもできます。
1414

1515
== ローダへのリンク
1616

17-
link:https://github.com/KhronosGroup/Vulkan-Headers[Vulkan ヘッダ]は、Vulkan 関数のプロトタイプを提供するだけです。Vulkan アプリケーションをビルドする際には、ローダにリンクしなければ、Vulkan 関数への未定義の参照に関するエラーが発生します。ローダをリンクするには、link:https://github.com/KhronosGroup/Vulkan-Loader/blob/main/loader/LoaderAndLayerInterface.md#directly-linking-to-the-loader[直接リンク]とlink:https://github.com/KhronosGroup/Vulkan-Loader/blob/main/loader/LoaderAndLayerInterface.md#indirectly-linking-to-the-loader[間接リンク]の2つの方法がありますが、これを「静的リンクと動的リンク」と混同してはいけません。
17+
link:https://github.com/KhronosGroup/Vulkan-Headers[Vulkan ヘッダ]は、Vulkan 関数のプロトタイプを提供するだけです。Vulkan アプリケーションをビルドする際には、ローダにリンクしなければ、Vulkan 関数への未定義の参照に関するエラーが発生します。ローダをリンクするには、link:https://github.com/KhronosGroup/Vulkan-Loader/blob/main/docs/LoaderApplicationInterface.md#directly-linking-to-the-loader[直接リンク]とlink:https://github.com/KhronosGroup/Vulkan-Loader/blob/main/docs/LoaderApplicationInterface.md#indirectly-linking-to-the-loader[間接リンク]の2つの方法がありますが、これを「静的リンクと動的リンク」と混同してはいけません。
1818

19-
* コンパイル時のlink:https://github.com/KhronosGroup/Vulkan-Loader/blob/main/loader/LoaderAndLayerInterface.md#directly-linking-to-the-loader[直接リンク]
19+
* コンパイル時のlink:https://github.com/KhronosGroup/Vulkan-Loader/blob/main/docs/LoaderApplicationInterface.md#directly-linking-to-the-loader[直接リンク]
2020
** このためには、ビルドシステムが見つけることのできる、ビルドされた Vulkan Loader(静的または動的ライブラリ)が必要です。
2121
** ビルドシステム(Visual Studio、CMakeなど)には、ライブラリへのリンク方法に関するドキュメントがあります。オンラインで "(InsertBuildSystem) link to external library" と検索してみてください。
22-
* 実行時のlink:https://github.com/KhronosGroup/Vulkan-Loader/blob/main/loader/LoaderAndLayerInterface.md#indirectly-linking-to-the-loader[間接リンク]
22+
* 実行時のlink:https://github.com/KhronosGroup/Vulkan-Loader/blob/main/docs/LoaderApplicationInterface.md#indirectly-linking-to-the-loader[間接リンク]
2323
** 動的シンボルルックアップ( `dlsym` や `dlopen` などのシステムコールを用いる)を使用することで、アプリケーションは独自のディスパッチテーブルを初期化することができます。これにより、ローダが見つからない場合はアプリケーションが正常に失敗できます。また、アプリケーションが Vulkan 関数を呼び出すための最速のメカニズムを提供します。
2424
** link:https://github.com/zeux/volk/[Volk]は、このプロセスを簡素化するためのメタローダのオープンソース実装です。
2525

lang/kor/chapters/layers.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ ifndef::images[:images: images/]
1111

1212
== 레이어 사용
1313

14-
레이어는 공유 라이브러리로 패키지화되어 있으며, 로더에 의해 동적으로 읽혀 로더와 애플리케이션 사이에 삽입됩니다. 레이어를 사용하는 데 필요한 두 가지 요소는 바이너리 파일의 위치와 활성화할 레이어입니다. 사용할 레이어는 애플리케이션에서 명시적으로 활성화하거나 로더에 레이어를 사용하도록 지시하여 암시적으로 활성화할 수 있습니다. 암시적 명시적 레이어에 대한 자세한 내용은 link:https://github.com/KhronosGroup/Vulkan-Loader/blob/main/loader/LoaderAndLayerInterface.md#implicit-vs-explicit-layers[로더 및 레이어 인터페이스]에서 확인할 수 있습니다.
14+
레이어는 공유 라이브러리로 패키지화되어 있으며, 로더에 의해 동적으로 읽혀 로더와 애플리케이션 사이에 삽입됩니다. 레이어를 사용하는 데 필요한 두 가지 요소는 바이너리 파일의 위치와 활성화할 레이어입니다. 사용할 레이어는 애플리케이션에서 명시적으로 활성화하거나 로더에 레이어를 사용하도록 지시하여 암시적으로 활성화할 수 있습니다. 암시적 명시적 레이어에 대한 자세한 내용은 link:https://github.com/KhronosGroup/Vulkan-Loader/blob/main/docs/LoaderApplicationInterface.md#implicit-vs-explicit-layers[로더 및 레이어 인터페이스]에서 확인할 수 있습니다.
1515

1616
link:https://vulkan.lunarg.com/sdk/home[Vulkan SDK]에는 각 플랫폼에서 레이어를 검색하고 구성하는 방법에 대해 매우 구체적으로 설명하는 link:https://vulkan.lunarg.com/doc/sdk/latest/windows/layer_configuration.html[레이어 구성 문서]가 포함되어 있습니다.
1717

@@ -26,7 +26,7 @@ Vulkan Configurator 사용에 대한 자세한 내용은 link:https://vulkan.lun
2626

2727
== 레이어 작성
2828

29-
로더와 레이어가 서로 통신하기로 합의하는 방식인 link:https://github.com/KhronosGroup/Vulkan-Loader/blob/main/loader/LoaderAndLayerInterface.md#loader-and-layer-interface[로더-레이어 인터페이스]를 따르기만 하면 누구나 레이어를 만들 수 있습니다.
29+
로더와 레이어가 서로 통신하기로 합의하는 방식인 link:https://github.com/KhronosGroup/Vulkan-Loader/blob/main/docs/LoaderApplicationInterface.md#loader-and-layer-interface[로더-레이어 인터페이스]를 따르기만 하면 누구나 레이어를 만들 수 있습니다.
3030

3131
== 다양한 플랫폼
3232

lang/kor/chapters/loader.adoc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,12 @@ link:https://github.com/KhronosGroup/Vulkan-Loader/blob/main/docs/LoaderInterfac
1515

1616
== 로더 링크
1717

18-
link:https://github.com/KhronosGroup/Vulkan-Headers[Vulkan 헤더]는 Vulkan 함수 프로토타입만 제공합니다. Vulkan 애플리케이션을 빌드할 때 로더에 연결해야 하며, 그렇지 않으면 Vulkan 함수에 대한 정의되지 않은 참조에 대한 오류가 발생합니다. 로더를 연결하는 방법에는 link:https://github.com/KhronosGroup/Vulkan-Loader/blob/main/loader/LoaderAndLayerInterface.md#directly-linking-to-the-loader[직접] 및 link:https://github.com/KhronosGroup/Vulkan-Loader/blob/main/loader/LoaderAndLayerInterface.md#indirectly-linking-to-the-loader[간접] 두 가지가 있으며, 이를 "`정적 및 동적 연결`" 과 혼동해서는 안 됩니다.
18+
link:https://github.com/KhronosGroup/Vulkan-Headers[Vulkan 헤더]는 Vulkan 함수 프로토타입만 제공합니다. Vulkan 애플리케이션을 빌드할 때 로더에 연결해야 하며, 그렇지 않으면 Vulkan 함수에 대한 정의되지 않은 참조에 대한 오류가 발생합니다. 로더를 연결하는 방법에는 link:https://github.com/KhronosGroup/Vulkan-Loader/blob/main/docs/LoaderApplicationInterface.md#directly-linking-to-the-loader[직접] 및 link:https://github.com/KhronosGroup/Vulkan-Loader/blob/main/docs/LoaderApplicationInterface.md#indirectly-linking-to-the-loader[간접] 두 가지가 있으며, 이를 "`정적 및 동적 연결`" 과 혼동해서는 안 됩니다.
1919

20-
* 컴파일 시 link:https://github.com/KhronosGroup/Vulkan-Loader/blob/main/loader/LoaderAndLayerInterface.md#directly-linking-to-the-loader[직접 링크]
20+
* 컴파일 시 link:https://github.com/KhronosGroup/Vulkan-Loader/blob/main/docs/LoaderApplicationInterface.md#directly-linking-to-the-loader[직접 링크]
2121
** 이를 위해서는 빌드 시스템이 찾을 수 있는 (정적 또는 동적 라이브러리로) 빌드된 Vulkan 로더가 있어야 합니다.
2222
** 빌드 시스템(Visual Studio, CMake 등)에는 라이브러리에 링크하는 방법에 대한 문서가 있습니다. 온라인에서 "`(InsertBuildSystem) link to external library`" 를 검색해 보세요.
23-
* 런타임 시 link:https://github.com/KhronosGroup/Vulkan-Loader/blob/main/loader/LoaderAndLayerInterface.md#indirectly-linking-to-the-loader[간접 링크]
23+
* 런타임 시 link:https://github.com/KhronosGroup/Vulkan-Loader/blob/main/docs/LoaderApplicationInterface.md#indirectly-linking-to-the-loader[간접 링크]
2424
** 동적 심볼 룩업( `dlsym` 및 `dlopen` 과 같은 시스템 호출을 통해)을 사용하여, 애플리케이션은 독자적인 디스패치 테이블을 초기화할 수 있습니다. 그러면 로더를 찾을 수 없는 경우 애플리케이션이 정상적으로 종료될 수 있습니다. 또한 애플리케이션이 Vulkan 함수를 호출하는 가장 빠른 메커니즘을 제공합니다.
2525
** link:https://github.com/zeux/volk/[Volk]는 이 프로세스를 간소화하는 데 도움이 되는 메타로더의 오픈 소스 구현입니다.
2626

0 commit comments

Comments
 (0)