#include <GrVkRenderPass.h>
|
static GrVkRenderPass * | CreateSimple (GrVkGpu *, AttachmentsDescriptor *, AttachmentFlags, SelfDependencyFlags selfDepFlags, LoadFromResolve) |
|
static GrVkRenderPass * | Create (GrVkGpu *, const GrVkRenderPass &compatibleRenderPass, const LoadStoreOps &colorOp, const LoadStoreOps &resolveOp, const LoadStoreOps &stencilOp) |
|
static void | GenKey (skgpu::KeyBuilder *, AttachmentFlags, const AttachmentsDescriptor &, SelfDependencyFlags selfDepFlags, LoadFromResolve, uint64_t externalRenderPass) |
|
Definition at line 24 of file GrVkRenderPass.h.
◆ AttachmentFlags
Enumerator |
---|
kColor_AttachmentFlag | |
kStencil_AttachmentFlag | |
kResolve_AttachmentFlag | |
kExternal_AttachmentFlag | |
Definition at line 83 of file GrVkRenderPass.h.
83 : uint32_t {
87
88
89
90
92 };
@ kExternal_AttachmentFlag
@ kStencil_AttachmentFlag
@ kResolve_AttachmentFlag
◆ LoadFromResolve
Definition at line 102 of file GrVkRenderPass.h.
102 {
105 };
@ kNo
Don't pre-clip the geometry before applying the (perspective) matrix.
◆ SelfDependencyFlags
Enumerator |
---|
kNone | |
kForInputAttachment | |
kForNonCoherentAdvBlend | |
Definition at line 95 of file GrVkRenderPass.h.
95 {
97 kForInputAttachment = 1 << 0,
98 kForNonCoherentAdvBlend = 1 << 1,
99 };
◆ GrVkRenderPass()
GrVkRenderPass::GrVkRenderPass |
( |
const GrVkGpu * |
gpu, |
|
|
VkRenderPass |
renderPass, |
|
|
uint32_t |
colorAttachmentIndex |
|
) |
| |
|
inlineexplicit |
Definition at line 45 of file GrVkRenderPass.h.
47 : INHERITED(gpu)
48 , fRenderPass(renderPass)
52 , fClearValueCount(0)
bool colorAttachmentIndex(uint32_t *index) const
◆ clearValueCount()
uint32_t GrVkRenderPass::clearValueCount |
( |
| ) |
const |
|
inline |
◆ colorAttachmentIndex()
bool GrVkRenderPass::colorAttachmentIndex |
( |
uint32_t * |
index | ) |
const |
Definition at line 344 of file GrVkRenderPass.cpp.
344 {
345 *index = fColorAttachmentIndex;
348 return true;
349 }
350 return false;
351}
◆ Create()
Definition at line 73 of file GrVkRenderPass.cpp.
77 {
78 AttachmentFlags attachmentFlags = compatibleRenderPass.fAttachmentFlags;
79 AttachmentsDescriptor attachmentsDescriptor = compatibleRenderPass.fAttachmentsDescriptor;
82 return Create(gpu, attachmentFlags, &attachmentsDescriptor, colorOp, resolveOp, stencilOp,
84}
LoadFromResolve loadFromResolve() const
static GrVkRenderPass * Create(GrVkGpu *, const GrVkRenderPass &compatibleRenderPass, const LoadStoreOps &colorOp, const LoadStoreOps &resolveOp, const LoadStoreOps &stencilOp)
◆ CreateSimple()
Definition at line 52 of file GrVkRenderPass.cpp.
56 {
61 return Create(gpu, attachmentFlags, attachmentsDescriptor, kBasicLoadStoreOps,
66 return Create(gpu, attachmentFlags, attachmentsDescriptor, kDiscardLoadStoreOps,
68 }
69 }
71}
@ VK_ATTACHMENT_LOAD_OP_LOAD
@ VK_ATTACHMENT_LOAD_OP_DONT_CARE
@ VK_ATTACHMENT_STORE_OP_DONT_CARE
@ VK_ATTACHMENT_STORE_OP_STORE
◆ genKey()
Definition at line 450 of file GrVkRenderPass.cpp.
450 {
451 GenKey(
b, fAttachmentFlags, fAttachmentsDescriptor, fSelfDepFlags,
452 fLoadFromResolve, (uint64_t)fRenderPass);
453}
static void GenKey(skgpu::KeyBuilder *, AttachmentFlags, const AttachmentsDescriptor &, SelfDependencyFlags selfDepFlags, LoadFromResolve, uint64_t externalRenderPass)
◆ GenKey()
Definition at line 455 of file GrVkRenderPass.cpp.
460 {
461 b->add32(attachmentFlags);
463 b->add32(attachmentsDescriptor.fColor.fFormat);
464 b->add32(attachmentsDescriptor.fColor.fSamples);
465 }
467 b->add32(attachmentsDescriptor.fResolve.fFormat);
468 b->add32(attachmentsDescriptor.fResolve.fSamples);
469 }
471 b->add32(attachmentsDescriptor.fStencil.fFormat);
472 b->add32(attachmentsDescriptor.fStencil.fSamples);
473 }
474
475 uint32_t extraFlags = (uint32_t)selfDepFlags;
479
480 b->add32(extraFlags);
481
484 b->add32((uint32_t)(externalRenderPass & 0xFFFFFFFF));
485 b->add32((uint32_t)(externalRenderPass>>32));
486 }
487}
◆ GR_DECL_BITFIELD_CLASS_OPS_FRIENDS()
◆ granularity()
◆ hasResolveAttachment()
bool GrVkRenderPass::hasResolveAttachment |
( |
| ) |
const |
|
inline |
◆ hasStencilAttachment()
bool GrVkRenderPass::hasStencilAttachment |
( |
| ) |
const |
|
inline |
◆ isCompatible() [1/3]
Definition at line 366 of file GrVkRenderPass.cpp.
369 {
371 if (
flags != fAttachmentFlags) {
372 return false;
373 }
374
377 return false;
378 }
379 }
382 return false;
383 }
384 }
387 return false;
388 }
389 }
390
391 if (fSelfDepFlags != selfDepFlags) {
392 return false;
393 }
394
396 return false;
397 }
398
399 return true;
400}
FlutterSemanticsFlag flags
bool isCompatible(const AttachmentDesc &desc) const
◆ isCompatible() [2/3]
Definition at line 417 of file GrVkRenderPass.cpp.
417 {
419 return this->
isCompatible(renderPass.fAttachmentsDescriptor, renderPass.fAttachmentFlags,
420 renderPass.fSelfDepFlags, renderPass.fLoadFromResolve);
421}
bool isCompatible(GrVkRenderTarget *target, SelfDependencyFlags selfDepFlags, LoadFromResolve) const
◆ isCompatible() [3/3]
Definition at line 402 of file GrVkRenderPass.cpp.
404 {
406
407 AttachmentsDescriptor
desc;
409 if (!
target->getAttachmentsDescriptor(&
desc, &
flags, this->hasResolveAttachment(),
410 this->hasStencilAttachment())) {
411 return false;
412 }
413
415}
◆ isCompatibleExternalRP()
bool GrVkRenderPass::isCompatibleExternalRP |
( |
VkRenderPass |
renderPass | ) |
const |
◆ loadFromResolve()
◆ selfDependencyFlags()
◆ SkDEBUGCODE()
◆ stencilAttachmentIndex()
bool GrVkRenderPass::stencilAttachmentIndex |
( |
uint32_t * |
index | ) |
const |
Definition at line 355 of file GrVkRenderPass.cpp.
355 {
356 *index = 0;
358 ++(*index);
359 }
361 return true;
362 }
363 return false;
364}
◆ vkRenderPass()
VkRenderPass GrVkRenderPass::vkRenderPass |
( |
| ) |
const |
|
inline |
◆ const
◆ resolveOps
The documentation for this class was generated from the following files: