SDL  2.0
VULKAN_HPP_NAMESPACE::SubpassDescription Struct Reference

#include <vulkan.hpp>

+ Collaboration diagram for VULKAN_HPP_NAMESPACE::SubpassDescription:

Public Member Functions

 SubpassDescription (SubpassDescriptionFlags flags_=SubpassDescriptionFlags(), PipelineBindPoint pipelineBindPoint_=PipelineBindPoint::eGraphics, uint32_t inputAttachmentCount_=0, const AttachmentReference *pInputAttachments_=nullptr, uint32_t colorAttachmentCount_=0, const AttachmentReference *pColorAttachments_=nullptr, const AttachmentReference *pResolveAttachments_=nullptr, const AttachmentReference *pDepthStencilAttachment_=nullptr, uint32_t preserveAttachmentCount_=0, const uint32_t *pPreserveAttachments_=nullptr)
 
 SubpassDescription (VkSubpassDescription const &rhs)
 
SubpassDescriptionoperator= (VkSubpassDescription const &rhs)
 
SubpassDescriptionsetFlags (SubpassDescriptionFlags flags_)
 
SubpassDescriptionsetPipelineBindPoint (PipelineBindPoint pipelineBindPoint_)
 
SubpassDescriptionsetInputAttachmentCount (uint32_t inputAttachmentCount_)
 
SubpassDescriptionsetPInputAttachments (const AttachmentReference *pInputAttachments_)
 
SubpassDescriptionsetColorAttachmentCount (uint32_t colorAttachmentCount_)
 
SubpassDescriptionsetPColorAttachments (const AttachmentReference *pColorAttachments_)
 
SubpassDescriptionsetPResolveAttachments (const AttachmentReference *pResolveAttachments_)
 
SubpassDescriptionsetPDepthStencilAttachment (const AttachmentReference *pDepthStencilAttachment_)
 
SubpassDescriptionsetPreserveAttachmentCount (uint32_t preserveAttachmentCount_)
 
SubpassDescriptionsetPPreserveAttachments (const uint32_t *pPreserveAttachments_)
 
 operator VkSubpassDescription const & () const
 
 operator VkSubpassDescription & ()
 
bool operator== (SubpassDescription const &rhs) const
 
bool operator!= (SubpassDescription const &rhs) const
 

Data Fields

SubpassDescriptionFlags flags
 
PipelineBindPoint pipelineBindPoint
 
uint32_t inputAttachmentCount
 
const AttachmentReferencepInputAttachments
 
uint32_t colorAttachmentCount
 
const AttachmentReferencepColorAttachments
 
const AttachmentReferencepResolveAttachments
 
const AttachmentReferencepDepthStencilAttachment
 
uint32_t preserveAttachmentCount
 
const uint32_tpPreserveAttachments
 

Detailed Description

Definition at line 34786 of file vulkan.hpp.

Constructor & Destructor Documentation

◆ SubpassDescription() [1/2]

VULKAN_HPP_NAMESPACE::SubpassDescription::SubpassDescription ( SubpassDescriptionFlags  flags_ = SubpassDescriptionFlags(),
PipelineBindPoint  pipelineBindPoint_ = PipelineBindPoint::eGraphics,
uint32_t  inputAttachmentCount_ = 0,
const AttachmentReference pInputAttachments_ = nullptr,
uint32_t  colorAttachmentCount_ = 0,
const AttachmentReference pColorAttachments_ = nullptr,
const AttachmentReference pResolveAttachments_ = nullptr,
const AttachmentReference pDepthStencilAttachment_ = nullptr,
uint32_t  preserveAttachmentCount_ = 0,
const uint32_t pPreserveAttachments_ = nullptr 
)
inline

Definition at line 34788 of file vulkan.hpp.

34798  : flags( flags_ )
34799  , pipelineBindPoint( pipelineBindPoint_ )
34800  , inputAttachmentCount( inputAttachmentCount_ )
34801  , pInputAttachments( pInputAttachments_ )
34802  , colorAttachmentCount( colorAttachmentCount_ )
34803  , pColorAttachments( pColorAttachments_ )
34804  , pResolveAttachments( pResolveAttachments_ )
34805  , pDepthStencilAttachment( pDepthStencilAttachment_ )
34806  , preserveAttachmentCount( preserveAttachmentCount_ )
34807  , pPreserveAttachments( pPreserveAttachments_ )
34808  {
34809  }

◆ SubpassDescription() [2/2]

VULKAN_HPP_NAMESPACE::SubpassDescription::SubpassDescription ( VkSubpassDescription const &  rhs)
inline

Definition at line 34811 of file vulkan.hpp.

34812  {
34813  memcpy( this, &rhs, sizeof( SubpassDescription ) );
34814  }

References memcpy.

Member Function Documentation

◆ operator VkSubpassDescription &()

VULKAN_HPP_NAMESPACE::SubpassDescription::operator VkSubpassDescription & ( )
inline

Definition at line 34886 of file vulkan.hpp.

34887  {
34888  return *reinterpret_cast<VkSubpassDescription*>(this);
34889  }

◆ operator VkSubpassDescription const &()

VULKAN_HPP_NAMESPACE::SubpassDescription::operator VkSubpassDescription const & ( ) const
inline

Definition at line 34881 of file vulkan.hpp.

34882  {
34883  return *reinterpret_cast<const VkSubpassDescription*>(this);
34884  }

◆ operator!=()

bool VULKAN_HPP_NAMESPACE::SubpassDescription::operator!= ( SubpassDescription const &  rhs) const
inline

Definition at line 34905 of file vulkan.hpp.

34906  {
34907  return !operator==( rhs );
34908  }

References operator==().

◆ operator=()

SubpassDescription& VULKAN_HPP_NAMESPACE::SubpassDescription::operator= ( VkSubpassDescription const &  rhs)
inline

Definition at line 34816 of file vulkan.hpp.

34817  {
34818  memcpy( this, &rhs, sizeof( SubpassDescription ) );
34819  return *this;
34820  }

References memcpy.

◆ operator==()

bool VULKAN_HPP_NAMESPACE::SubpassDescription::operator== ( SubpassDescription const &  rhs) const
inline

Definition at line 34891 of file vulkan.hpp.

34892  {
34893  return ( flags == rhs.flags )
34894  && ( pipelineBindPoint == rhs.pipelineBindPoint )
34895  && ( inputAttachmentCount == rhs.inputAttachmentCount )
34896  && ( pInputAttachments == rhs.pInputAttachments )
34897  && ( colorAttachmentCount == rhs.colorAttachmentCount )
34898  && ( pColorAttachments == rhs.pColorAttachments )
34899  && ( pResolveAttachments == rhs.pResolveAttachments )
34900  && ( pDepthStencilAttachment == rhs.pDepthStencilAttachment )
34901  && ( preserveAttachmentCount == rhs.preserveAttachmentCount )
34902  && ( pPreserveAttachments == rhs.pPreserveAttachments );
34903  }

References colorAttachmentCount, flags, inputAttachmentCount, pColorAttachments, pDepthStencilAttachment, pInputAttachments, pipelineBindPoint, pPreserveAttachments, preserveAttachmentCount, and pResolveAttachments.

Referenced by operator!=().

◆ setColorAttachmentCount()

SubpassDescription& VULKAN_HPP_NAMESPACE::SubpassDescription::setColorAttachmentCount ( uint32_t  colorAttachmentCount_)
inline

Definition at line 34845 of file vulkan.hpp.

34846  {
34847  colorAttachmentCount = colorAttachmentCount_;
34848  return *this;
34849  }

References colorAttachmentCount.

◆ setFlags()

SubpassDescription& VULKAN_HPP_NAMESPACE::SubpassDescription::setFlags ( SubpassDescriptionFlags  flags_)
inline

Definition at line 34821 of file vulkan.hpp.

34822  {
34823  flags = flags_;
34824  return *this;
34825  }

References flags_.

◆ setInputAttachmentCount()

SubpassDescription& VULKAN_HPP_NAMESPACE::SubpassDescription::setInputAttachmentCount ( uint32_t  inputAttachmentCount_)
inline

Definition at line 34833 of file vulkan.hpp.

34834  {
34835  inputAttachmentCount = inputAttachmentCount_;
34836  return *this;
34837  }

References inputAttachmentCount.

◆ setPColorAttachments()

SubpassDescription& VULKAN_HPP_NAMESPACE::SubpassDescription::setPColorAttachments ( const AttachmentReference pColorAttachments_)
inline

Definition at line 34851 of file vulkan.hpp.

34852  {
34853  pColorAttachments = pColorAttachments_;
34854  return *this;
34855  }

References pColorAttachments.

◆ setPDepthStencilAttachment()

SubpassDescription& VULKAN_HPP_NAMESPACE::SubpassDescription::setPDepthStencilAttachment ( const AttachmentReference pDepthStencilAttachment_)
inline

Definition at line 34863 of file vulkan.hpp.

34864  {
34865  pDepthStencilAttachment = pDepthStencilAttachment_;
34866  return *this;
34867  }

References pDepthStencilAttachment.

◆ setPInputAttachments()

SubpassDescription& VULKAN_HPP_NAMESPACE::SubpassDescription::setPInputAttachments ( const AttachmentReference pInputAttachments_)
inline

Definition at line 34839 of file vulkan.hpp.

34840  {
34841  pInputAttachments = pInputAttachments_;
34842  return *this;
34843  }

References pInputAttachments.

◆ setPipelineBindPoint()

SubpassDescription& VULKAN_HPP_NAMESPACE::SubpassDescription::setPipelineBindPoint ( PipelineBindPoint  pipelineBindPoint_)
inline

Definition at line 34827 of file vulkan.hpp.

34828  {
34829  pipelineBindPoint = pipelineBindPoint_;
34830  return *this;
34831  }

References pipelineBindPoint.

◆ setPPreserveAttachments()

SubpassDescription& VULKAN_HPP_NAMESPACE::SubpassDescription::setPPreserveAttachments ( const uint32_t pPreserveAttachments_)
inline

Definition at line 34875 of file vulkan.hpp.

34876  {
34877  pPreserveAttachments = pPreserveAttachments_;
34878  return *this;
34879  }

References pPreserveAttachments.

◆ setPreserveAttachmentCount()

SubpassDescription& VULKAN_HPP_NAMESPACE::SubpassDescription::setPreserveAttachmentCount ( uint32_t  preserveAttachmentCount_)
inline

Definition at line 34869 of file vulkan.hpp.

34870  {
34871  preserveAttachmentCount = preserveAttachmentCount_;
34872  return *this;
34873  }

References preserveAttachmentCount.

◆ setPResolveAttachments()

SubpassDescription& VULKAN_HPP_NAMESPACE::SubpassDescription::setPResolveAttachments ( const AttachmentReference pResolveAttachments_)
inline

Definition at line 34857 of file vulkan.hpp.

34858  {
34859  pResolveAttachments = pResolveAttachments_;
34860  return *this;
34861  }

References pResolveAttachments.

Field Documentation

◆ colorAttachmentCount

uint32_t VULKAN_HPP_NAMESPACE::SubpassDescription::colorAttachmentCount

Definition at line 34914 of file vulkan.hpp.

Referenced by operator==(), and setColorAttachmentCount().

◆ flags

SubpassDescriptionFlags VULKAN_HPP_NAMESPACE::SubpassDescription::flags

Definition at line 34910 of file vulkan.hpp.

Referenced by operator==().

◆ inputAttachmentCount

uint32_t VULKAN_HPP_NAMESPACE::SubpassDescription::inputAttachmentCount

Definition at line 34912 of file vulkan.hpp.

Referenced by operator==(), and setInputAttachmentCount().

◆ pColorAttachments

const AttachmentReference* VULKAN_HPP_NAMESPACE::SubpassDescription::pColorAttachments

Definition at line 34915 of file vulkan.hpp.

Referenced by operator==(), and setPColorAttachments().

◆ pDepthStencilAttachment

const AttachmentReference* VULKAN_HPP_NAMESPACE::SubpassDescription::pDepthStencilAttachment

Definition at line 34917 of file vulkan.hpp.

Referenced by operator==(), and setPDepthStencilAttachment().

◆ pInputAttachments

const AttachmentReference* VULKAN_HPP_NAMESPACE::SubpassDescription::pInputAttachments

Definition at line 34913 of file vulkan.hpp.

Referenced by operator==(), and setPInputAttachments().

◆ pipelineBindPoint

PipelineBindPoint VULKAN_HPP_NAMESPACE::SubpassDescription::pipelineBindPoint

Definition at line 34911 of file vulkan.hpp.

Referenced by operator==(), and setPipelineBindPoint().

◆ pPreserveAttachments

const uint32_t* VULKAN_HPP_NAMESPACE::SubpassDescription::pPreserveAttachments

Definition at line 34919 of file vulkan.hpp.

Referenced by operator==(), and setPPreserveAttachments().

◆ preserveAttachmentCount

uint32_t VULKAN_HPP_NAMESPACE::SubpassDescription::preserveAttachmentCount

Definition at line 34918 of file vulkan.hpp.

Referenced by operator==(), and setPreserveAttachmentCount().

◆ pResolveAttachments

const AttachmentReference* VULKAN_HPP_NAMESPACE::SubpassDescription::pResolveAttachments

Definition at line 34916 of file vulkan.hpp.

Referenced by operator==(), and setPResolveAttachments().


The documentation for this struct was generated from the following file:
VULKAN_HPP_NAMESPACE::SubpassDescription::pDepthStencilAttachment
const AttachmentReference * pDepthStencilAttachment
Definition: vulkan.hpp:34917
VULKAN_HPP_NAMESPACE::SubpassDescription::inputAttachmentCount
uint32_t inputAttachmentCount
Definition: vulkan.hpp:34912
VULKAN_HPP_NAMESPACE::SubpassDescription::pInputAttachments
const AttachmentReference * pInputAttachments
Definition: vulkan.hpp:34913
VkSubpassDescription
Definition: vulkan_core.h:2635
memcpy
#define memcpy
Definition: SDL_malloc.c:630
VULKAN_HPP_NAMESPACE::SubpassDescription::pPreserveAttachments
const uint32_t * pPreserveAttachments
Definition: vulkan.hpp:34919
VULKAN_HPP_NAMESPACE::SubpassDescription::preserveAttachmentCount
uint32_t preserveAttachmentCount
Definition: vulkan.hpp:34918
VULKAN_HPP_NAMESPACE::SubpassDescription::pColorAttachments
const AttachmentReference * pColorAttachments
Definition: vulkan.hpp:34915
VULKAN_HPP_NAMESPACE::SubpassDescription::colorAttachmentCount
uint32_t colorAttachmentCount
Definition: vulkan.hpp:34914
VULKAN_HPP_NAMESPACE::SubpassDescription::pResolveAttachments
const AttachmentReference * pResolveAttachments
Definition: vulkan.hpp:34916
flags_
set set set set set set set set set set set set set set set set set set set set *set set set macro pixldst op &r &cond WK op &r &cond WK op &r &cond WK else op &m &cond &ia op &r &cond WK else op &m &cond &ia elseif elseif else error unsupported base if elseif elseif else error unsupported unaligned pixldst unaligned endm macro pixst base base else pixldst base endif endm macro PF base if bpp PF set rept prefetch_distance PF set OFFSET endr endif endm macro preload_leading_step2 base if bpp ifc DST PF PF else if bpp lsl PF PF lsl PF PF lsl PF PF PF else PF lsl PF lsl PF lsl PF endif SIZE macro preload_middle scratch_holds_offset if bpp if else PF PF endif endif endif endm macro preload_trailing base if bpp if bpp *pix_per_block PF PF lsl PF PF PF PF PF else PF lsl PF lsl PF PF PF PF PF base if bpp if narrow_case &&bpp<=dst_w_bpp) PF bic, WK0, base, #31 PF pld,[WK0] PF add, WK1, base, X, LSL #bpp_shift PF sub, WK1, WK1, #1 PF bic, WK1, WK1, #31 PF cmp, WK1, WK0 PF beq, 90f PF pld,[WK1]90:.else PF bic, WK0, base, #31 PF pld,[WK0] PF add, WK1, base, X, lsl #bpp_shift PF sub, WK1, WK1, #1 PF bic, WK1, WK1, #31 PF cmp, WK1, WK0 PF beq, 92f91:PF add, WK0, WK0, #32 PF cmp, WK0, WK1 PF pld,[WK0] PF bne, 91b92:.endif .endif.endm.macro conditional_process1_helper cond, process_head, process_tail, numbytes, firstreg, unaligned_src, unaligned_mask, decrementx process_head cond, numbytes, firstreg, unaligned_src, unaligned_mask, 0 .if decrementx sub &cond X, X, #8 *numbytes/dst_w_bpp .endif process_tail cond, numbytes, firstreg .if !((flags) &FLAG_PROCESS_DOES_STORE) pixst cond, numbytes, firstreg, DST .endif.endm.macro conditional_process1 cond, process_head, process_tail, numbytes, firstreg, unaligned_src, unaligned_mask, decrementx .if(flags) &FLAG_BRANCH_OVER .ifc cond, mi bpl 100f .endif .ifc cond, cs bcc 100f .endif .ifc cond, ne beq 100f .endif conditional_process1_helper, process_head, process_tail, numbytes, firstreg, unaligned_src, unaligned_mask, decrementx100:.else conditional_process1_helper cond, process_head, process_tail, numbytes, firstreg, unaligned_src, unaligned_mask, decrementx .endif.endm.macro conditional_process2 test, cond1, cond2, process_head, process_tail, numbytes1, numbytes2, firstreg1, firstreg2, unaligned_src, unaligned_mask, decrementx .if(flags) &(FLAG_DST_READWRITE|FLAG_BRANCH_OVER|FLAG_PROCESS_CORRUPTS_PSR|FLAG_PROCESS_DOES_STORE) test conditional_process1 cond1, process_head, process_tail, numbytes1, firstreg1, unaligned_src, unaligned_mask, decrementx .if(flags) &FLAG_PROCESS_CORRUPTS_PSR test .endif conditional_process1 cond2, process_head, process_tail, numbytes2, firstreg2, unaligned_src, unaligned_mask, decrementx .else test process_head cond1, numbytes1, firstreg1, unaligned_src, unaligned_mask, 0 process_head cond2, numbytes2, firstreg2, unaligned_src, unaligned_mask, 0 .if decrementx sub &cond1 X, X, #8 *numbytes1/dst_w_bpp sub &cond2 X, X, #8 *numbytes2/dst_w_bpp .endif process_tail cond1, numbytes1, firstreg1 process_tail cond2, numbytes2, firstreg2 pixst cond1, numbytes1, firstreg1, DST pixst cond2, numbytes2, firstreg2, DST .endif.endm.macro test_bits_1_0_ptr .if(flags) &FLAG_PROCESS_CORRUPTS_WK0 movs SCRATCH, X, lsl #32-1 .else movs SCRATCH, WK0, lsl #32-1 .endif.endm.macro test_bits_3_2_ptr .if(flags) &FLAG_PROCESS_CORRUPTS_WK0 movs SCRATCH, X, lsl #32-3 .else movs SCRATCH, WK0, lsl #32-3 .endif.endm.macro leading_15bytes process_head, process_tail .set DECREMENT_X, 1 .if(flags) &FLAG_PROCESS_CORRUPTS_WK0 .set DECREMENT_X, 0 sub X, X, WK0, lsr #dst_bpp_shift str X,[sp, #LINE_SAVED_REG_COUNT *4] mov X, WK0 .endif .if dst_w_bpp==8 conditional_process2 test_bits_1_0_ptr, mi, cs, process_head, process_tail, 1, 2, 1, 2, 1, 1, DECREMENT_X .elseif dst_w_bpp==16 test_bits_1_0_ptr conditional_process1 cs, process_head, process_tail, 2, 2, 1, 1, DECREMENT_X .endif conditional_process2 test_bits_3_2_ptr, mi, cs, process_head, process_tail, 4, 8, 1, 2, 1, 1, DECREMENT_X .if(flags) &FLAG_PROCESS_CORRUPTS_WK0 ldr X,[sp, #LINE_SAVED_REG_COUNT *4] .endif.endm.macro test_bits_3_2_pix movs SCRATCH, X, lsl #dst_bpp_shift+32-3.endm.macro test_bits_1_0_pix .if dst_w_bpp==8 movs SCRATCH, X, lsl #dst_bpp_shift+32-1 .else movs SCRATCH, X, lsr #1 .endif.endm.macro trailing_15bytes process_head, process_tail, unaligned_src, unaligned_mask conditional_process2 test_bits_3_2_pix, cs, mi, process_head, process_tail, 8, 4, 0, 2, unaligned_src, unaligned_mask, 0 .if dst_w_bpp==16 test_bits_1_0_pix conditional_process1 cs, process_head, process_tail, 2, 0, unaligned_src, unaligned_mask, 0 .elseif dst_w_bpp==8 conditional_process2 test_bits_1_0_pix, cs, mi, process_head, process_tail, 2, 1, 0, 1, unaligned_src, unaligned_mask, 0 .endif.endm.macro wide_case_inner_loop process_head, process_tail, unaligned_src, unaligned_mask, dst_alignment110:.set SUBBLOCK, 0 .rept pix_per_block *dst_w_bpp/128 process_head, 16, 0, unaligned_src, unaligned_mask, 1 .if(src_bpp > 0) &&(mask_bpp==0) &&((flags) &FLAG_PROCESS_PRESERVES_SCRATCH) preload_middle src_bpp, SRC, 1 .elseif(src_bpp==0) &&(mask_bpp > 0) &&((flags) &FLAG_PROCESS_PRESERVES_SCRATCH) preload_middle mask_bpp, MASK, 1 .else preload_middle src_bpp, SRC, 0 preload_middle mask_bpp, MASK, 0 .endif .if(dst_r_bpp > 0) &&((SUBBLOCK % 2)==0) &&(((flags) &FLAG_NO_PRELOAD_DST)==0) PF pld,[DST, #32 *prefetch_distance - dst_alignment] .endif process_tail, 16, 0 .if !((flags) &FLAG_PROCESS_DOES_STORE) pixst, 16, 0, DST .endif .set SUBBLOCK, SUBBLOCK+1 .endr subs X, X, #pix_per_block bhs 110b.endm.macro wide_case_inner_loop_and_trailing_pixels process_head, process_tail, process_inner_loop, exit_label, unaligned_src, unaligned_mask .if dst_r_bpp > tst bne process_inner_loop DST_PRELOAD_BIAS endif preload_trailing SRC preload_trailing MASK DST endif add medium_case_inner_loop_and_trailing_pixels unaligned_mask endm macro medium_case_inner_loop_and_trailing_pixels DST endif subs bhs tst beq exit_label trailing_15bytes unaligned_mask endm macro narrow_case_inner_loop_and_trailing_pixels unaligned_mask tst conditional_process1 trailing_15bytes unaligned_mask endm macro switch_on_alignment exit_label if bne endif if bne endif action if endif if bne endif action if endif endif endm macro end_of_line last_one if SINGLE_SCANLINE ifc b endif else if vars_spilled word LINE_SAVED_REGS endif subs if vars_spilled endif endif add STRIDE_D if src_bpp add STRIDE_S endif if mask_bpp add STRIDE_M endif if restore_x mov ORIG_W endif bhs loop_label ifc if vars_spilled b else b endif else flags_
Definition: pixman-arm-simd-asm.h:590
VULKAN_HPP_NAMESPACE::SubpassDescription::flags
SubpassDescriptionFlags flags
Definition: vulkan.hpp:34910
VULKAN_HPP_NAMESPACE::SubpassDescription::SubpassDescription
SubpassDescription(SubpassDescriptionFlags flags_=SubpassDescriptionFlags(), PipelineBindPoint pipelineBindPoint_=PipelineBindPoint::eGraphics, uint32_t inputAttachmentCount_=0, const AttachmentReference *pInputAttachments_=nullptr, uint32_t colorAttachmentCount_=0, const AttachmentReference *pColorAttachments_=nullptr, const AttachmentReference *pResolveAttachments_=nullptr, const AttachmentReference *pDepthStencilAttachment_=nullptr, uint32_t preserveAttachmentCount_=0, const uint32_t *pPreserveAttachments_=nullptr)
Definition: vulkan.hpp:34788
flags
GLbitfield flags
Definition: SDL_opengl_glext.h:1483
VULKAN_HPP_NAMESPACE::SubpassDescription::operator==
bool operator==(SubpassDescription const &rhs) const
Definition: vulkan.hpp:34891
VULKAN_HPP_NAMESPACE::SubpassDescription::pipelineBindPoint
PipelineBindPoint pipelineBindPoint
Definition: vulkan.hpp:34911