aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Forbes <chrisforbes@google.com>2016-02-26 16:55:12 +1300
committerChris Forbes <chrisforbes@google.com>2016-03-04 08:57:28 +1300
commitd5fc1b5d02234c2829a4295f70fc03bd64d37d2a (patch)
tree10f0441e1fd84f59b8a91181f669cf038c10388b
parentea7d41a53eeb7d28d9e461dbb8118b75245553df (diff)
downloadusermoji-d5fc1b5d02234c2829a4295f70fc03bd64d37d2a.tar.xz
layers: add more shader checker error codes
Signed-off-by: Chris Forbes <chrisforbes@google.com>
-rw-r--r--layers/draw_state.h4
-rw-r--r--layers/vk_validation_layer_details.md6
2 files changed, 9 insertions, 1 deletions
diff --git a/layers/draw_state.h b/layers/draw_state.h
index 957def96..1b1d40c2 100644
--- a/layers/draw_state.h
+++ b/layers/draw_state.h
@@ -205,7 +205,7 @@ typedef enum _DRAW_STATE_ERROR {
typedef enum _SHADER_CHECKER_ERROR {
SHADER_CHECKER_NONE,
- SHADER_CHECKER_FS_MIXED_BROADCAST, /* FS writes broadcast output AND custom outputs */
+ SHADER_CHECKER_FS_MIXED_BROADCAST, /* FS writes broadcast output AND custom outputs -- DEFUNCT */
SHADER_CHECKER_INTERFACE_TYPE_MISMATCH, /* Type mismatch between shader stages or shader and pipeline */
SHADER_CHECKER_OUTPUT_NOT_CONSUMED, /* Entry appears in output interface, but missing in input */
SHADER_CHECKER_INPUT_NOT_PRODUCED, /* Entry appears in input interface, but missing in output */
@@ -216,6 +216,8 @@ typedef enum _SHADER_CHECKER_ERROR {
SHADER_CHECKER_MISSING_DESCRIPTOR, /* Shader attempts to use a descriptor binding not declared in the layout */
SHADER_CHECKER_BAD_SPECIALIZATION, /* Specialization map entry points outside specialization data block */
SHADER_CHECKER_MISSING_ENTRYPOINT, /* Shader module does not contain the requested entrypoint */
+ SHADER_CHECKER_PUSH_CONSTANT_OUT_OF_RANGE, /* Push constant variable is not in a push constant range */
+ SHADER_CHECKER_PUSH_CONSTANT_NOT_ACCESSIBLE_FROM_STAGE, /* Push constant range exists, but not accessible from stage */
} SHADER_CHECKER_ERROR;
typedef enum _DRAW_TYPE
diff --git a/layers/vk_validation_layer_details.md b/layers/vk_validation_layer_details.md
index 39531ce3..ee752b85 100644
--- a/layers/vk_validation_layer_details.md
+++ b/layers/vk_validation_layer_details.md
@@ -140,6 +140,12 @@ depends on the pair of pipeline stages involved.
| Shader Specialization | Error if specialization entry data is not fully contained within the specialization data block. | BAD_SPECIALIZATION | vkCreateGraphicsPipelines vkCreateComputePipelines | TBD | NA |
| Missing Descriptor | Flags error if shader attempts to use a descriptor binding not declared in the layout | MISSING_DESCRIPTOR | vkCreateGraphicsPipelines | CreatePipelineUniformBlockNotProvided | NA |
| Missing Entrypoint | Flags error if specified entrypoint is not present in the shader module | MISSING_ENTRYPOINT | vkCreateGraphicsPipelines | TBD | NA |
+| Push constant out of range | Flags error if a member of a push constant block
+is not contained within a push constant range specified in the pipeline layout | PUSH_CONSTANT_OUT_OF_RANGE | vkCreateGraphicsPipelines | CreatePipelinePushContantsNotInLayout | NA |
+| Push constant not accessible from stage | Flags error if the push constant
+range containing a push constant block member is not accessible from the current
+shader stage. | PUSH_CONSTANT_NOT_ACCESSIBLE_FROM_STAGE |
+vkCreateGraphicsPipelines | TBD | NA |
| NA | Enum used for informational messages | NONE | | NA | None |
### VK_LAYER_LUNARG_ShaderChecker Pending Work