Browse Source

Vk: rename PipelineStage::AllGraphics to AllRasterization.

Because that's what it is, after all. Also mention this naming
difference in the Vulkan wrapping overview.

I was wondering if I should rename QueueFlag::Graphics too, but since
graphics queues are used for (not really rasterization-specific) image
copies as well, and ray tracing is actually done on compute queues, I
don't think renaming to Rasterization is a good idea. Clarified the
comments at least.
pull/495/head
Vladimír Vondruš 5 years ago
parent
commit
571772581c
  1. 9
      doc/vulkan-wrapping.dox
  2. 4
      src/Magnum/Vk/DeviceProperties.h
  3. 14
      src/Magnum/Vk/Pipeline.h
  4. 4
      src/Magnum/Vk/Test/RenderPassTest.cpp

9
doc/vulkan-wrapping.dox

@ -188,5 +188,14 @@ can be also passed to @ref Vk::DeviceCreateInfo to allow reuse:
@snippet MagnumVk.cpp wrapping-optimizing-properties-device-move @snippet MagnumVk.cpp wrapping-optimizing-properties-device-move
@section vulkan-wrapping-naming-differences Important differences in naming
- To emphasise the distinction between rasterization and raytracing
pipelines and prevent confusion, @ref Vk::RasterizationPipelineCreateInfo
is used for @type_vk{GraphicsPipelineCreateInfo}, and similarly for
related APIs, such as @ref Vk::DynamicRasterizationState containing a
rasterization-related subset of @type_vk{DynamicState} or
@ref Vk::PipelineStage::AllRasterization for @val_vk{PIPELINE_STAGE_ALL_GRAPHICS_BIT,PipelineStageFlagBits}.
*/ */
} }

4
src/Magnum/Vk/DeviceProperties.h

@ -161,10 +161,10 @@ Wraps a @type_vk_keyword{QueueFlagBits}.
@m_enum_values_as_keywords @m_enum_values_as_keywords
*/ */
enum class QueueFlag: UnsignedInt { enum class QueueFlag: UnsignedInt {
/** Supports graphics operations */ /** Supports general graphics and rasterization operations. */
Graphics = VK_QUEUE_GRAPHICS_BIT, Graphics = VK_QUEUE_GRAPHICS_BIT,
/** Supports compute operations */ /** Supports compute and ray tracing operations. */
Compute = VK_QUEUE_COMPUTE_BIT, Compute = VK_QUEUE_COMPUTE_BIT,
/** Supports transfer operations */ /** Supports transfer operations */

14
src/Magnum/Vk/Pipeline.h

@ -335,9 +335,9 @@ enum class PipelineStage: UnsignedInt {
RayTracingShader = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR, RayTracingShader = VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR,
/** /**
* Execution of all graphics stages. While numerically a single bit, it's * Execution of all rasterization stages. While numerically a single bit,
* equivalent to the logical OR of a supported and enabled subset of the * it's equivalent to the logical OR of a supported and enabled subset of
* following: * the following:
* *
* - @ref PipelineStage::DrawIndirect * - @ref PipelineStage::DrawIndirect
* - @ref PipelineStage::VertexInput * - @ref PipelineStage::VertexInput
@ -350,10 +350,12 @@ enum class PipelineStage: UnsignedInt {
* - @ref PipelineStage::LateFragmentTests * - @ref PipelineStage::LateFragmentTests
* - @ref PipelineStage::ColorAttachmentOutput * - @ref PipelineStage::ColorAttachmentOutput
* *
* Note that this *does not* include @ref PipelineStage::RayTracingShader * As the name suggests, this *does not* include
* or @ref PipelineStage::AccelerationStructureBuild. * @ref PipelineStage::RayTracingShader or
* @ref PipelineStage::AccelerationStructureBuild.
* @todo mention mesh / task shaders once exposed
*/ */
AllGraphics = VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT, AllRasterization = VK_PIPELINE_STAGE_ALL_GRAPHICS_BIT,
/** /**
* All commands. * All commands.

4
src/Magnum/Vk/Test/RenderPassTest.cpp

@ -776,7 +776,7 @@ void RenderPassTest::subpassDependencyConstruct() {
SubpassDependency dependency{ SubpassDependency dependency{
15, SubpassDependency::External, 15, SubpassDependency::External,
PipelineStage::ComputeShader|PipelineStage::Transfer, PipelineStage::ComputeShader|PipelineStage::Transfer,
PipelineStage::AllGraphics, PipelineStage::AllRasterization,
Access::TransferRead|Access::UniformRead, Access::TransferRead|Access::UniformRead,
Access::MemoryWrite, Access::MemoryWrite,
DependencyFlag::ByRegion}; DependencyFlag::ByRegion};
@ -830,7 +830,7 @@ template<class T> void RenderPassTest::subpassDependencyConvertToVk() {
SubpassDependency dependency{ SubpassDependency dependency{
15, SubpassDependency::External, 15, SubpassDependency::External,
PipelineStage::ComputeShader|PipelineStage::Transfer, PipelineStage::ComputeShader|PipelineStage::Transfer,
PipelineStage::AllGraphics, PipelineStage::AllRasterization,
Access::TransferRead|Access::UniformRead, Access::TransferRead|Access::UniformRead,
Access::MemoryWrite, Access::MemoryWrite,
DependencyFlag::ByRegion}; DependencyFlag::ByRegion};

Loading…
Cancel
Save