Add constructor for structures which kind of extends some other structures (like Offset3D extending Offset2D) (#213)

This commit is contained in:
Andreas Süßenbach
2018-05-07 16:44:32 +02:00
committed by Markus Tavenrath
parent 4c9b1f87b3
commit b075d67fbc
3 changed files with 156 additions and 33 deletions

View File

@@ -4810,6 +4810,12 @@ public:
{
}
explicit Offset3D( Offset2D const& offset2D, int32_t z_ = 0 )
: x( offset2D.x )
, y( offset2D.y )
, z( z_ )
{}
Offset3D( VkOffset3D const & rhs )
{
memcpy( this, &rhs, sizeof( Offset3D ) );
@@ -4921,6 +4927,12 @@ public:
{
}
explicit Extent3D( Extent2D const& extent2D, uint32_t depth_ = 0 )
: width( extent2D.width )
, height( extent2D.height )
, depth( depth_ )
{}
Extent3D( VkExtent3D const & rhs )
{
memcpy( this, &rhs, sizeof( Extent3D ) );
@@ -6614,6 +6626,12 @@ public:
{
}
explicit RectLayerKHR( Rect2D const& rect2D, uint32_t layer_ = 0 )
: offset( rect2D.offset )
, extent( rect2D.extent )
, layer( layer_ )
{}
RectLayerKHR( VkRectLayerKHR const & rhs )
{
memcpy( this, &rhs, sizeof( RectLayerKHR ) );
@@ -24953,6 +24971,12 @@ public:
{
}
explicit ObjectTablePipelineEntryNVX( ObjectTableEntryNVX const& objectTableEntryNVX, Pipeline pipeline_ = Pipeline() )
: type( objectTableEntryNVX.type )
, flags( objectTableEntryNVX.flags )
, pipeline( pipeline_ )
{}
ObjectTablePipelineEntryNVX( VkObjectTablePipelineEntryNVX const & rhs )
{
memcpy( this, &rhs, sizeof( ObjectTablePipelineEntryNVX ) );
@@ -25014,6 +25038,13 @@ public:
{
}
explicit ObjectTableDescriptorSetEntryNVX( ObjectTableEntryNVX const& objectTableEntryNVX, PipelineLayout pipelineLayout_ = PipelineLayout(), DescriptorSet descriptorSet_ = DescriptorSet() )
: type( objectTableEntryNVX.type )
, flags( objectTableEntryNVX.flags )
, pipelineLayout( pipelineLayout_ )
, descriptorSet( descriptorSet_ )
{}
ObjectTableDescriptorSetEntryNVX( VkObjectTableDescriptorSetEntryNVX const & rhs )
{
memcpy( this, &rhs, sizeof( ObjectTableDescriptorSetEntryNVX ) );
@@ -25082,6 +25113,12 @@ public:
{
}
explicit ObjectTableVertexBufferEntryNVX( ObjectTableEntryNVX const& objectTableEntryNVX, Buffer buffer_ = Buffer() )
: type( objectTableEntryNVX.type )
, flags( objectTableEntryNVX.flags )
, buffer( buffer_ )
{}
ObjectTableVertexBufferEntryNVX( VkObjectTableVertexBufferEntryNVX const & rhs )
{
memcpy( this, &rhs, sizeof( ObjectTableVertexBufferEntryNVX ) );
@@ -25143,6 +25180,13 @@ public:
{
}
explicit ObjectTableIndexBufferEntryNVX( ObjectTableEntryNVX const& objectTableEntryNVX, Buffer buffer_ = Buffer(), IndexType indexType_ = IndexType::eUint16 )
: type( objectTableEntryNVX.type )
, flags( objectTableEntryNVX.flags )
, buffer( buffer_ )
, indexType( indexType_ )
{}
ObjectTableIndexBufferEntryNVX( VkObjectTableIndexBufferEntryNVX const & rhs )
{
memcpy( this, &rhs, sizeof( ObjectTableIndexBufferEntryNVX ) );
@@ -25212,6 +25256,13 @@ public:
{
}
explicit ObjectTablePushConstantEntryNVX( ObjectTableEntryNVX const& objectTableEntryNVX, PipelineLayout pipelineLayout_ = PipelineLayout(), ShaderStageFlags stageFlags_ = ShaderStageFlags() )
: type( objectTableEntryNVX.type )
, flags( objectTableEntryNVX.flags )
, pipelineLayout( pipelineLayout_ )
, stageFlags( stageFlags_ )
{}
ObjectTablePushConstantEntryNVX( VkObjectTablePushConstantEntryNVX const & rhs )
{
memcpy( this, &rhs, sizeof( ObjectTablePushConstantEntryNVX ) );