A single-header library with a simplified interface for Vulkan synchronization
Alpha.8 adds a host preinitialization state for linear images, as well as a number of new access sets for extensions released since the last update.
Alpha.7 incorporates a number of fixes from @gwihlidal, and fixes handling of pipeline stages in the presence of multiple access types or barriers in light of other recent changes.
Alpha.6 fixes a typo (VK_ACCESS_TYPE_MEMORY_READ|WRITE_BIT should have been VK_ACCESS_MEMORY_READ|WRITE_BIT), and sets the pipeline stage src and dst flag bits to VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT and VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT during initialization, not 0 as per alpha.5
Initial version of thsvs_simpler_vulkan_synchronization.h
Alpha.5 now correctly zeroes out the pipeline stage flags before trying to incrementally set bits on them... common theme here, whoops. (#5)
Alpha.4 now correctly zeroes out the access types before trying to incrementally set bits on them (!)
Alpha.3 changes the following:
Uniform and vertex buffer access in one enum, matching D3D12_RESOURCE_STATE_VERTEX_AND_CONSTANT_BUFFER:
Color read and write access, matching D3D12_RESOURCE_STATE_RENDER_TARGET:
Also the "THSVS_ACCESS_SHADER_READ_SAMPLED_IMAGE" enums have been renamed to the form "THSVS_ACCESS_SHADER_READ_SAMPLED_IMAGE_OR_UNIFORM_TEXEL_BUFFER"
Alpha.2 adds four new resource states for "ANY SHADER ACCESS":
Alpha.1 adds three new resource states:
It also fixes a couple of typos, and adds clarification as to when extensions need to be enabled to use a feature.