Expose raw pushconstants values as part of vulkan pipeline state

* Not used directly in the UI, but can be useful for script access
This commit is contained in:
baldurk
2018-05-24 21:42:30 +01:00
parent 66d29073e7
commit c6ae93e1c7
3 changed files with 10 additions and 1 deletions
+3
View File
@@ -734,6 +734,9 @@ struct State
DOCUMENT("A :class:`VKPipeline` with the currently bound graphics pipeline, if any.");
Pipeline graphics;
DOCUMENT("A ``bytes`` containing the raw push constant data.");
bytebuf pushconsts;
DOCUMENT("A :class:`VKInputAssembly` describing the input assembly stage.");
InputAssembly inputAssembly;
DOCUMENT("A :class:`VKVertexInput` describing the vertex input stage.");
+4
View File
@@ -802,6 +802,10 @@ void VulkanReplay::SavePipelineState()
m_VulkanPipelineState = VKPipe::State();
m_VulkanPipelineState.pushconsts.resize(ARRAY_COUNT(state.pushconsts));
memcpy(m_VulkanPipelineState.pushconsts.data(), state.pushconsts,
m_VulkanPipelineState.pushconsts.size());
// General pipeline properties
m_VulkanPipelineState.compute.pipelineResourceId = rm->GetOriginalID(state.compute.pipeline);
m_VulkanPipelineState.graphics.pipelineResourceId = rm->GetOriginalID(state.graphics.pipeline);
+3 -1
View File
@@ -2048,6 +2048,8 @@ void DoSerialise(SerialiserType &ser, VKPipe::State &el)
SERIALISE_MEMBER(compute);
SERIALISE_MEMBER(graphics);
SERIALISE_MEMBER(pushconsts);
SERIALISE_MEMBER(inputAssembly);
SERIALISE_MEMBER(vertexInput);
@@ -2069,7 +2071,7 @@ void DoSerialise(SerialiserType &ser, VKPipe::State &el)
SERIALISE_MEMBER(images);
SIZE_CHECK(1312);
SIZE_CHECK(1328);
}
#pragma endregion Vulkan pipeline state