diff options
author | Chris Dalton <csmartdalton@google.com> | 2017-05-31 12:51:23 -0600 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-05-31 20:40:20 +0000 |
commit | 1d6163577c8a4f1372208e2c9e03b1a69906d385 (patch) | |
tree | fdacaa2e860d507bafca16cef0cb6e6e7861a1aa /include | |
parent | fa6d865215b48fac4ee24c120736e500d418f641 (diff) |
Add support for instanced draws
Adds an instance buffer to GrMesh and instance attribs to
GrPrimitiveProcessor. Implements support in GL and Vulkan. Adds unit
tests for instanced rendering with GrMesh.
Bug: skia:
Change-Id: If1a9920feb9366f346b8c37cf914713c49129b3a
Reviewed-on: https://skia-review.googlesource.com/16200
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/gpu/GrCaps.h | 2 | ||||
-rw-r--r-- | include/gpu/GrShaderCaps.h | 3 |
2 files changed, 5 insertions, 0 deletions
diff --git a/include/gpu/GrCaps.h b/include/gpu/GrCaps.h index 4dc776734e..9b84b1da8a 100644 --- a/include/gpu/GrCaps.h +++ b/include/gpu/GrCaps.h @@ -49,6 +49,7 @@ public: bool textureBarrierSupport() const { return fTextureBarrierSupport; } bool sampleLocationsSupport() const { return fSampleLocationsSupport; } bool multisampleDisableSupport() const { return fMultisampleDisableSupport; } + bool instanceAttribSupport() const { return fInstanceAttribSupport; } bool usesMixedSamples() const { return fUsesMixedSamples; } bool preferClientSideDynamicBuffers() const { return fPreferClientSideDynamicBuffers; } @@ -215,6 +216,7 @@ protected: bool fTextureBarrierSupport : 1; bool fSampleLocationsSupport : 1; bool fMultisampleDisableSupport : 1; + bool fInstanceAttribSupport : 1; bool fUsesMixedSamples : 1; bool fPreferClientSideDynamicBuffers : 1; bool fFullClearIsFree : 1; diff --git a/include/gpu/GrShaderCaps.h b/include/gpu/GrShaderCaps.h index e5edc7ebea..006efb6125 100644 --- a/include/gpu/GrShaderCaps.h +++ b/include/gpu/GrShaderCaps.h @@ -130,6 +130,8 @@ public: bool texelFetchSupport() const { return fTexelFetchSupport; } + bool vertexIDSupport() const { return fVertexIDSupport; } + AdvBlendEqInteraction advBlendEqInteraction() const { return fAdvBlendEqInteraction; } bool mustEnableAdvBlendEqs() const { @@ -284,6 +286,7 @@ private: bool fSampleMaskOverrideCoverageSupport : 1; bool fExternalTextureSupport : 1; bool fTexelFetchSupport : 1; + bool fVertexIDSupport : 1; // Used for specific driver bug work arounds bool fCanUseMinAndAbsTogether : 1; |