Replies: 2 comments
-
|
I'd also be curious to hear @robertosfield's thoughts on this - but from what I can tell, VSG is currently built to support Vulkan 1.0 spec (although I believe it enables some extensions that may need greater support). VSG is also required to work well on mobile, where I think layout transitions are more important for compression optimization/tiling. This of-course means that Dynamic Rendering, which handles layout transitions and other things automatically, aren't integrated into the VSG yet. From what I gather, it may be possible to create a patch to VSG to implement it. It would simply require implementing the required API for vkBegin/EndRendering, perhaps with a Integrating such a feature into the VSG itself could be tricky - since the actual usage of the API requires runtime checks for availability (I believe the extension is available since 1.2.197, and is Core since 1.3). I don't know how Robert likes handling these kinds of things. There's no way to do a static assert on the API usage. Perhaps if a user ever creates a |
Beta Was this translation helpful? Give feedback.
-
|
The minimum Vulkan version for the VSG is 1.1.70, features after this are supported, and for these we check at runtime and individually enable features when supported. I haven't looked at support for vkCmdBeginRendering and without reviewing the feature spec and examples that use it, I am not in position to comment on how quickly it could be implemented and how well it work with the rest of the VSG. In terms of implementing dynamic rendering, well this is such an open ended topic that has many different interpretations again I really provide guidance. You can do multi-pass with/without use multiple sub passes. You mix in compute as part of this as well. There are lots of different ways of different things. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi,
I want to implement DepthPeeling like proposed in chapter 5 of "The Modern Vulkan Cookbook" to handle transparencies correctly.
I'm using DepthPeeling because it seems to be a good middle way between memory- and performance-requirements.
Does vsg support dynamic rendering using vkCmdBeginRendering?
It seems that the current implementation of GraphicsPipeline::Implementation does not support rendering without a valid renderpass and so binding and creating pipeline without a renderpass is not possible.
I think supporting dynamic rendering would improve handling of dynamic situations like transparency handling drastically.
src\vsg\state\GraphicsPipeline.cpp:
Khronos states that there is no need for a render pass soon as the pNext-list of VkGraphicsPipelineCreateInfo contains a valid VkPipelineRenderingCreateInfo-structure ...
Is there another way to handle dynamic rendering or shall I describe a render pass having multiple sub-passes?
Thanks in advance.
Beta Was this translation helpful? Give feedback.
All reactions