Index: src/gpu/vk/GrVkCaps.h |
diff --git a/src/gpu/vk/GrVkCaps.h b/src/gpu/vk/GrVkCaps.h |
index 3733f2c1d6427927f11496cb974cf66aefec02b3..f1ab8d050acf8052c1a26edacb4872872220c892 100644 |
--- a/src/gpu/vk/GrVkCaps.h |
+++ b/src/gpu/vk/GrVkCaps.h |
@@ -62,6 +62,10 @@ public: |
return fCanUseGLSLForShaderModule; |
} |
+ bool mustDoCopiesFromOrigin() const { |
+ return fMustDoCopiesFromOrigin; |
+ } |
+ |
/** |
* Returns both a supported and most prefered stencil format to use in draws. |
*/ |
@@ -72,6 +76,10 @@ public: |
GrGLSLCaps* glslCaps() const { return reinterpret_cast<GrGLSLCaps*>(fShaderCaps.get()); } |
private: |
+ enum VkVendor { |
+ kQualcomm_VkVendor = 20803, |
+ }; |
+ |
void init(const GrContextOptions& contextOptions, const GrVkInterface* vkInterface, |
VkPhysicalDevice device, uint32_t featureFlags, uint32_t extensionFlags); |
void initGrCaps(const VkPhysicalDeviceProperties&, |
@@ -107,6 +115,10 @@ private: |
// Tells of if we can pass in straight GLSL string into vkCreateShaderModule |
bool fCanUseGLSLForShaderModule; |
+ // On Adreno vulkan, they do not respect the imageOffset parameter at least in |
+ // copyImageToBuffer. This flag says that we must do the copy starting from the origin always. |
+ bool fMustDoCopiesFromOrigin; |
+ |
typedef GrCaps INHERITED; |
}; |