| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2016 Google Inc. | 2 * Copyright 2016 Google Inc. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
| 5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
| 6 */ | 6 */ |
| 7 | 7 |
| 8 #include "GrVkResourceProvider.h" | 8 #include "GrVkResourceProvider.h" |
| 9 | 9 |
| 10 #include "GrTextureParams.h" | 10 #include "GrTextureParams.h" |
| (...skipping 321 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 332 const GrVkRenderPass::LoadSto
reOps& colorOps, | 332 const GrVkRenderPass::LoadSto
reOps& colorOps, |
| 333 const GrVkRenderPass::LoadSto
reOps& resolveOps, | 333 const GrVkRenderPass::LoadSto
reOps& resolveOps, |
| 334 const GrVkRenderPass::LoadSto
reOps& stencilOps) { | 334 const GrVkRenderPass::LoadSto
reOps& stencilOps) { |
| 335 for (int i = 0; i < fRenderPasses.count(); ++i) { | 335 for (int i = 0; i < fRenderPasses.count(); ++i) { |
| 336 int idx = (i + fLastReturnedIndex) % fRenderPasses.count(); | 336 int idx = (i + fLastReturnedIndex) % fRenderPasses.count(); |
| 337 if (fRenderPasses[idx]->equalLoadStoreOps(colorOps, resolveOps, stencilO
ps)) { | 337 if (fRenderPasses[idx]->equalLoadStoreOps(colorOps, resolveOps, stencilO
ps)) { |
| 338 fLastReturnedIndex = idx; | 338 fLastReturnedIndex = idx; |
| 339 return fRenderPasses[idx]; | 339 return fRenderPasses[idx]; |
| 340 } | 340 } |
| 341 } | 341 } |
| 342 GrVkRenderPass* renderPass = fRenderPasses.push_back(); | 342 GrVkRenderPass* renderPass = fRenderPasses.emplace_back(new GrVkRenderPass()
); |
| 343 renderPass->init(gpu, *this->getCompatibleRenderPass(), colorOps, resolveOps
, stencilOps); | 343 renderPass->init(gpu, *this->getCompatibleRenderPass(), colorOps, resolveOps
, stencilOps); |
| 344 fLastReturnedIndex = fRenderPasses.count() - 1; | 344 fLastReturnedIndex = fRenderPasses.count() - 1; |
| 345 return renderPass; | 345 return renderPass; |
| 346 } | 346 } |
| 347 | 347 |
| 348 void GrVkResourceProvider::CompatibleRenderPassSet::releaseResources(const GrVkG
pu* gpu) { | 348 void GrVkResourceProvider::CompatibleRenderPassSet::releaseResources(const GrVkG
pu* gpu) { |
| 349 for (int i = 0; i < fRenderPasses.count(); ++i) { | 349 for (int i = 0; i < fRenderPasses.count(); ++i) { |
| 350 if (fRenderPasses[i]) { | 350 if (fRenderPasses[i]) { |
| 351 fRenderPasses[i]->unref(gpu); | 351 fRenderPasses[i]->unref(gpu); |
| 352 fRenderPasses[i] = nullptr; | 352 fRenderPasses[i] = nullptr; |
| 353 } | 353 } |
| 354 } | 354 } |
| 355 } | 355 } |
| 356 | 356 |
| 357 void GrVkResourceProvider::CompatibleRenderPassSet::abandonResources() { | 357 void GrVkResourceProvider::CompatibleRenderPassSet::abandonResources() { |
| 358 for (int i = 0; i < fRenderPasses.count(); ++i) { | 358 for (int i = 0; i < fRenderPasses.count(); ++i) { |
| 359 if (fRenderPasses[i]) { | 359 if (fRenderPasses[i]) { |
| 360 fRenderPasses[i]->unrefAndAbandon(); | 360 fRenderPasses[i]->unrefAndAbandon(); |
| 361 fRenderPasses[i] = nullptr; | 361 fRenderPasses[i] = nullptr; |
| 362 } | 362 } |
| 363 } | 363 } |
| 364 } | 364 } |
| OLD | NEW |