File: README.md

package info (click to toggle)
vulkan-validationlayers 1.4.328.1-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 49,412 kB
  • sloc: cpp: 615,223; python: 12,115; sh: 24; makefile: 20; xml: 14
file content (26 lines) | stat: -rw-r--r-- 1,315 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# GPU Assisted Validation Shaders

This directory is for holding shaders that are used for [shader instrumentation](../../docs/gpu_av_shader_instrumentation.md) inside [GPU Assisted Validation](../../docs/gpuav.md). These are turned in SPIR-V when generating code with `generate_spirv.py` and turned into a header file in [layers/vulkan/generated](../generated/).

To regenerate the validation shader, run the following:

```bash
# generate all the shaders with glslangValidator at external/glslang/build/install/bin/glslangValidator
python3 ./scripts/generate_spirv.py

# Using own glslangValidator executable
python3 ./scripts/generate_spirv.py --glslang path/to/glslangValidator

# generate a single shader
python3 ./scripts/generate_spirv.py --shader layers/gpuav/shaders/gpu_pre_draw.vert
```

## Adding a new shader

1. Add the GLSL shader to this folder with the appropriate naming (consistent with the other files)
2. Include the generated header file
    - example: `#include "gpu_pre_draw_vert.h"` for `gpu_pre_draw.vert`
3. Add the new header file to `CMake` and `BUILD.gn` (or will fail CI build)

Special note, currently any shader file starting with "`inst_`" means the shader is "instrumented".
The script will call `glslang` with the `--no-link` flag and using `spirv-link` to append the function.