@@ -18,6 +18,7 @@ HLSL, and Slang shaders, plus spirv-cross transpilation.
1818### Linting and Formatting
1919- ` bazelisk run :lint ` - Check Bazel file formatting (lint mode)
2020- ` bazelisk run :fmt ` - Format Bazel files with buildifier
21+ - ` bazelisk run :gazelle ` - Update Gazelle-generated bzl_library targets
2122
2223### Documentation
2324- ` bazelisk run //docs:update ` - Update generated documentation
@@ -37,24 +38,28 @@ and installation. Available SDK versions are maintained in `vulkan/private/versi
3738` tools/update_versions.py ` ). The ` versions.bzl ` file contains a list of known Vulkan SDK versions available on the
3839LunarG website. Use ` tools/update_versions.py ` to fetch available versions and rebuild ` versions.bzl ` .
3940
40- ** Shader Compilation Rules** :
41+ ** Shader Compilation Rules** :
4142- ` glsl_shader ` - Compiles GLSL shaders using glslc
4243- ` hlsl_shader ` - Compiles HLSL shaders using DirectXShaderCompiler (dxc)
4344- ` slang_shader ` - Compiles Slang shaders using slangc
4445- ` spirv_cross ` - Transpiles SPIR-V to other shader languages
46+ - ` shader_group ` - Groups multiple shaders together for packaging and metadata aggregation
4547
4648** Toolchain System** : Uses Bazel toolchains to provide compiler binaries (dxc, glslc, slangc, spirv-cross) from the
4749downloaded SDK.
4850
4951** Providers and Info** : ` ShaderInfo ` and ` ShaderGroupInfo ` providers carry metadata about compiled shaders for
50- building shader databases.
52+ building shader databases. ` VulkanInfo ` provider carries toolchain binaries (dxc, glslc, slangc, spirv-cross) and
53+ environment configuration.
5154
5255### File Structure
5356
5457- ` vulkan/defs.bzl ` - Main public API exports
55- - ` vulkan/private/ ` - Implementation details for each shader compiler
58+ - ` vulkan/providers.bzl ` - Provider definitions (ShaderInfo, ShaderGroupInfo, VulkanInfo)
5659- ` vulkan/extensions.bzl ` - Module extension for SDK management
5760- ` vulkan/toolchains.bzl ` - Toolchain definitions
61+ - ` vulkan/private/ ` - Implementation details for each shader compiler
62+ - ` vulkan/settings/ ` - Build settings for compiler-specific options (dxc_opts, glslc_opts, slangc_opts)
5863- ` e2e/smoke/ ` - Integration test showcasing all features
5964
6065## Guidelines
@@ -97,4 +102,5 @@ and providers.
97102## Testing
98103
99104The project has both unit tests (` vulkan/tests/ ` ) and integration tests (` e2e/smoke/ ` ). The CI runs tests across
100- Windows, Linux, and macOS with multiple Bazel versions.
105+ Windows, Linux, and macOS with multiple Bazel versions (7.x, 8.x, and 9.x). BCR presubmit tests validate the module
106+ works correctly when published to the Bazel Central Registry.
0 commit comments