aboutsummaryrefslogtreecommitdiff
path: root/layers/shader_checker.cpp
diff options
context:
space:
mode:
authorChia-I Wu <olv@lunarg.com>2015-10-26 19:52:46 +0800
committerChia-I Wu <olv@lunarg.com>2015-10-30 20:49:24 +0800
commit183ade2e3638dd2528ab51e3736aba9d45ac1d11 (patch)
tree83f2e0cb84dfe07a7fe3fccc2e6099b84e2894b0 /layers/shader_checker.cpp
parent6f7b55de037c8f04d1bca34adbc6922fdda11bad (diff)
downloadusermoji-183ade2e3638dd2528ab51e3736aba9d45ac1d11.tar.xz
bug 14864: Remove redundant VkPipelineShaderStageCreateInfo.stage field? (WIP)
Removed. https://cvs.khronos.org/bugzilla/show_bug.cgi?id=14864
Diffstat (limited to 'layers/shader_checker.cpp')
-rw-r--r--layers/shader_checker.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/layers/shader_checker.cpp b/layers/shader_checker.cpp
index 64feaf0e..22bb357d 100644
--- a/layers/shader_checker.cpp
+++ b/layers/shader_checker.cpp
@@ -214,10 +214,12 @@ static std::unordered_map<uint64_t, shader_module *> shader_module_map;
struct shader_object {
std::string name;
struct shader_module *module;
+ VkShaderStageFlagBits stage;
shader_object(VkShaderCreateInfo const *pCreateInfo)
{
module = shader_module_map[pCreateInfo->module.handle];
+ stage = pCreateInfo->stage;
name = pCreateInfo->pName;
}
};
@@ -1068,16 +1070,18 @@ validate_graphics_pipeline(VkDevice dev, VkGraphicsPipelineCreateInfo const *pCr
VkPipelineShaderStageCreateInfo const *pStage = &pCreateInfo->pStages[i];
if (pStage->sType == VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO) {
- if ((pStage->stage & (VK_SHADER_STAGE_VERTEX_BIT | VK_SHADER_STAGE_GEOMETRY_BIT | VK_SHADER_STAGE_FRAGMENT_BIT
+ // always true; pStage->stage may be revived in a later revision and
+ // this will make sense again
+ if ((VK_SHADER_STAGE_VERTEX_BIT & (VK_SHADER_STAGE_VERTEX_BIT | VK_SHADER_STAGE_GEOMETRY_BIT | VK_SHADER_STAGE_FRAGMENT_BIT
| VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT | VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT)) == 0) {
if (log_msg(mdd(dev), VK_DBG_REPORT_WARN_BIT, VK_OBJECT_TYPE_DEVICE, /*dev*/0, 0, SHADER_CHECKER_UNKNOWN_STAGE, "SC",
- "Unknown shader stage %d", pStage->stage)) {
+ "Unknown shader stage %d", VK_SHADER_STAGE_VERTEX_BIT)) {
pass = false;
}
}
else {
struct shader_object *shader = shader_object_map[pStage->shader.handle];
- shaders[get_shader_stage_id(pStage->stage)] = shader->module;
+ shaders[get_shader_stage_id(shader->stage)] = shader->module;
/* validate descriptor set layout against what the spirv module actually uses */
std::map<std::pair<unsigned, unsigned>, interface_var> descriptor_uses;