mirror of
https://github.com/baldurk/renderdoc.git
synced 2026-05-13 21:40:41 +00:00
Test push constant range that applies to vertex and fragment stages
This commit is contained in:
@@ -146,6 +146,13 @@ void main()
|
||||
renderPass, {mainWindow->GetView(i), dsvview}, mainWindow->scissor.extent));
|
||||
|
||||
VkPipelineLayout layout = createPipelineLayout(vkh::PipelineLayoutCreateInfo(
|
||||
{},
|
||||
{
|
||||
vkh::PushConstantRange(VK_SHADER_STAGE_VERTEX_BIT | VK_SHADER_STAGE_FRAGMENT_BIT, 0,
|
||||
sizeof(Vec4f) * 2),
|
||||
}));
|
||||
|
||||
VkPipelineLayout layout2 = createPipelineLayout(vkh::PipelineLayoutCreateInfo(
|
||||
{},
|
||||
{
|
||||
vkh::PushConstantRange(VK_SHADER_STAGE_VERTEX_BIT, 0, sizeof(Vec4f) * 2),
|
||||
@@ -182,6 +189,8 @@ void main()
|
||||
|
||||
pipeCreateInfo.vertexInputState.vertexBindingDescriptions = {{0, 0, VK_VERTEX_INPUT_RATE_VERTEX}};
|
||||
|
||||
pipeCreateInfo.layout = layout2;
|
||||
|
||||
VkPipeline stride0pipe = createGraphicsPipeline(pipeCreateInfo);
|
||||
|
||||
AllocatedBuffer vb(this,
|
||||
@@ -222,8 +231,8 @@ void main()
|
||||
VK_SUBPASS_CONTENTS_INLINE);
|
||||
|
||||
vkCmdBindPipeline(cmd, VK_PIPELINE_BIND_POINT_GRAPHICS, pipe);
|
||||
vkCmdPushConstants(cmd, layout, VK_SHADER_STAGE_VERTEX_BIT, 0, sizeof(cbufferdata),
|
||||
&cbufferdata);
|
||||
vkCmdPushConstants(cmd, layout, VK_SHADER_STAGE_VERTEX_BIT | VK_SHADER_STAGE_FRAGMENT_BIT, 0,
|
||||
sizeof(cbufferdata), &cbufferdata);
|
||||
vkCmdSetViewport(cmd, 0, 1, &mainWindow->viewport);
|
||||
vkCmdSetScissor(cmd, 0, 1, &mainWindow->scissor);
|
||||
vkh::cmdBindVertexBuffers(cmd, 0, {vb.buffer}, {0});
|
||||
@@ -243,6 +252,8 @@ void main()
|
||||
setMarker(cmd, "Stride 0");
|
||||
|
||||
vkCmdBindPipeline(cmd, VK_PIPELINE_BIND_POINT_GRAPHICS, stride0pipe);
|
||||
vkCmdPushConstants(cmd, layout2, VK_SHADER_STAGE_VERTEX_BIT, 0, sizeof(cbufferdata),
|
||||
&cbufferdata);
|
||||
|
||||
vkCmdDraw(cmd, 1, 1, 0, 0);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user