Add explicit casting for 64-bit enums on vulkan

* Some compilers don't like the comparison between enum types, so we explicitly
  cast.
This commit is contained in:
baldurk
2021-02-17 20:22:53 +00:00
parent 7c0a7e7e71
commit 4e0c7bf6d0
+74 -71
View File
@@ -2992,46 +2992,49 @@ rdcstr DoStringise(const VkSubmitFlagBitsKHR &el)
template <>
rdcstr DoStringise(const VkPipelineStageFlagBits2KHR &el)
{
// need a special define here to add specific casting rules
#define STRINGISE_BITFIELD_BIT64(a) STRINGISE_BITFIELD_BIT_NAMED((enumType)a, #a)
BEGIN_BITFIELD_STRINGISE(VkPipelineStageFlagBits2KHR);
{
STRINGISE_BITFIELD_VALUE(VK_PIPELINE_STAGE_2_NONE_KHR);
STRINGISE_BITFIELD_BIT(VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR);
STRINGISE_BITFIELD_BIT(VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR);
STRINGISE_BITFIELD_BIT(VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR);
STRINGISE_BITFIELD_BIT(VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR);
STRINGISE_BITFIELD_BIT(VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR);
STRINGISE_BITFIELD_BIT(VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR);
STRINGISE_BITFIELD_BIT(VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR);
STRINGISE_BITFIELD_BIT(VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR);
STRINGISE_BITFIELD_BIT(VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR);
STRINGISE_BITFIELD_BIT(VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR);
STRINGISE_BITFIELD_BIT(VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR);
STRINGISE_BITFIELD_BIT(VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR);
STRINGISE_BITFIELD_BIT(VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR);
STRINGISE_BITFIELD_BIT(VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR);
STRINGISE_BITFIELD_BIT(VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR);
STRINGISE_BITFIELD_BIT(VK_PIPELINE_STAGE_2_HOST_BIT_KHR);
STRINGISE_BITFIELD_BIT(VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR);
STRINGISE_BITFIELD_BIT(VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR);
STRINGISE_BITFIELD_BIT(VK_PIPELINE_STAGE_2_COPY_BIT_KHR);
STRINGISE_BITFIELD_BIT(VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR);
STRINGISE_BITFIELD_BIT(VK_PIPELINE_STAGE_2_BLIT_BIT_KHR);
STRINGISE_BITFIELD_BIT(VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR);
STRINGISE_BITFIELD_BIT(VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR);
STRINGISE_BITFIELD_BIT(VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR);
STRINGISE_BITFIELD_BIT(VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR);
STRINGISE_BITFIELD_BIT(VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT);
STRINGISE_BITFIELD_BIT(VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT);
STRINGISE_BITFIELD_BIT(VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV);
STRINGISE_BITFIELD_BIT(VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR);
STRINGISE_BITFIELD_BIT(VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV);
STRINGISE_BITFIELD_BIT(VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR);
STRINGISE_BITFIELD_BIT(VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR);
STRINGISE_BITFIELD_BIT(VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV);
STRINGISE_BITFIELD_BIT(VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV);
STRINGISE_BITFIELD_BIT(VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT);
STRINGISE_BITFIELD_BIT(VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV);
STRINGISE_BITFIELD_BIT(VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV);
STRINGISE_BITFIELD_BIT64(VK_PIPELINE_STAGE_2_TOP_OF_PIPE_BIT_KHR);
STRINGISE_BITFIELD_BIT64(VK_PIPELINE_STAGE_2_DRAW_INDIRECT_BIT_KHR);
STRINGISE_BITFIELD_BIT64(VK_PIPELINE_STAGE_2_VERTEX_INPUT_BIT_KHR);
STRINGISE_BITFIELD_BIT64(VK_PIPELINE_STAGE_2_VERTEX_SHADER_BIT_KHR);
STRINGISE_BITFIELD_BIT64(VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT_KHR);
STRINGISE_BITFIELD_BIT64(VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT_KHR);
STRINGISE_BITFIELD_BIT64(VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT_KHR);
STRINGISE_BITFIELD_BIT64(VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR);
STRINGISE_BITFIELD_BIT64(VK_PIPELINE_STAGE_2_EARLY_FRAGMENT_TESTS_BIT_KHR);
STRINGISE_BITFIELD_BIT64(VK_PIPELINE_STAGE_2_LATE_FRAGMENT_TESTS_BIT_KHR);
STRINGISE_BITFIELD_BIT64(VK_PIPELINE_STAGE_2_COLOR_ATTACHMENT_OUTPUT_BIT_KHR);
STRINGISE_BITFIELD_BIT64(VK_PIPELINE_STAGE_2_COMPUTE_SHADER_BIT_KHR);
STRINGISE_BITFIELD_BIT64(VK_PIPELINE_STAGE_2_ALL_TRANSFER_BIT_KHR);
STRINGISE_BITFIELD_BIT64(VK_PIPELINE_STAGE_2_TRANSFER_BIT_KHR);
STRINGISE_BITFIELD_BIT64(VK_PIPELINE_STAGE_2_BOTTOM_OF_PIPE_BIT_KHR);
STRINGISE_BITFIELD_BIT64(VK_PIPELINE_STAGE_2_HOST_BIT_KHR);
STRINGISE_BITFIELD_BIT64(VK_PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR);
STRINGISE_BITFIELD_BIT64(VK_PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR);
STRINGISE_BITFIELD_BIT64(VK_PIPELINE_STAGE_2_COPY_BIT_KHR);
STRINGISE_BITFIELD_BIT64(VK_PIPELINE_STAGE_2_RESOLVE_BIT_KHR);
STRINGISE_BITFIELD_BIT64(VK_PIPELINE_STAGE_2_BLIT_BIT_KHR);
STRINGISE_BITFIELD_BIT64(VK_PIPELINE_STAGE_2_CLEAR_BIT_KHR);
STRINGISE_BITFIELD_BIT64(VK_PIPELINE_STAGE_2_INDEX_INPUT_BIT_KHR);
STRINGISE_BITFIELD_BIT64(VK_PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR);
STRINGISE_BITFIELD_BIT64(VK_PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR);
STRINGISE_BITFIELD_BIT64(VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT);
STRINGISE_BITFIELD_BIT64(VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT);
STRINGISE_BITFIELD_BIT64(VK_PIPELINE_STAGE_2_COMMAND_PREPROCESS_BIT_NV);
STRINGISE_BITFIELD_BIT64(VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR);
STRINGISE_BITFIELD_BIT64(VK_PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV);
STRINGISE_BITFIELD_BIT64(VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR);
STRINGISE_BITFIELD_BIT64(VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR);
STRINGISE_BITFIELD_BIT64(VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_NV);
STRINGISE_BITFIELD_BIT64(VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_NV);
STRINGISE_BITFIELD_BIT64(VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT);
STRINGISE_BITFIELD_BIT64(VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_NV);
STRINGISE_BITFIELD_BIT64(VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_NV);
}
END_BITFIELD_STRINGISE();
}
@@ -3042,40 +3045,40 @@ rdcstr DoStringise(const VkAccessFlagBits2KHR &el)
BEGIN_BITFIELD_STRINGISE(VkAccessFlagBits2KHR);
{
STRINGISE_BITFIELD_VALUE(VK_ACCESS_2_NONE_KHR);
STRINGISE_BITFIELD_BIT(VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR);
STRINGISE_BITFIELD_BIT(VK_ACCESS_2_INDEX_READ_BIT_KHR);
STRINGISE_BITFIELD_BIT(VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR);
STRINGISE_BITFIELD_BIT(VK_ACCESS_2_UNIFORM_READ_BIT_KHR);
STRINGISE_BITFIELD_BIT(VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR);
STRINGISE_BITFIELD_BIT(VK_ACCESS_2_SHADER_READ_BIT_KHR);
STRINGISE_BITFIELD_BIT(VK_ACCESS_2_SHADER_WRITE_BIT_KHR);
STRINGISE_BITFIELD_BIT(VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR);
STRINGISE_BITFIELD_BIT(VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR);
STRINGISE_BITFIELD_BIT(VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR);
STRINGISE_BITFIELD_BIT(VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR);
STRINGISE_BITFIELD_BIT(VK_ACCESS_2_TRANSFER_READ_BIT_KHR);
STRINGISE_BITFIELD_BIT(VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR);
STRINGISE_BITFIELD_BIT(VK_ACCESS_2_HOST_READ_BIT_KHR);
STRINGISE_BITFIELD_BIT(VK_ACCESS_2_HOST_WRITE_BIT_KHR);
STRINGISE_BITFIELD_BIT(VK_ACCESS_2_MEMORY_READ_BIT_KHR);
STRINGISE_BITFIELD_BIT(VK_ACCESS_2_MEMORY_WRITE_BIT_KHR);
STRINGISE_BITFIELD_BIT(VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR);
STRINGISE_BITFIELD_BIT(VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR);
STRINGISE_BITFIELD_BIT(VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR);
STRINGISE_BITFIELD_BIT(VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT);
STRINGISE_BITFIELD_BIT(VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT);
STRINGISE_BITFIELD_BIT(VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT);
STRINGISE_BITFIELD_BIT(VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT);
STRINGISE_BITFIELD_BIT(VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV);
STRINGISE_BITFIELD_BIT(VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV);
STRINGISE_BITFIELD_BIT(VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR);
STRINGISE_BITFIELD_BIT(VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV);
STRINGISE_BITFIELD_BIT(VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR);
STRINGISE_BITFIELD_BIT(VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR);
STRINGISE_BITFIELD_BIT(VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV);
STRINGISE_BITFIELD_BIT(VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV);
STRINGISE_BITFIELD_BIT(VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT);
STRINGISE_BITFIELD_BIT(VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT);
STRINGISE_BITFIELD_BIT64(VK_ACCESS_2_INDIRECT_COMMAND_READ_BIT_KHR);
STRINGISE_BITFIELD_BIT64(VK_ACCESS_2_INDEX_READ_BIT_KHR);
STRINGISE_BITFIELD_BIT64(VK_ACCESS_2_VERTEX_ATTRIBUTE_READ_BIT_KHR);
STRINGISE_BITFIELD_BIT64(VK_ACCESS_2_UNIFORM_READ_BIT_KHR);
STRINGISE_BITFIELD_BIT64(VK_ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR);
STRINGISE_BITFIELD_BIT64(VK_ACCESS_2_SHADER_READ_BIT_KHR);
STRINGISE_BITFIELD_BIT64(VK_ACCESS_2_SHADER_WRITE_BIT_KHR);
STRINGISE_BITFIELD_BIT64(VK_ACCESS_2_COLOR_ATTACHMENT_READ_BIT_KHR);
STRINGISE_BITFIELD_BIT64(VK_ACCESS_2_COLOR_ATTACHMENT_WRITE_BIT_KHR);
STRINGISE_BITFIELD_BIT64(VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_READ_BIT_KHR);
STRINGISE_BITFIELD_BIT64(VK_ACCESS_2_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT_KHR);
STRINGISE_BITFIELD_BIT64(VK_ACCESS_2_TRANSFER_READ_BIT_KHR);
STRINGISE_BITFIELD_BIT64(VK_ACCESS_2_TRANSFER_WRITE_BIT_KHR);
STRINGISE_BITFIELD_BIT64(VK_ACCESS_2_HOST_READ_BIT_KHR);
STRINGISE_BITFIELD_BIT64(VK_ACCESS_2_HOST_WRITE_BIT_KHR);
STRINGISE_BITFIELD_BIT64(VK_ACCESS_2_MEMORY_READ_BIT_KHR);
STRINGISE_BITFIELD_BIT64(VK_ACCESS_2_MEMORY_WRITE_BIT_KHR);
STRINGISE_BITFIELD_BIT64(VK_ACCESS_2_SHADER_SAMPLED_READ_BIT_KHR);
STRINGISE_BITFIELD_BIT64(VK_ACCESS_2_SHADER_STORAGE_READ_BIT_KHR);
STRINGISE_BITFIELD_BIT64(VK_ACCESS_2_SHADER_STORAGE_WRITE_BIT_KHR);
STRINGISE_BITFIELD_BIT64(VK_ACCESS_2_TRANSFORM_FEEDBACK_WRITE_BIT_EXT);
STRINGISE_BITFIELD_BIT64(VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_READ_BIT_EXT);
STRINGISE_BITFIELD_BIT64(VK_ACCESS_2_TRANSFORM_FEEDBACK_COUNTER_WRITE_BIT_EXT);
STRINGISE_BITFIELD_BIT64(VK_ACCESS_2_CONDITIONAL_RENDERING_READ_BIT_EXT);
STRINGISE_BITFIELD_BIT64(VK_ACCESS_2_COMMAND_PREPROCESS_READ_BIT_NV);
STRINGISE_BITFIELD_BIT64(VK_ACCESS_2_COMMAND_PREPROCESS_WRITE_BIT_NV);
STRINGISE_BITFIELD_BIT64(VK_ACCESS_2_FRAGMENT_SHADING_RATE_ATTACHMENT_READ_BIT_KHR);
STRINGISE_BITFIELD_BIT64(VK_ACCESS_2_SHADING_RATE_IMAGE_READ_BIT_NV);
STRINGISE_BITFIELD_BIT64(VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR);
STRINGISE_BITFIELD_BIT64(VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR);
STRINGISE_BITFIELD_BIT64(VK_ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_NV);
STRINGISE_BITFIELD_BIT64(VK_ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_NV);
STRINGISE_BITFIELD_BIT64(VK_ACCESS_2_FRAGMENT_DENSITY_MAP_READ_BIT_EXT);
STRINGISE_BITFIELD_BIT64(VK_ACCESS_2_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT);
}
END_BITFIELD_STRINGISE();
}