Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(117)

Unified Diff: src/gpu/vk/GrVkGpu.h

Issue 1806983002: Update how we send draws to gpu backend to reduce state setting. (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: nit Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/gpu/glsl/GrGLSLProgramBuilder.cpp ('k') | src/gpu/vk/GrVkGpu.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/gpu/vk/GrVkGpu.h
diff --git a/src/gpu/vk/GrVkGpu.h b/src/gpu/vk/GrVkGpu.h
index 723d71451471ac6a0867cb1bfd4ee1512d4717cd..3785b15af10a23242d9721c9dc3096d81469dd03 100644
--- a/src/gpu/vk/GrVkGpu.h
+++ b/src/gpu/vk/GrVkGpu.h
@@ -21,7 +21,7 @@
#include "vulkan/vulkan.h"
class GrPipeline;
-class GrNonInstancedVertices;
+class GrNonInstancedMesh;
class GrVkBufferImpl;
class GrVkCommandBuffer;
@@ -64,9 +64,6 @@ public:
GrPixelConfig srcConfig, DrawPreference*,
WritePixelTempDrawInfo*) override;
- void buildProgramDesc(GrProgramDesc*, const GrPrimitiveProcessor&,
- const GrPipeline&) const override;
-
void discard(GrRenderTarget*) override {
SkDebugf("discard not yet implemented for Vulkan\n");
}
@@ -154,7 +151,10 @@ private:
void onClearStencilClip(GrRenderTarget*, const SkIRect& rect, bool insideClip) override;
- void onDraw(const DrawArgs&, const GrNonInstancedVertices&) override;
+ void onDraw(const GrPipeline&,
+ const GrPrimitiveProcessor&,
+ const GrMesh*,
+ int meshCount) override;
bool onReadPixels(GrSurface* surface,
int left, int top, int width, int height,
@@ -178,8 +178,14 @@ private:
SkDebugf("onResolveRenderTarget not yet implemented for Vulkan\n");
}
+ bool prepareDrawState(const GrPipeline&,
+ const GrPrimitiveProcessor&,
+ GrPrimitiveType,
+ const GrVkRenderPass&,
+ GrVkProgram** program);
+
// Bind vertex and index buffers
- void bindGeometry(const GrPrimitiveProcessor&, const GrNonInstancedVertices&);
+ void bindGeometry(const GrPrimitiveProcessor&, const GrNonInstancedMesh&);
// Ends and submits the current command buffer to the queue and then creates a new command
// buffer and begins it. If sync is set to kForce_SyncQueue, the function will wait for all
« no previous file with comments | « src/gpu/glsl/GrGLSLProgramBuilder.cpp ('k') | src/gpu/vk/GrVkGpu.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698