layers: Rework finding next stage - #13070
Conversation
|
CI Vulkan-ValidationLayers build queued with queue ID 115400. |
|
CI Vulkan-ValidationLayers build # 24444 running. |
| constexpr uint32_t kShaderObjectStageCount = 8u; | ||
|
|
||
| // In order of how stages are linked together | ||
| constexpr std::array kGraphicsStages = {VK_SHADER_STAGE_VERTEX_BIT, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT, |
There was a problem hiding this comment.
-
"graphics" is misleading, mesh is very much graphics, maybe
kVertexGraphicsStagesandkMeshGraphicsStages -
I realize these
// It is very rare to have more than 3 stages (really only geo/tess) and better to save memory/time for the 99% use cases
static const uint32_t kCommonMaxGraphicsShaderStages = 3;
static const VkShaderStageFlags kShaderStageAllGraphics =
VK_SHADER_STAGE_VERTEX_BIT | VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT | VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT |
VK_SHADER_STAGE_GEOMETRY_BIT | VK_SHADER_STAGE_FRAGMENT_BIT | VK_SHADER_STAGE_TASK_BIT_EXT | VK_SHADER_STAGE_MESH_BIT_EXT;
static const VkShaderStageFlags kShaderStageAllRayTracing =
VK_SHADER_STAGE_ANY_HIT_BIT_KHR | VK_SHADER_STAGE_CALLABLE_BIT_KHR | VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR |
VK_SHADER_STAGE_INTERSECTION_BIT_KHR | VK_SHADER_STAGE_MISS_BIT_KHR | VK_SHADER_STAGE_RAYGEN_BIT_KHR;
static bool inline IsStageInPipelineBindPoint(VkShaderStageFlags stages, VkPipelineBindPoint bind_point) {
switch (bind_point) {
case VK_PIPELINE_BIND_POINT_GRAPHICS:
return (stages & kShaderStageAllGraphics) != 0;
case VK_PIPELINE_BIND_POINT_COMPUTE:
return (stages & VK_SHADER_STAGE_COMPUTE_BIT) != 0;
case VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR:
return (stages & kShaderStageAllRayTracing) != 0;
default:
return false;
}
}
are in vk_api_utils.h ... if we are going to redo all of this, lets move those here as well so they isn't 2 spots holding shader stage lists now
|
CI Vulkan-ValidationLayers build # 24444 passed. |
3440961 to
7fee405
Compare
|
CI Vulkan-ValidationLayers build queued with queue ID 115559. |
|
CI Vulkan-ValidationLayers build # 24445 running. |
7fee405 to
d8249b3
Compare
|
CI Vulkan-ValidationLayers build queued with queue ID 115616. |
|
CI Vulkan-ValidationLayers build # 24446 running. |
|
CI Vulkan-ValidationLayers build # 24446 failed. |
d8249b3 to
7a5854a
Compare
|
CI Vulkan-ValidationLayers build queued with queue ID 115647. |
|
CI Vulkan-ValidationLayers build # 24448 running. |
7a5854a to
a5661b8
Compare
|
CI Vulkan-ValidationLayers build queued with queue ID 115664. |
|
CI Vulkan-ValidationLayers build # 24449 running. |
a5661b8 to
8f443bd
Compare
|
CI Vulkan-ValidationLayers build queued with queue ID 115703. |
|
CI Vulkan-ValidationLayers build # 24450 running. |
|
CI Vulkan-ValidationLayers build # 24450 passed. |
spencer-lunarg
left a comment
There was a problem hiding this comment.
thanks for all the fun header include fixes, but yes, this feels much better for a helper in your other internal change
No description provided.