diff options
| author | Chia-I Wu <olv@lunarg.com> | 2015-10-26 19:52:46 +0800 |
|---|---|---|
| committer | Chia-I Wu <olv@lunarg.com> | 2015-10-30 20:49:24 +0800 |
| commit | 183ade2e3638dd2528ab51e3736aba9d45ac1d11 (patch) | |
| tree | 83f2e0cb84dfe07a7fe3fccc2e6099b84e2894b0 /layers/shader_checker.cpp | |
| parent | 6f7b55de037c8f04d1bca34adbc6922fdda11bad (diff) | |
| download | usermoji-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.cpp | 10 |
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; |
