Index: src/gpu/vk/GrVkCaps.cpp |
diff --git a/src/gpu/vk/GrVkCaps.cpp b/src/gpu/vk/GrVkCaps.cpp |
index 7669ba541a9d94513889d5296f266713cffcc98e..e72e723dd6219b06544b4dc419383ae66e6f7ffc 100644 |
--- a/src/gpu/vk/GrVkCaps.cpp |
+++ b/src/gpu/vk/GrVkCaps.cpp |
@@ -19,6 +19,7 @@ GrVkCaps::GrVkCaps(const GrContextOptions& contextOptions, const GrVkInterface* |
fMustDoCopiesFromOrigin = false; |
fAllowInitializationErrorOnTearDown = false; |
fSupportsCopiesAsDraws = false; |
+ fMustSubmitCommandsBeforeCopyOp = false; |
/************************************************************************** |
* GrDrawTargetCaps fields |
@@ -74,6 +75,11 @@ void GrVkCaps::init(const GrContextOptions& contextOptions, const GrVkInterface* |
fAllowInitializationErrorOnTearDown = true; |
} |
+ if (kNvidia_VkVendor == properties.vendorID) { |
+ fSupportsCopiesAsDraws = true; |
+ fMustSubmitCommandsBeforeCopyOp = true; |
+ } |
+ |
this->applyOptionsOverrides(contextOptions); |
GrGLSLCaps* glslCaps = static_cast<GrGLSLCaps*>(fShaderCaps.get()); |
glslCaps->applyOptionsOverrides(contextOptions); |