aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Forbes <chrisforbes@google.com>2016-03-30 14:04:36 +1300
committerTobin Ehlis <tobine@google.com>2016-03-30 07:00:00 -0600
commit1da36c368a1a36db73033a325e7c3563ef2c3edc (patch)
tree48b1ab9a9fbef169d20d6c0a4595779c3a0fd98d
parent60c7a26a3fcda5462fb1e9e1760fd886adac3f89 (diff)
downloadusermoji-1da36c368a1a36db73033a325e7c3563ef2c3edc.tar.xz
layers: Build up next layer for compute shader validation
Only remaining piece now is to actually call this from vkCreateComputePipelines! Signed-off-by: Chris Forbes <chrisforbes@google.com>
-rw-r--r--layers/core_validation.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/layers/core_validation.cpp b/layers/core_validation.cpp
index cb52854d..3bfcc369 100644
--- a/layers/core_validation.cpp
+++ b/layers/core_validation.cpp
@@ -2785,6 +2785,18 @@ static VkBool32 validate_and_capture_pipeline_shader_state(layer_data *my_data,
return pass;
}
+static VkBool32 validate_compute_pipeline(layer_data *my_data, PIPELINE_NODE *pPipeline) {
+ VkComputePipelineCreateInfo const *pCreateInfo = &pPipeline->computePipelineCI;
+
+ auto pipelineLayout = pCreateInfo->layout != VK_NULL_HANDLE ? &my_data->pipelineLayoutMap[pCreateInfo->layout] : nullptr;
+
+ shader_module *module;
+ spirv_inst_iter entrypoint;
+
+ return validate_pipeline_shader_stage(my_data, &pCreateInfo->stage, pPipeline, pipelineLayout,
+ &module, &entrypoint);
+}
+
// Return Set node ptr for specified set or else NULL
static SET_NODE *getSetNode(layer_data *my_data, const VkDescriptorSet set) {
if (my_data->setMap.find(set) == my_data->setMap.end()) {