layers: Require pipeline layout to contain all referenced descriptors
If the SPIRV image uses a descriptor (for constant buffer, image, etc)
we must declare it in the pipeline layout.
We won't complain about unused junk in the pipeline layout, but not
declaring something that *is* used is an error.
Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
Reviewed-by: Courtney Goeltzenleuchter <courtney@lunarg.com>
diff --git a/layers/shader_checker.h b/layers/shader_checker.h
index 4e7eddf..2c3868b 100644
--- a/layers/shader_checker.h
+++ b/layers/shader_checker.h
@@ -37,4 +37,5 @@
SHADER_CHECKER_INCONSISTENT_SPIRV, /* General inconsistency within a SPIR-V module */
SHADER_CHECKER_UNKNOWN_STAGE, /* Stage is not supported by analysis */
SHADER_CHECKER_INCONSISTENT_VI, /* VI state contains conflicting binding or attrib descriptions */
+ SHADER_CHECKER_MISSING_DESCRIPTOR, /* Shader attempts to use a descriptor binding not declared in the layout */
} SHADER_CHECKER_ERROR;