vkCmdDraw implementation
Piped all the information from the vertex buffers and
the pipeline to the renderer to perform a draw.
In order for the renderer and the context to have proper
lifetimes, they both reside in the Queue object for now.
Bug b/118619338
Change-Id: Ifa03acd13ceb065a856b50f2cffadd4ee6b9a163
Reviewed-on: https://swiftshader-review.googlesource.com/c/23111
Reviewed-by: Corentin Wallez <cwallez@google.com>
Reviewed-by: Chris Forbes <chrisforbes@google.com>
Tested-by: Alexis Hétu <sugoi@google.com>
diff --git a/src/Vulkan/VkPipeline.hpp b/src/Vulkan/VkPipeline.hpp
index 77a3d21..a38a105 100644
--- a/src/Vulkan/VkPipeline.hpp
+++ b/src/Vulkan/VkPipeline.hpp
@@ -58,13 +58,14 @@
void compileShaders(const VkAllocationCallbacks* pAllocator, const VkGraphicsPipelineCreateInfo* pCreateInfo);
+ uint32_t computePrimitiveCount(uint32_t vertexCount) const;
const sw::Context& getContext() const;
const sw::Rect& getScissor() const;
const VkViewport& getViewport() const;
const sw::Color<float>& getBlendConstants() const;
private:
- rr::Routine* vertexRoutine;
+ rr::Routine* vertexRoutine;
rr::Routine* fragmentRoutine;
sw::Context context;
sw::Rect scissor;