mirror of
https://github.com/skyline-emu/skyline.git
synced 2024-11-17 06:49:18 +01:00
790 lines
28 KiB
C++
790 lines
28 KiB
C++
|
// Copyright (c) 2015-2019 The Khronos Group Inc.
|
||
|
//
|
||
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
||
|
// you may not use this file except in compliance with the License.
|
||
|
// You may obtain a copy of the License at
|
||
|
//
|
||
|
// http://www.apache.org/licenses/LICENSE-2.0
|
||
|
//
|
||
|
// Unless required by applicable law or agreed to in writing, software
|
||
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
||
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
|
// See the License for the specific language governing permissions and
|
||
|
// limitations under the License.
|
||
|
//
|
||
|
// ---- Exceptions to the Apache 2.0 License: ----
|
||
|
//
|
||
|
// As an exception, if you use this Software to generate code and portions of
|
||
|
// this Software are embedded into the generated code as a result, you may
|
||
|
// redistribute such product without providing attribution as would otherwise
|
||
|
// be required by Sections 4(a), 4(b) and 4(d) of the License.
|
||
|
//
|
||
|
// In addition, if you combine or link code generated by this Software with
|
||
|
// software that is licensed under the GPLv2 or the LGPL v2.0 or 2.1
|
||
|
// ("`Combined Software`") and if a court of competent jurisdiction determines
|
||
|
// that the patent provision (Section 3), the indemnity provision (Section 9)
|
||
|
// or other Section of the License conflicts with the conditions of the
|
||
|
// applicable GPL or LGPL license, you may retroactively and prospectively
|
||
|
// choose to deem waived or otherwise exclude such Section(s) of the License,
|
||
|
// but only in their entirety and only with respect to the Combined Software.
|
||
|
//
|
||
|
|
||
|
// This header is generated from the Khronos Vulkan XML API Registry.
|
||
|
|
||
|
#pragma once
|
||
|
|
||
|
#include "../handles.hpp"
|
||
|
#include "VkAcceleration.hpp"
|
||
|
|
||
|
namespace VULKAN_HPP_NAMESPACE
|
||
|
{
|
||
|
struct GeometryTrianglesNV
|
||
|
{
|
||
|
VULKAN_HPP_CONSTEXPR GeometryTrianglesNV( VULKAN_HPP_NAMESPACE::Buffer vertexData_ = {},
|
||
|
VULKAN_HPP_NAMESPACE::DeviceSize vertexOffset_ = {},
|
||
|
uint32_t vertexCount_ = {},
|
||
|
VULKAN_HPP_NAMESPACE::DeviceSize vertexStride_ = {},
|
||
|
VULKAN_HPP_NAMESPACE::Format vertexFormat_ = VULKAN_HPP_NAMESPACE::Format::eUndefined,
|
||
|
VULKAN_HPP_NAMESPACE::Buffer indexData_ = {},
|
||
|
VULKAN_HPP_NAMESPACE::DeviceSize indexOffset_ = {},
|
||
|
uint32_t indexCount_ = {},
|
||
|
VULKAN_HPP_NAMESPACE::IndexType indexType_ = VULKAN_HPP_NAMESPACE::IndexType::eUint16,
|
||
|
VULKAN_HPP_NAMESPACE::Buffer transformData_ = {},
|
||
|
VULKAN_HPP_NAMESPACE::DeviceSize transformOffset_ = {} ) VULKAN_HPP_NOEXCEPT
|
||
|
: vertexData( vertexData_ )
|
||
|
, vertexOffset( vertexOffset_ )
|
||
|
, vertexCount( vertexCount_ )
|
||
|
, vertexStride( vertexStride_ )
|
||
|
, vertexFormat( vertexFormat_ )
|
||
|
, indexData( indexData_ )
|
||
|
, indexOffset( indexOffset_ )
|
||
|
, indexCount( indexCount_ )
|
||
|
, indexType( indexType_ )
|
||
|
, transformData( transformData_ )
|
||
|
, transformOffset( transformOffset_ )
|
||
|
{}
|
||
|
|
||
|
VULKAN_HPP_CONSTEXPR GeometryTrianglesNV( GeometryTrianglesNV const& rhs ) VULKAN_HPP_NOEXCEPT
|
||
|
: pNext( rhs.pNext )
|
||
|
, vertexData( rhs.vertexData )
|
||
|
, vertexOffset( rhs.vertexOffset )
|
||
|
, vertexCount( rhs.vertexCount )
|
||
|
, vertexStride( rhs.vertexStride )
|
||
|
, vertexFormat( rhs.vertexFormat )
|
||
|
, indexData( rhs.indexData )
|
||
|
, indexOffset( rhs.indexOffset )
|
||
|
, indexCount( rhs.indexCount )
|
||
|
, indexType( rhs.indexType )
|
||
|
, transformData( rhs.transformData )
|
||
|
, transformOffset( rhs.transformOffset )
|
||
|
{}
|
||
|
|
||
|
GeometryTrianglesNV & operator=( GeometryTrianglesNV const & rhs ) VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
memcpy( &pNext, &rhs.pNext, sizeof( GeometryTrianglesNV ) - offsetof( GeometryTrianglesNV, pNext ) );
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
GeometryTrianglesNV( VkGeometryTrianglesNV const & rhs ) VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
*this = rhs;
|
||
|
}
|
||
|
|
||
|
GeometryTrianglesNV& operator=( VkGeometryTrianglesNV const & rhs ) VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
*this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::GeometryTrianglesNV const *>(&rhs);
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
GeometryTrianglesNV & setPNext( const void* pNext_ ) VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
pNext = pNext_;
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
GeometryTrianglesNV & setVertexData( VULKAN_HPP_NAMESPACE::Buffer vertexData_ ) VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
vertexData = vertexData_;
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
GeometryTrianglesNV & setVertexOffset( VULKAN_HPP_NAMESPACE::DeviceSize vertexOffset_ ) VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
vertexOffset = vertexOffset_;
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
GeometryTrianglesNV & setVertexCount( uint32_t vertexCount_ ) VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
vertexCount = vertexCount_;
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
GeometryTrianglesNV & setVertexStride( VULKAN_HPP_NAMESPACE::DeviceSize vertexStride_ ) VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
vertexStride = vertexStride_;
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
GeometryTrianglesNV & setVertexFormat( VULKAN_HPP_NAMESPACE::Format vertexFormat_ ) VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
vertexFormat = vertexFormat_;
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
GeometryTrianglesNV & setIndexData( VULKAN_HPP_NAMESPACE::Buffer indexData_ ) VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
indexData = indexData_;
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
GeometryTrianglesNV & setIndexOffset( VULKAN_HPP_NAMESPACE::DeviceSize indexOffset_ ) VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
indexOffset = indexOffset_;
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
GeometryTrianglesNV & setIndexCount( uint32_t indexCount_ ) VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
indexCount = indexCount_;
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
GeometryTrianglesNV & setIndexType( VULKAN_HPP_NAMESPACE::IndexType indexType_ ) VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
indexType = indexType_;
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
GeometryTrianglesNV & setTransformData( VULKAN_HPP_NAMESPACE::Buffer transformData_ ) VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
transformData = transformData_;
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
GeometryTrianglesNV & setTransformOffset( VULKAN_HPP_NAMESPACE::DeviceSize transformOffset_ ) VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
transformOffset = transformOffset_;
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
operator VkGeometryTrianglesNV const&() const VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
return *reinterpret_cast<const VkGeometryTrianglesNV*>( this );
|
||
|
}
|
||
|
|
||
|
operator VkGeometryTrianglesNV &() VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
return *reinterpret_cast<VkGeometryTrianglesNV*>( this );
|
||
|
}
|
||
|
|
||
|
#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
|
||
|
auto operator<=>( GeometryTrianglesNV const& ) const = default;
|
||
|
#else
|
||
|
bool operator==( GeometryTrianglesNV const& rhs ) const VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
return ( sType == rhs.sType )
|
||
|
&& ( pNext == rhs.pNext )
|
||
|
&& ( vertexData == rhs.vertexData )
|
||
|
&& ( vertexOffset == rhs.vertexOffset )
|
||
|
&& ( vertexCount == rhs.vertexCount )
|
||
|
&& ( vertexStride == rhs.vertexStride )
|
||
|
&& ( vertexFormat == rhs.vertexFormat )
|
||
|
&& ( indexData == rhs.indexData )
|
||
|
&& ( indexOffset == rhs.indexOffset )
|
||
|
&& ( indexCount == rhs.indexCount )
|
||
|
&& ( indexType == rhs.indexType )
|
||
|
&& ( transformData == rhs.transformData )
|
||
|
&& ( transformOffset == rhs.transformOffset );
|
||
|
}
|
||
|
|
||
|
bool operator!=( GeometryTrianglesNV const& rhs ) const VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
return !operator==( rhs );
|
||
|
}
|
||
|
#endif
|
||
|
|
||
|
public:
|
||
|
const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eGeometryTrianglesNV;
|
||
|
const void* pNext = {};
|
||
|
VULKAN_HPP_NAMESPACE::Buffer vertexData = {};
|
||
|
VULKAN_HPP_NAMESPACE::DeviceSize vertexOffset = {};
|
||
|
uint32_t vertexCount = {};
|
||
|
VULKAN_HPP_NAMESPACE::DeviceSize vertexStride = {};
|
||
|
VULKAN_HPP_NAMESPACE::Format vertexFormat = VULKAN_HPP_NAMESPACE::Format::eUndefined;
|
||
|
VULKAN_HPP_NAMESPACE::Buffer indexData = {};
|
||
|
VULKAN_HPP_NAMESPACE::DeviceSize indexOffset = {};
|
||
|
uint32_t indexCount = {};
|
||
|
VULKAN_HPP_NAMESPACE::IndexType indexType = VULKAN_HPP_NAMESPACE::IndexType::eUint16;
|
||
|
VULKAN_HPP_NAMESPACE::Buffer transformData = {};
|
||
|
VULKAN_HPP_NAMESPACE::DeviceSize transformOffset = {};
|
||
|
};
|
||
|
static_assert( sizeof( GeometryTrianglesNV ) == sizeof( VkGeometryTrianglesNV ), "struct and wrapper have different size!" );
|
||
|
static_assert( std::is_standard_layout<GeometryTrianglesNV>::value, "struct wrapper is not a standard layout!" );
|
||
|
|
||
|
struct GeometryAABBNV
|
||
|
{
|
||
|
VULKAN_HPP_CONSTEXPR GeometryAABBNV( VULKAN_HPP_NAMESPACE::Buffer aabbData_ = {},
|
||
|
uint32_t numAABBs_ = {},
|
||
|
uint32_t stride_ = {},
|
||
|
VULKAN_HPP_NAMESPACE::DeviceSize offset_ = {} ) VULKAN_HPP_NOEXCEPT
|
||
|
: aabbData( aabbData_ )
|
||
|
, numAABBs( numAABBs_ )
|
||
|
, stride( stride_ )
|
||
|
, offset( offset_ )
|
||
|
{}
|
||
|
|
||
|
VULKAN_HPP_CONSTEXPR GeometryAABBNV( GeometryAABBNV const& rhs ) VULKAN_HPP_NOEXCEPT
|
||
|
: pNext( rhs.pNext )
|
||
|
, aabbData( rhs.aabbData )
|
||
|
, numAABBs( rhs.numAABBs )
|
||
|
, stride( rhs.stride )
|
||
|
, offset( rhs.offset )
|
||
|
{}
|
||
|
|
||
|
GeometryAABBNV & operator=( GeometryAABBNV const & rhs ) VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
memcpy( &pNext, &rhs.pNext, sizeof( GeometryAABBNV ) - offsetof( GeometryAABBNV, pNext ) );
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
GeometryAABBNV( VkGeometryAABBNV const & rhs ) VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
*this = rhs;
|
||
|
}
|
||
|
|
||
|
GeometryAABBNV& operator=( VkGeometryAABBNV const & rhs ) VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
*this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::GeometryAABBNV const *>(&rhs);
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
GeometryAABBNV & setPNext( const void* pNext_ ) VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
pNext = pNext_;
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
GeometryAABBNV & setAabbData( VULKAN_HPP_NAMESPACE::Buffer aabbData_ ) VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
aabbData = aabbData_;
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
GeometryAABBNV & setNumAABBs( uint32_t numAABBs_ ) VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
numAABBs = numAABBs_;
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
GeometryAABBNV & setStride( uint32_t stride_ ) VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
stride = stride_;
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
GeometryAABBNV & setOffset( VULKAN_HPP_NAMESPACE::DeviceSize offset_ ) VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
offset = offset_;
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
operator VkGeometryAABBNV const&() const VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
return *reinterpret_cast<const VkGeometryAABBNV*>( this );
|
||
|
}
|
||
|
|
||
|
operator VkGeometryAABBNV &() VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
return *reinterpret_cast<VkGeometryAABBNV*>( this );
|
||
|
}
|
||
|
|
||
|
#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
|
||
|
auto operator<=>( GeometryAABBNV const& ) const = default;
|
||
|
#else
|
||
|
bool operator==( GeometryAABBNV const& rhs ) const VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
return ( sType == rhs.sType )
|
||
|
&& ( pNext == rhs.pNext )
|
||
|
&& ( aabbData == rhs.aabbData )
|
||
|
&& ( numAABBs == rhs.numAABBs )
|
||
|
&& ( stride == rhs.stride )
|
||
|
&& ( offset == rhs.offset );
|
||
|
}
|
||
|
|
||
|
bool operator!=( GeometryAABBNV const& rhs ) const VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
return !operator==( rhs );
|
||
|
}
|
||
|
#endif
|
||
|
|
||
|
public:
|
||
|
const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eGeometryAabbNV;
|
||
|
const void* pNext = {};
|
||
|
VULKAN_HPP_NAMESPACE::Buffer aabbData = {};
|
||
|
uint32_t numAABBs = {};
|
||
|
uint32_t stride = {};
|
||
|
VULKAN_HPP_NAMESPACE::DeviceSize offset = {};
|
||
|
};
|
||
|
static_assert( sizeof( GeometryAABBNV ) == sizeof( VkGeometryAABBNV ), "struct and wrapper have different size!" );
|
||
|
static_assert( std::is_standard_layout<GeometryAABBNV>::value, "struct wrapper is not a standard layout!" );
|
||
|
|
||
|
struct GeometryDataNV
|
||
|
{
|
||
|
VULKAN_HPP_CONSTEXPR GeometryDataNV( VULKAN_HPP_NAMESPACE::GeometryTrianglesNV triangles_ = {},
|
||
|
VULKAN_HPP_NAMESPACE::GeometryAABBNV aabbs_ = {} ) VULKAN_HPP_NOEXCEPT
|
||
|
: triangles( triangles_ )
|
||
|
, aabbs( aabbs_ )
|
||
|
{}
|
||
|
|
||
|
VULKAN_HPP_CONSTEXPR GeometryDataNV( GeometryDataNV const& rhs ) VULKAN_HPP_NOEXCEPT
|
||
|
: triangles( rhs.triangles )
|
||
|
, aabbs( rhs.aabbs )
|
||
|
{}
|
||
|
|
||
|
GeometryDataNV & operator=( GeometryDataNV const & rhs ) VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
memcpy( static_cast<void*>(this), &rhs, sizeof( GeometryDataNV ) );
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
GeometryDataNV( VkGeometryDataNV const & rhs ) VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
*this = rhs;
|
||
|
}
|
||
|
|
||
|
GeometryDataNV& operator=( VkGeometryDataNV const & rhs ) VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
*this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::GeometryDataNV const *>(&rhs);
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
GeometryDataNV & setTriangles( VULKAN_HPP_NAMESPACE::GeometryTrianglesNV triangles_ ) VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
triangles = triangles_;
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
GeometryDataNV & setAabbs( VULKAN_HPP_NAMESPACE::GeometryAABBNV aabbs_ ) VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
aabbs = aabbs_;
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
operator VkGeometryDataNV const&() const VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
return *reinterpret_cast<const VkGeometryDataNV*>( this );
|
||
|
}
|
||
|
|
||
|
operator VkGeometryDataNV &() VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
return *reinterpret_cast<VkGeometryDataNV*>( this );
|
||
|
}
|
||
|
|
||
|
#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
|
||
|
auto operator<=>( GeometryDataNV const& ) const = default;
|
||
|
#else
|
||
|
bool operator==( GeometryDataNV const& rhs ) const VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
return ( triangles == rhs.triangles )
|
||
|
&& ( aabbs == rhs.aabbs );
|
||
|
}
|
||
|
|
||
|
bool operator!=( GeometryDataNV const& rhs ) const VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
return !operator==( rhs );
|
||
|
}
|
||
|
#endif
|
||
|
|
||
|
public:
|
||
|
VULKAN_HPP_NAMESPACE::GeometryTrianglesNV triangles = {};
|
||
|
VULKAN_HPP_NAMESPACE::GeometryAABBNV aabbs = {};
|
||
|
};
|
||
|
static_assert( sizeof( GeometryDataNV ) == sizeof( VkGeometryDataNV ), "struct and wrapper have different size!" );
|
||
|
static_assert( std::is_standard_layout<GeometryDataNV>::value, "struct wrapper is not a standard layout!" );
|
||
|
|
||
|
struct GeometryNV
|
||
|
{
|
||
|
VULKAN_HPP_CONSTEXPR GeometryNV( VULKAN_HPP_NAMESPACE::GeometryTypeNV geometryType_ = VULKAN_HPP_NAMESPACE::GeometryTypeNV::eTriangles,
|
||
|
VULKAN_HPP_NAMESPACE::GeometryDataNV geometry_ = {},
|
||
|
VULKAN_HPP_NAMESPACE::GeometryFlagsNV flags_ = {} ) VULKAN_HPP_NOEXCEPT
|
||
|
: geometryType( geometryType_ )
|
||
|
, geometry( geometry_ )
|
||
|
, flags( flags_ )
|
||
|
{}
|
||
|
|
||
|
VULKAN_HPP_CONSTEXPR GeometryNV( GeometryNV const& rhs ) VULKAN_HPP_NOEXCEPT
|
||
|
: pNext( rhs.pNext )
|
||
|
, geometryType( rhs.geometryType )
|
||
|
, geometry( rhs.geometry )
|
||
|
, flags( rhs.flags )
|
||
|
{}
|
||
|
|
||
|
GeometryNV & operator=( GeometryNV const & rhs ) VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
memcpy( &pNext, &rhs.pNext, sizeof( GeometryNV ) - offsetof( GeometryNV, pNext ) );
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
GeometryNV( VkGeometryNV const & rhs ) VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
*this = rhs;
|
||
|
}
|
||
|
|
||
|
GeometryNV& operator=( VkGeometryNV const & rhs ) VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
*this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::GeometryNV const *>(&rhs);
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
GeometryNV & setPNext( const void* pNext_ ) VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
pNext = pNext_;
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
GeometryNV & setGeometryType( VULKAN_HPP_NAMESPACE::GeometryTypeNV geometryType_ ) VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
geometryType = geometryType_;
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
GeometryNV & setGeometry( VULKAN_HPP_NAMESPACE::GeometryDataNV geometry_ ) VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
geometry = geometry_;
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
GeometryNV & setFlags( VULKAN_HPP_NAMESPACE::GeometryFlagsNV flags_ ) VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
flags = flags_;
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
operator VkGeometryNV const&() const VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
return *reinterpret_cast<const VkGeometryNV*>( this );
|
||
|
}
|
||
|
|
||
|
operator VkGeometryNV &() VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
return *reinterpret_cast<VkGeometryNV*>( this );
|
||
|
}
|
||
|
|
||
|
#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
|
||
|
auto operator<=>( GeometryNV const& ) const = default;
|
||
|
#else
|
||
|
bool operator==( GeometryNV const& rhs ) const VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
return ( sType == rhs.sType )
|
||
|
&& ( pNext == rhs.pNext )
|
||
|
&& ( geometryType == rhs.geometryType )
|
||
|
&& ( geometry == rhs.geometry )
|
||
|
&& ( flags == rhs.flags );
|
||
|
}
|
||
|
|
||
|
bool operator!=( GeometryNV const& rhs ) const VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
return !operator==( rhs );
|
||
|
}
|
||
|
#endif
|
||
|
|
||
|
public:
|
||
|
const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eGeometryNV;
|
||
|
const void* pNext = {};
|
||
|
VULKAN_HPP_NAMESPACE::GeometryTypeNV geometryType = VULKAN_HPP_NAMESPACE::GeometryTypeNV::eTriangles;
|
||
|
VULKAN_HPP_NAMESPACE::GeometryDataNV geometry = {};
|
||
|
VULKAN_HPP_NAMESPACE::GeometryFlagsNV flags = {};
|
||
|
};
|
||
|
static_assert( sizeof( GeometryNV ) == sizeof( VkGeometryNV ), "struct and wrapper have different size!" );
|
||
|
static_assert( std::is_standard_layout<GeometryNV>::value, "struct wrapper is not a standard layout!" );
|
||
|
|
||
|
struct AccelerationStructureInfoNV
|
||
|
{
|
||
|
VULKAN_HPP_CONSTEXPR AccelerationStructureInfoNV( VULKAN_HPP_NAMESPACE::AccelerationStructureTypeNV type_ = VULKAN_HPP_NAMESPACE::AccelerationStructureTypeNV::eTopLevel,
|
||
|
VULKAN_HPP_NAMESPACE::BuildAccelerationStructureFlagsNV flags_ = {},
|
||
|
uint32_t instanceCount_ = {},
|
||
|
uint32_t geometryCount_ = {},
|
||
|
const VULKAN_HPP_NAMESPACE::GeometryNV* pGeometries_ = {} ) VULKAN_HPP_NOEXCEPT
|
||
|
: type( type_ )
|
||
|
, flags( flags_ )
|
||
|
, instanceCount( instanceCount_ )
|
||
|
, geometryCount( geometryCount_ )
|
||
|
, pGeometries( pGeometries_ )
|
||
|
{}
|
||
|
|
||
|
VULKAN_HPP_CONSTEXPR AccelerationStructureInfoNV( AccelerationStructureInfoNV const& rhs ) VULKAN_HPP_NOEXCEPT
|
||
|
: pNext( rhs.pNext )
|
||
|
, type( rhs.type )
|
||
|
, flags( rhs.flags )
|
||
|
, instanceCount( rhs.instanceCount )
|
||
|
, geometryCount( rhs.geometryCount )
|
||
|
, pGeometries( rhs.pGeometries )
|
||
|
{}
|
||
|
|
||
|
AccelerationStructureInfoNV & operator=( AccelerationStructureInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
memcpy( &pNext, &rhs.pNext, sizeof( AccelerationStructureInfoNV ) - offsetof( AccelerationStructureInfoNV, pNext ) );
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
AccelerationStructureInfoNV( VkAccelerationStructureInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
*this = rhs;
|
||
|
}
|
||
|
|
||
|
AccelerationStructureInfoNV& operator=( VkAccelerationStructureInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
*this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AccelerationStructureInfoNV const *>(&rhs);
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
AccelerationStructureInfoNV & setPNext( const void* pNext_ ) VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
pNext = pNext_;
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
AccelerationStructureInfoNV & setType( VULKAN_HPP_NAMESPACE::AccelerationStructureTypeNV type_ ) VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
type = type_;
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
AccelerationStructureInfoNV & setFlags( VULKAN_HPP_NAMESPACE::BuildAccelerationStructureFlagsNV flags_ ) VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
flags = flags_;
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
AccelerationStructureInfoNV & setInstanceCount( uint32_t instanceCount_ ) VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
instanceCount = instanceCount_;
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
AccelerationStructureInfoNV & setGeometryCount( uint32_t geometryCount_ ) VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
geometryCount = geometryCount_;
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
AccelerationStructureInfoNV & setPGeometries( const VULKAN_HPP_NAMESPACE::GeometryNV* pGeometries_ ) VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
pGeometries = pGeometries_;
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
operator VkAccelerationStructureInfoNV const&() const VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
return *reinterpret_cast<const VkAccelerationStructureInfoNV*>( this );
|
||
|
}
|
||
|
|
||
|
operator VkAccelerationStructureInfoNV &() VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
return *reinterpret_cast<VkAccelerationStructureInfoNV*>( this );
|
||
|
}
|
||
|
|
||
|
#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
|
||
|
auto operator<=>( AccelerationStructureInfoNV const& ) const = default;
|
||
|
#else
|
||
|
bool operator==( AccelerationStructureInfoNV const& rhs ) const VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
return ( sType == rhs.sType )
|
||
|
&& ( pNext == rhs.pNext )
|
||
|
&& ( type == rhs.type )
|
||
|
&& ( flags == rhs.flags )
|
||
|
&& ( instanceCount == rhs.instanceCount )
|
||
|
&& ( geometryCount == rhs.geometryCount )
|
||
|
&& ( pGeometries == rhs.pGeometries );
|
||
|
}
|
||
|
|
||
|
bool operator!=( AccelerationStructureInfoNV const& rhs ) const VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
return !operator==( rhs );
|
||
|
}
|
||
|
#endif
|
||
|
|
||
|
public:
|
||
|
const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eAccelerationStructureInfoNV;
|
||
|
const void* pNext = {};
|
||
|
VULKAN_HPP_NAMESPACE::AccelerationStructureTypeNV type = VULKAN_HPP_NAMESPACE::AccelerationStructureTypeNV::eTopLevel;
|
||
|
VULKAN_HPP_NAMESPACE::BuildAccelerationStructureFlagsNV flags = {};
|
||
|
uint32_t instanceCount = {};
|
||
|
uint32_t geometryCount = {};
|
||
|
const VULKAN_HPP_NAMESPACE::GeometryNV* pGeometries = {};
|
||
|
};
|
||
|
static_assert( sizeof( AccelerationStructureInfoNV ) == sizeof( VkAccelerationStructureInfoNV ), "struct and wrapper have different size!" );
|
||
|
static_assert( std::is_standard_layout<AccelerationStructureInfoNV>::value, "struct wrapper is not a standard layout!" );
|
||
|
|
||
|
struct AccelerationStructureCreateInfoNV
|
||
|
{
|
||
|
VULKAN_HPP_CONSTEXPR AccelerationStructureCreateInfoNV( VULKAN_HPP_NAMESPACE::DeviceSize compactedSize_ = {},
|
||
|
VULKAN_HPP_NAMESPACE::AccelerationStructureInfoNV info_ = {} ) VULKAN_HPP_NOEXCEPT
|
||
|
: compactedSize( compactedSize_ )
|
||
|
, info( info_ )
|
||
|
{}
|
||
|
|
||
|
VULKAN_HPP_CONSTEXPR AccelerationStructureCreateInfoNV( AccelerationStructureCreateInfoNV const& rhs ) VULKAN_HPP_NOEXCEPT
|
||
|
: pNext( rhs.pNext )
|
||
|
, compactedSize( rhs.compactedSize )
|
||
|
, info( rhs.info )
|
||
|
{}
|
||
|
|
||
|
AccelerationStructureCreateInfoNV & operator=( AccelerationStructureCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
memcpy( &pNext, &rhs.pNext, sizeof( AccelerationStructureCreateInfoNV ) - offsetof( AccelerationStructureCreateInfoNV, pNext ) );
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
AccelerationStructureCreateInfoNV( VkAccelerationStructureCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
*this = rhs;
|
||
|
}
|
||
|
|
||
|
AccelerationStructureCreateInfoNV& operator=( VkAccelerationStructureCreateInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
*this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AccelerationStructureCreateInfoNV const *>(&rhs);
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
AccelerationStructureCreateInfoNV & setPNext( const void* pNext_ ) VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
pNext = pNext_;
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
AccelerationStructureCreateInfoNV & setCompactedSize( VULKAN_HPP_NAMESPACE::DeviceSize compactedSize_ ) VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
compactedSize = compactedSize_;
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
AccelerationStructureCreateInfoNV & setInfo( VULKAN_HPP_NAMESPACE::AccelerationStructureInfoNV info_ ) VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
info = info_;
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
operator VkAccelerationStructureCreateInfoNV const&() const VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
return *reinterpret_cast<const VkAccelerationStructureCreateInfoNV*>( this );
|
||
|
}
|
||
|
|
||
|
operator VkAccelerationStructureCreateInfoNV &() VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
return *reinterpret_cast<VkAccelerationStructureCreateInfoNV*>( this );
|
||
|
}
|
||
|
|
||
|
#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
|
||
|
auto operator<=>( AccelerationStructureCreateInfoNV const& ) const = default;
|
||
|
#else
|
||
|
bool operator==( AccelerationStructureCreateInfoNV const& rhs ) const VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
return ( sType == rhs.sType )
|
||
|
&& ( pNext == rhs.pNext )
|
||
|
&& ( compactedSize == rhs.compactedSize )
|
||
|
&& ( info == rhs.info );
|
||
|
}
|
||
|
|
||
|
bool operator!=( AccelerationStructureCreateInfoNV const& rhs ) const VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
return !operator==( rhs );
|
||
|
}
|
||
|
#endif
|
||
|
|
||
|
public:
|
||
|
const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eAccelerationStructureCreateInfoNV;
|
||
|
const void* pNext = {};
|
||
|
VULKAN_HPP_NAMESPACE::DeviceSize compactedSize = {};
|
||
|
VULKAN_HPP_NAMESPACE::AccelerationStructureInfoNV info = {};
|
||
|
};
|
||
|
static_assert( sizeof( AccelerationStructureCreateInfoNV ) == sizeof( VkAccelerationStructureCreateInfoNV ), "struct and wrapper have different size!" );
|
||
|
static_assert( std::is_standard_layout<AccelerationStructureCreateInfoNV>::value, "struct wrapper is not a standard layout!" );
|
||
|
|
||
|
struct AccelerationStructureMemoryRequirementsInfoNV
|
||
|
{
|
||
|
VULKAN_HPP_CONSTEXPR AccelerationStructureMemoryRequirementsInfoNV( VULKAN_HPP_NAMESPACE::AccelerationStructureMemoryRequirementsTypeNV type_ = VULKAN_HPP_NAMESPACE::AccelerationStructureMemoryRequirementsTypeNV::eObject,
|
||
|
VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure_ = {} ) VULKAN_HPP_NOEXCEPT
|
||
|
: type( type_ )
|
||
|
, accelerationStructure( accelerationStructure_ )
|
||
|
{}
|
||
|
|
||
|
VULKAN_HPP_CONSTEXPR AccelerationStructureMemoryRequirementsInfoNV( AccelerationStructureMemoryRequirementsInfoNV const& rhs ) VULKAN_HPP_NOEXCEPT
|
||
|
: pNext( rhs.pNext )
|
||
|
, type( rhs.type )
|
||
|
, accelerationStructure( rhs.accelerationStructure )
|
||
|
{}
|
||
|
|
||
|
AccelerationStructureMemoryRequirementsInfoNV & operator=( AccelerationStructureMemoryRequirementsInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
memcpy( &pNext, &rhs.pNext, sizeof( AccelerationStructureMemoryRequirementsInfoNV ) - offsetof( AccelerationStructureMemoryRequirementsInfoNV, pNext ) );
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
AccelerationStructureMemoryRequirementsInfoNV( VkAccelerationStructureMemoryRequirementsInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
*this = rhs;
|
||
|
}
|
||
|
|
||
|
AccelerationStructureMemoryRequirementsInfoNV& operator=( VkAccelerationStructureMemoryRequirementsInfoNV const & rhs ) VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
*this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::AccelerationStructureMemoryRequirementsInfoNV const *>(&rhs);
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
AccelerationStructureMemoryRequirementsInfoNV & setPNext( const void* pNext_ ) VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
pNext = pNext_;
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
AccelerationStructureMemoryRequirementsInfoNV & setType( VULKAN_HPP_NAMESPACE::AccelerationStructureMemoryRequirementsTypeNV type_ ) VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
type = type_;
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
AccelerationStructureMemoryRequirementsInfoNV & setAccelerationStructure( VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure_ ) VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
accelerationStructure = accelerationStructure_;
|
||
|
return *this;
|
||
|
}
|
||
|
|
||
|
operator VkAccelerationStructureMemoryRequirementsInfoNV const&() const VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
return *reinterpret_cast<const VkAccelerationStructureMemoryRequirementsInfoNV*>( this );
|
||
|
}
|
||
|
|
||
|
operator VkAccelerationStructureMemoryRequirementsInfoNV &() VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
return *reinterpret_cast<VkAccelerationStructureMemoryRequirementsInfoNV*>( this );
|
||
|
}
|
||
|
|
||
|
#if defined(VULKAN_HPP_HAS_SPACESHIP_OPERATOR)
|
||
|
auto operator<=>( AccelerationStructureMemoryRequirementsInfoNV const& ) const = default;
|
||
|
#else
|
||
|
bool operator==( AccelerationStructureMemoryRequirementsInfoNV const& rhs ) const VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
return ( sType == rhs.sType )
|
||
|
&& ( pNext == rhs.pNext )
|
||
|
&& ( type == rhs.type )
|
||
|
&& ( accelerationStructure == rhs.accelerationStructure );
|
||
|
}
|
||
|
|
||
|
bool operator!=( AccelerationStructureMemoryRequirementsInfoNV const& rhs ) const VULKAN_HPP_NOEXCEPT
|
||
|
{
|
||
|
return !operator==( rhs );
|
||
|
}
|
||
|
#endif
|
||
|
|
||
|
public:
|
||
|
const VULKAN_HPP_NAMESPACE::StructureType sType = StructureType::eAccelerationStructureMemoryRequirementsInfoNV;
|
||
|
const void* pNext = {};
|
||
|
VULKAN_HPP_NAMESPACE::AccelerationStructureMemoryRequirementsTypeNV type = VULKAN_HPP_NAMESPACE::AccelerationStructureMemoryRequirementsTypeNV::eObject;
|
||
|
VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure = {};
|
||
|
};
|
||
|
static_assert( sizeof( AccelerationStructureMemoryRequirementsInfoNV ) == sizeof( VkAccelerationStructureMemoryRequirementsInfoNV ), "struct and wrapper have different size!" );
|
||
|
static_assert( std::is_standard_layout<AccelerationStructureMemoryRequirementsInfoNV>::value, "struct wrapper is not a standard layout!" );
|
||
|
} // namespace VULKAN_HPP_NAMESPACE
|