nn::gfx::detail namespace

Namespaces

namespace anonymous_namespace{gfx_Buffer-api.nvn.8.cpp}
namespace anonymous_namespace{gfx_CommandBuffer-api.nvn.8.cpp}
namespace anonymous_namespace{gfx_DescriptorPool-api.nvn.8.cpp}
namespace anonymous_namespace{gfx_NvnHelper.cpp}
namespace anonymous_namespace{gfx_Shader-api.nvn.8.cpp}
namespace anonymous_namespace{gfx_Texture-api.nvn.8.cpp}

Classes

template<typename TTarget>
class BlendStateImpl
template<>
class BlendStateImpl<ApiVariationNvn8>
template<typename TTarget>
class BufferImpl
template<>
class BufferImpl<ApiVariationNvn8>
template<typename TTarget>
class BufferTextureViewImpl
template<>
class BufferTextureViewImpl<ApiVariationNvn8>
template<class T>
class Caster
template<class T>
class Caster<const T>
template<class T>
class Caster<const volatile T>
template<class T>
class Caster<volatile T>
template<class T>
class CasterBase
template<typename TTarget>
class ColorTargetViewImpl
template<>
class ColorTargetViewImpl<ApiVariationNvn8>
template<typename TTarget>
class CommandBufferImpl
template<>
class CommandBufferImpl<ApiVariationNvn8>
template<class TData>
class DataContainer
template<typename TTarget>
class DepthStencilStateImpl
template<>
class DepthStencilStateImpl<ApiVariationNvn8>
template<typename TTarget>
class DepthStencilViewImpl
template<>
class DepthStencilViewImpl<ApiVariationNvn8>
template<typename TTarget>
class DescriptorPoolImpl
template<>
class DescriptorPoolImpl<ApiVariationNvn8>
template<typename TTarget>
class DeviceImpl
template<>
class DeviceImpl<ApiVariationNvn8>
template<typename TTarget>
class FenceImpl
template<>
class FenceImpl<ApiVariationNvn8>
class GlslcDll
template<typename TTarget>
class MemoryPoolImpl
template<>
class MemoryPoolImpl<ApiVariationNvn8>
class Nvn
template<typename TTarget>
class PipelineImpl
template<>
class PipelineImpl<ApiVariationNvn8>
template<class TType, class TValue = u64>
union Ptr
template<typename TTarget>
class QueueImpl
template<>
class QueueImpl<ApiVariationNvn8>
template<typename TTarget>
class RasterizerStateImpl
template<>
class RasterizerStateImpl<ApiVariationNvn8>
template<class TImpl>
class RequiredMemory
class ResShaderContainerImpl
class ResShaderProgramImpl
template<typename TTarget>
class RootSignatureImpl
template<>
class RootSignatureImpl<ApiVariationNvn8>
template<class TTarget>
class RootSignatureImplCommon
template<typename TTarget>
class SamplerImpl
template<>
class SamplerImpl<ApiVariationNvn8>
template<typename TTarget>
class SemaphoreImpl
template<>
class SemaphoreImpl<ApiVariationNvn8>
template<typename TTarget>
class ShaderImpl
template<>
class ShaderImpl<ApiVariationNvn8>
template<typename TTarget>
class SwapChainImpl
template<>
class SwapChainImpl<ApiVariationNvn8>
template<typename TTarget>
class TessellationStateImpl
template<>
class TessellationStateImpl<ApiVariationNvn8>
template<typename TTarget>
class TextureImpl
template<>
class TextureImpl<ApiVariationNvn8>
template<typename TTarget>
class TextureViewImpl
template<>
class TextureViewImpl<ApiVariationNvn8>
template<typename TTarget>
class VertexStateImpl
template<>
class VertexStateImpl<ApiVariationNvn8>
template<typename TTarget>
class ViewportScissorStateImpl
template<>
class ViewportScissorStateImpl<ApiVariationNvn8>

Enums

enum FilterModeBit { FilterModeBit_Point = 1, FilterModeBit_Linear = 2, FilterModeBit_MinFilterShift = 4, FilterModeBit_MagFilterShift = 2, FilterModeBit_MipFilterShift = 0, FilterModeBit_MinPoint = FilterModeBit_Point << FilterModeBit_MinFilterShift, FilterModeBit_MinLinear = FilterModeBit_Linear << FilterModeBit_MinFilterShift, FilterModeBit_MagPoint = FilterModeBit_Point << FilterModeBit_MagFilterShift, FilterModeBit_MagLinear = FilterModeBit_Linear << FilterModeBit_MagFilterShift, FilterModeBit_MipPoint = FilterModeBit_Point << FilterModeBit_MipFilterShift, FilterModeBit_MipLinear = FilterModeBit_Linear << FilterModeBit_MipFilterShift, FilterModeBit_MinFilterMask = 3 << FilterModeBit_MinFilterShift, FilterModeBit_MagFilterMask = 3 << FilterModeBit_MagFilterShift, FilterModeBit_MipFilterMask = 3 << FilterModeBit_MipFilterShift, FilterModeBit_Anisotropic = 0x40, FilterModeBit_Comparison = 0x80, FilterModeBit_Minimum = 0x100, FilterModeBit_Maximum = 0x200 }
enum NvnDeviceFeature { NvnDeviceFeature_SupportMinMaxFiltering, NvnDeviceFeature_SupportStencil8Format, NvnDeviceFeature_SupportAstcFormat, NvnDeviceFeature_SupportConservativeRaster, NvnDeviceFeature_SupportZeroFromUnmappedVirtualPoolPage, NvnDeviceFeature_SupportPassthroughGeometryShader, NvnDeviceFeature_SupportViewportSwizzle, NvnDeviceFeature_SupportSparseTiledPackagedTexture, NvnDeviceFeature_AdvancedBlendModes, NvnDeviceFeature_DrawTexture, NvnDeviceFeature_TargetIndependentRasterization, NvnDeviceFeature_FragmentCoverageToColor, NvnDeviceFeature_PostDepthCoverage, NvnDeviceFeature_ImagesUsingTextureHandles, NvnDeviceFeature_SampleLocations, NvnDeviceFeature_SupportFragmentShaderInterlock, NvnDeviceFeature_SupportsDebugLayer }

Typedefs

using NvnHandle = u64
using GlslcCompilePreSpecializedType = bool(*)(GLSLCcompileObject*)
using GlslcCompileSpecializedType = const GLSLCoutput*const *(*)(GLSLCcompileObject*, const GLSLCspecializationBatch*)
using GlslcInitializeType = uint8_t(*)(GLSLCcompileObject*)
using GlslcFinalizeType = void(*)(GLSLCcompileObject*)
using GlslcCompileType = uint8_t(*)(GLSLCcompileObject*)
using GlslcGetVersionType = GLSLCversion(*)()
using GlslcSetAllocatorType = void(*)(GLSLCallocateFunction, GLSLCfreeFunction, GLSLCreallocateFunction, void*)
using GlslcGetDefaultOptionsType = GLSLCoptions(*)()

Functions

template<typename TTarget>
void GetImageFormatProperty(ImageFormatProperty*, DeviceImpl<TTarget>*, ImageFormat)
NN_MIDDLEWARE(g_MiddlewareInfo, "Nintendo", "NintendoSDK_gfx" NN_SDK_BUILD_STR)
void UseMiddleWare()
auto GetBlockWidth(ChannelFormat format) -> int
auto GetBlockHeight(ChannelFormat format) -> int
auto IsCompressedFormat(ChannelFormat format) -> bool
auto IsSrgbFormat(TypeFormat format) -> bool
auto GetBytePerPixel(ChannelFormat format) -> int
auto CalculateImageSize(ChannelFormat format, uint32_t width, uint32_t height, uint32_t depth) -> size_t
auto GetChannelCount(ChannelFormat format) -> int
auto CalculateRowSize(uint32_t width, ChannelFormat format) -> size_t
auto IsValidMemoryPoolProperty(int value) -> bool
auto GetImageDimension(ImageStorageDimension imageStorageDimension, bool isArray, bool isMultisample) -> ImageDimension
auto CheckBinaryTarget(const ResShaderContainerData& resShaderContainer, int lowLevelApi, ] int apiVersion) -> bool
auto CheckBinaryTarget(const ResShaderContainerData&, int, int) -> bool
auto GetChannelFormat(ImageFormat format) -> ChannelFormat
auto IsFilterModeAnisotropic(FilterMode filterMode) -> bool
auto IsFilterModeComparison(FilterMode filterMode) -> bool
template<typename TTarget>
auto ToInfoData(const RootSignatureImpl<TTarget>* pRootSignature) -> const RootSignatureInfo::DataType&
template<typename TTarget>
auto GetDescriptorTableInfoData(const RootSignatureImpl<TTarget>* pRootSignature, int indexDescriptorTable) -> const DescriptorTableInfo::DataType&
template<typename TTarget>
auto GetDynamicDescriptorInfoData(const RootSignatureImpl<TTarget>* pRootSignature, int indexDynamicDescriptor) -> const DynamicDescriptorInfo::DataType&
template<typename TTarget>
void SetRootBufferDescriptorTable(CommandBufferImpl<TTarget>* pThis, PipelineType, int indexDescriptorTable, const DescriptorSlot& startBufferDescriptorSlot, ptrdiff_t descriptorSlotIncrementSize)
template<typename TTarget>
void SetRootTextureAndSamplerDescriptorTable(CommandBufferImpl<TTarget>* pThis, PipelineType, int indexDescriptorTable, const DescriptorSlot& startTextureDescriptorSlot, const DescriptorSlot& startSamplerDescriptorSlot, ptrdiff_t textureDescriptorSlotIncrementSize, ptrdiff_t samplerDescriptorSlotIncrementSize)
template<typename TTarget>
void SetRootConstantBuffer(CommandBufferImpl<TTarget>* pThis, PipelineType, int indexDynamicDescriptor, const GpuAddress& constantBufferAddress, size_t size)
template<typename TTarget>
void SetRootUnorderedAccessBuffer(CommandBufferImpl<TTarget>* pThis, PipelineType, int indexDynamicDescriptor, const GpuAddress& unorderedAccessBufferAddress, size_t size)
template<typename TTarget>
void SetRootTextureAndSampler(CommandBufferImpl<TTarget>* pThis, PipelineType, int indexDynamicDescriptor, const TextureViewImpl<TTarget>* pTextureView, const SamplerImpl<TTarget>* pSampler)
auto GetGlslcCompilePreSpecializedFunction() -> GlslcCompilePreSpecializedType
auto GetGlslcCompileSpecializedFunction() -> GlslcCompileSpecializedType
auto GetGlslcInitializeFunction() -> GlslcInitializeType
auto GetGlslcFinalizeFunction() -> GlslcFinalizeType
auto GetGlslcCompileFunction() -> GlslcCompileType
auto GetGlslcGetVersionFunction() -> GlslcGetVersionType
auto GetGlslcSetAllocatorFunction() -> GlslcSetAllocatorType
auto GetGlslcGetDefaultOptionsFunction() -> GlslcGetDefaultOptionsType
auto IsThinBinaryAvailable() -> bool
template<>
void GetImageFormatProperty<ApiVariationNvn8>(ImageFormatProperty* pOutImageFormatProperty, ] DeviceImpl<ApiVariationNvn8>* pDevice, ImageFormat imageFormat)

Enum documentation

enum nn::gfx::detail::FilterModeBit

Typedef documentation

typedef u64 nn::gfx::detail::NvnHandle

typedef bool(*nn::gfx::detail::GlslcCompilePreSpecializedType)(GLSLCcompileObject*)

typedef const GLSLCoutput*const *(*nn::gfx::detail::GlslcCompileSpecializedType)(GLSLCcompileObject*, const GLSLCspecializationBatch*)

typedef uint8_t(*nn::gfx::detail::GlslcInitializeType)(GLSLCcompileObject*)

typedef void(*nn::gfx::detail::GlslcFinalizeType)(GLSLCcompileObject*)

typedef uint8_t(*nn::gfx::detail::GlslcCompileType)(GLSLCcompileObject*)

typedef void(*nn::gfx::detail::GlslcSetAllocatorType)(GLSLCallocateFunction, GLSLCfreeFunction, GLSLCreallocateFunction, void*)

Function documentation

template<typename TTarget>
void nn::gfx::detail::GetImageFormatProperty(ImageFormatProperty*, DeviceImpl<TTarget>*, ImageFormat)

nn::gfx::detail::NN_MIDDLEWARE(g_MiddlewareInfo, "Nintendo", "NintendoSDK_gfx" NN_SDK_BUILD_STR)

size_t nn::gfx::detail::CalculateImageSize(ChannelFormat format, uint32_t width, uint32_t height, uint32_t depth)

size_t nn::gfx::detail::CalculateRowSize(uint32_t width, ChannelFormat format)

ImageDimension nn::gfx::detail::GetImageDimension(ImageStorageDimension imageStorageDimension, bool isArray, bool isMultisample)

bool nn::gfx::detail::CheckBinaryTarget(const ResShaderContainerData& resShaderContainer, int lowLevelApi, ] int apiVersion)

template<typename TTarget>
const RootSignatureInfo::DataType& nn::gfx::detail::ToInfoData(const RootSignatureImpl<TTarget>* pRootSignature)

template<typename TTarget>
const DescriptorTableInfo::DataType& nn::gfx::detail::GetDescriptorTableInfoData(const RootSignatureImpl<TTarget>* pRootSignature, int indexDescriptorTable)

template<typename TTarget>
const DynamicDescriptorInfo::DataType& nn::gfx::detail::GetDynamicDescriptorInfoData(const RootSignatureImpl<TTarget>* pRootSignature, int indexDynamicDescriptor)

template<typename TTarget>
void nn::gfx::detail::SetRootBufferDescriptorTable(CommandBufferImpl<TTarget>* pThis, PipelineType, int indexDescriptorTable, const DescriptorSlot& startBufferDescriptorSlot, ptrdiff_t descriptorSlotIncrementSize)

template<typename TTarget>
void nn::gfx::detail::SetRootTextureAndSamplerDescriptorTable(CommandBufferImpl<TTarget>* pThis, PipelineType, int indexDescriptorTable, const DescriptorSlot& startTextureDescriptorSlot, const DescriptorSlot& startSamplerDescriptorSlot, ptrdiff_t textureDescriptorSlotIncrementSize, ptrdiff_t samplerDescriptorSlotIncrementSize)

template<typename TTarget>
void nn::gfx::detail::SetRootConstantBuffer(CommandBufferImpl<TTarget>* pThis, PipelineType, int indexDynamicDescriptor, const GpuAddress& constantBufferAddress, size_t size)

template<typename TTarget>
void nn::gfx::detail::SetRootUnorderedAccessBuffer(CommandBufferImpl<TTarget>* pThis, PipelineType, int indexDynamicDescriptor, const GpuAddress& unorderedAccessBufferAddress, size_t size)

template<typename TTarget>
void nn::gfx::detail::SetRootTextureAndSampler(CommandBufferImpl<TTarget>* pThis, PipelineType, int indexDynamicDescriptor, const TextureViewImpl<TTarget>* pTextureView, const SamplerImpl<TTarget>* pSampler)

template<>
void nn::gfx::detail::GetImageFormatProperty<ApiVariationNvn8>(ImageFormatProperty* pOutImageFormatProperty, ] DeviceImpl<ApiVariationNvn8>* pDevice, ImageFormat imageFormat)