-
Notifications
You must be signed in to change notification settings - Fork 2.2k
Shader Build Pipeline: How To Use A Different Version Of AZSLc
Whether you need to validate a new AZSLc package, or simply try a different version of AZSLc for your local engine build, there's a way to do so without having to hack the CMake 3rdParty Package Fetch system. Set the registry key:
"/O3DE/Atom/AzslCompilerOverridePath"
to the absolute path to the AZSLc binary you may want to work with.
Registry keys can be defined within any *.setreg
file under one of the Registry/
subfolders of O3DE. For the sake of organization there's already a setreg
file that consolidates property keys related with the Shader Build Pipeline:
o3de/Gems/Atom/Asset/Shader/Registry/atom_shaders.setreg, with the following default content:
{
"O3DE": {
"Atom": {
"Shaders": {
"BuildVariants": true,
"Build": {
"ConfigPath": "@gemroot:AtomShader@/Config"
}
}
}
}
}
As an example let's assume you checkout, modify and compile the latest version of AZSLc from AZSLc on Github in the following local directory /mnt/data/GIT/o3de-azslc
. The Release version of the executable would be located at /mnt/data/GIT/o3de-azslc/bin/linux/release/azslc
. To use this version of AZSLc, this would be the required changes in the setreg file mentioned above:
{
"O3DE": {
"Atom": {
"Shaders": {
"BuildVariants": true,
"Build": {
"ConfigPath": "@gemroot:AtomShader@/Config"
}
},
"AzslCompilerOverridePath": "/mnt/data/GIT/o3de-azslc/bin/linux/release/azslc"
}
}
}
- GPU Crash Debugging and Reporting
- CPU & GPU Debugging Tools
- CPU Profiling Tools
- GPU Profiling Tools
- GPU Memory Profiling
- Faster Shader Iteration
- Commit sign off
- PerformanceCollector API
- Allocator Tagging Guide
- What happens when entering/exiting Game mode?
- Hello World
- Using Tick Bus
- Using Transform Bus
- Reflecting Properties to the Editor
- Working With An External Lua Debugger
- Attachment Images and Buffers
- Image Builder
- Scene And Render Pipeline
- Shader Management Console (SMC)
- Work With Passes In Gems
- Developer Guide: Shader Build Arguments Customization
- Developer Guide: Customize AZSLc Executable
- Collecting Graphics Performance Metrics
- Mesh Instancing: For Content Creators
- Mesh Instancing: For Shader Authors
- Mesh Instancing: For Engine Maintainers/Contributors
- Screen Capture Image Comparison Testing