template<>
nn::gfx::detail::CommandBufferImpl<ApiVariationNvn8> class

Base classes

template<class TData>
class DataContainer<CommandBufferImplData<ApiVariationNvn8>>

Public types

using InfoType = CommandBufferInfo
using OutOfMemoryEventCallback = void(*)(TCommandBuffer<ApiVariationNvn8>*, const OutOfMemoryEventArg&)
using DataType = CommandBufferImplData<ApiVariationNvn8>

Public static functions

static auto GetCommandMemoryAlignment(DeviceImpl<ApiVariationNvn8>*) -> size_t
static auto GetControlMemoryAlignment(DeviceImpl<ApiVariationNvn8>*) -> size_t
static auto DataToAccessor(CommandBufferImplData<ApiVariationNvn8>* pData) -> Caster<DataContainer>
static auto DataToAccessor(const CommandBufferImplData<ApiVariationNvn8>* pData) -> Caster<const DataContainer>
static auto DataToAccessor(volatile CommandBufferImplData<ApiVariationNvn8>*) -> Caster<volatile DataContainer>
static auto DataToAccessor(const volatile CommandBufferImplData<ApiVariationNvn8>*) -> Caster<const volatile DataContainer>
static auto DataToAccessor(CommandBufferImplData<ApiVariationNvn8>& data) -> Caster<DataContainer>
static auto DataToAccessor(const CommandBufferImplData<ApiVariationNvn8>& data) -> Caster<const DataContainer>
static auto DataToAccessor(volatile CommandBufferImplData<ApiVariationNvn8>&) -> Caster<volatile DataContainer>
static auto DataToAccessor(const volatile CommandBufferImplData<ApiVariationNvn8>&) -> Caster<const volatile DataContainer>

Constructors, destructors, conversion operators

CommandBufferImpl()
~CommandBufferImpl()

Public functions

void Initialize(DeviceImpl<ApiVariationNvn8>*, const InfoType&)
void Finalize(DeviceImpl<ApiVariationNvn8>*)
void AddCommandMemory(MemoryPoolImpl<ApiVariationNvn8>*, ptrdiff_t, size_t)
void AddControlMemory(void*, size_t)
void SetOutOfCommandMemoryEventCallback(OutOfMemoryEventCallback)
void SetOutOfControlMemoryEventCallback(OutOfMemoryEventCallback)
void Reset()
void Begin()
void End()
void Dispatch(int, int, int)
void Draw(PrimitiveTopology, int, int)
void Draw(PrimitiveTopology, int, int, int, int)
void DrawIndexed(PrimitiveTopology, IndexFormat, const GpuAddress&, int, int)
void DrawIndexed(PrimitiveTopology, IndexFormat, const GpuAddress&, int, int, int, int)
void DispatchIndirect(const GpuAddress&)
void DrawIndirect(PrimitiveTopology, const GpuAddress&)
void DrawIndexedIndirect(PrimitiveTopology, IndexFormat, const GpuAddress&, const GpuAddress&)
void SetPipeline(const PipelineImpl<ApiVariationNvn8>*)
void SetRenderTargets(int, const ColorTargetViewImpl<ApiVariationNvn8>*const*, const DepthStencilViewImpl<ApiVariationNvn8>*)
void SetVertexBuffer(int, const GpuAddress&, ptrdiff_t, size_t)
void SetViewportScissorState(const ViewportScissorStateImpl<ApiVariationNvn8>*)
void CopyBuffer(BufferImpl<ApiVariationNvn8>*, ptrdiff_t, const BufferImpl<ApiVariationNvn8>*, ptrdiff_t, size_t)
void CopyImage(TextureImpl<ApiVariationNvn8>*, const TextureSubresource&, int, int, int, const TextureImpl<ApiVariationNvn8>*, const TextureCopyRegion&)
void CopyBufferToImage(TextureImpl<ApiVariationNvn8>*, const BufferImpl<ApiVariationNvn8>*, const BufferTextureCopyRegion&)
void CopyBufferToImage(TextureImpl<ApiVariationNvn8>*, const TextureCopyRegion&, const BufferImpl<ApiVariationNvn8>*, ptrdiff_t)
void CopyImageToBuffer(BufferImpl<ApiVariationNvn8>*, const TextureImpl<ApiVariationNvn8>*, const BufferTextureCopyRegion&)
void CopyImageToBuffer(BufferImpl<ApiVariationNvn8>*, ptrdiff_t, const TextureImpl<ApiVariationNvn8>*, const TextureCopyRegion&)
void BlitImage(TextureImpl<ApiVariationNvn8>*, const TextureCopyRegion&, const TextureImpl<ApiVariationNvn8>*, const TextureCopyRegion&, int)
void ClearBuffer(BufferImpl<ApiVariationNvn8>*, ptrdiff_t, size_t, uint32_t)
void ClearColor(ColorTargetViewImpl<ApiVariationNvn8>*, float, float, float, float, const TextureArrayRange*)
void ClearColorTarget(ColorTargetViewImpl<ApiVariationNvn8>*, const ClearColorValue&, const TextureArrayRange*)
void ClearDepthStencil(DepthStencilViewImpl<ApiVariationNvn8>*, float, int, DepthStencilClearMode, const TextureArrayRange*)
void Resolve(TextureImpl<ApiVariationNvn8>*, int, int, const ColorTargetViewImpl<ApiVariationNvn8>*, const TextureArrayRange*)
void FlushMemory(int)
void InvalidateMemory(int)
void CallCommandBuffer(const CommandBufferImpl<ApiVariationNvn8>*)
void CopyCommandBuffer(const CommandBufferImpl<ApiVariationNvn8>*)
void SetBufferStateTransition(BufferImpl<ApiVariationNvn8>*, int, int, int, int)
void SetTextureStateTransition(TextureImpl<ApiVariationNvn8>*, const TextureSubresourceRange*, int, int, int, int)
void SetDescriptorPool(const DescriptorPoolImpl<ApiVariationNvn8>*)
void SetRootSignature(PipelineType, RootSignatureImpl<ApiVariationNvn8>*)
void SetRootBufferDescriptorTable(PipelineType, int, const DescriptorSlot&)
void SetRootTextureAndSamplerDescriptorTable(PipelineType, int, const DescriptorSlot&, const DescriptorSlot&)
void SetRootConstantBuffer(PipelineType, int, const GpuAddress&, size_t)
void SetRootUnorderedAccessBuffer(PipelineType, int, const GpuAddress&, size_t)
void SetRootTextureAndSampler(PipelineType, int, const TextureViewImpl<ApiVariationNvn8>*, const SamplerImpl<ApiVariationNvn8>*)
void BeginQuery(QueryTarget)
void EndQuery(const GpuAddress&, QueryTarget)
void WriteTimestamp(const GpuAddress&)
void SetDepthBounds(float, float)
void SetLineWidth(float)
void SetViewports(int, int, const ViewportStateInfo*)
void SetScissors(int, int, const ScissorStateInfo*)
void SetConstantBuffer(int, ShaderStage, const DescriptorSlot&)
void SetUnorderedAccessBuffer(int, ShaderStage, const DescriptorSlot&)
void SetTextureAndSampler(int, ShaderStage, const DescriptorSlot&, const DescriptorSlot&)
void SetTexture(int, ShaderStage, const DescriptorSlot&)
void SetImage(int, ShaderStage, const DescriptorSlot&)
void SetConstantBuffer(int, ShaderStage, const GpuAddress&, size_t)
void SetUnorderedAccessBuffer(int, ShaderStage, const GpuAddress&, size_t)
void SetTextureAndSampler(int, ShaderStage, const TextureViewImpl<ApiVariationNvn8>*, const SamplerImpl<ApiVariationNvn8>*)
void SetImage(int, ShaderStage, const TextureViewImpl<ApiVariationNvn8>*)
void SetShader(const ShaderImpl<ApiVariationNvn8>*, int)
void SetRasterizerState(const RasterizerStateImpl<ApiVariationNvn8>*)
void SetBlendState(const BlendStateImpl<ApiVariationNvn8>*)
void SetDepthStencilState(const DepthStencilStateImpl<ApiVariationNvn8>*)
void SetVertexState(const VertexStateImpl<ApiVariationNvn8>*)
void SetTessellationState(const TessellationStateImpl<ApiVariationNvn8>*)
auto ToData() -> Caster<CommandBufferImplData<ApiVariationNvn8>>
auto ToData() const -> Caster<const CommandBufferImplData<ApiVariationNvn8>>
auto ToData() volatile -> Caster<volatile CommandBufferImplData<ApiVariationNvn8>>
auto ToData() const volatile -> Caster<const volatile CommandBufferImplData<ApiVariationNvn8>>

Protected types

enum Flag { Flag_Shared, Flag_ConservativeRasterSupported }
enum State { State_NotInitialized, State_Initialized, State_Begun }

Protected variables

Bit8 state
nn::util::BitPack8 flags
char reserved
detail::Ptr<detail::DeviceImpl<ApiVariationNvn8>> pNnDevice
detail::Ptr<const detail::RootSignatureImpl<ApiVariationNvn8>> pGfxRootSignature
struct nn::gfx::CommandBufferImplData<ApiVariationNvn8>::@0 nvnCommandBuffer
detail::Ptr<void> pNvnCommandBuffer
detail::NvnHandle hNvnCommandBuffer
char reserved2
detail::Ptr<void()> pOutOfCommandMemoryCallback
detail::Ptr<void()> pOutOfControlMemoryCallback
detail::Ptr<void> userPtr

Enum documentation

template<>
enum nn::gfx::detail::CommandBufferImpl<ApiVariationNvn8>::Flag

template<>
enum nn::gfx::detail::CommandBufferImpl<ApiVariationNvn8>::State

Typedef documentation

template<>
typedef CommandBufferImplData<ApiVariationNvn8> nn::gfx::detail::CommandBufferImpl<ApiVariationNvn8>::DataType

Function documentation

template<>
static Caster<DataContainer> nn::gfx::detail::CommandBufferImpl<ApiVariationNvn8>::DataToAccessor(CommandBufferImplData<ApiVariationNvn8>* pData)

template<>
static Caster<const DataContainer> nn::gfx::detail::CommandBufferImpl<ApiVariationNvn8>::DataToAccessor(const CommandBufferImplData<ApiVariationNvn8>* pData)

template<>
static Caster<volatile DataContainer> nn::gfx::detail::CommandBufferImpl<ApiVariationNvn8>::DataToAccessor(volatile CommandBufferImplData<ApiVariationNvn8>*)

template<>
static Caster<const volatile DataContainer> nn::gfx::detail::CommandBufferImpl<ApiVariationNvn8>::DataToAccessor(const volatile CommandBufferImplData<ApiVariationNvn8>*)

template<>
static Caster<DataContainer> nn::gfx::detail::CommandBufferImpl<ApiVariationNvn8>::DataToAccessor(CommandBufferImplData<ApiVariationNvn8>& data)

template<>
static Caster<const DataContainer> nn::gfx::detail::CommandBufferImpl<ApiVariationNvn8>::DataToAccessor(const CommandBufferImplData<ApiVariationNvn8>& data)

template<>
static Caster<volatile DataContainer> nn::gfx::detail::CommandBufferImpl<ApiVariationNvn8>::DataToAccessor(volatile CommandBufferImplData<ApiVariationNvn8>&)

template<>
static Caster<const volatile DataContainer> nn::gfx::detail::CommandBufferImpl<ApiVariationNvn8>::DataToAccessor(const volatile CommandBufferImplData<ApiVariationNvn8>&)

template<>
Caster<CommandBufferImplData<ApiVariationNvn8>> nn::gfx::detail::CommandBufferImpl<ApiVariationNvn8>::ToData()

template<>
Caster<const CommandBufferImplData<ApiVariationNvn8>> nn::gfx::detail::CommandBufferImpl<ApiVariationNvn8>::ToData() const

template<>
Caster<volatile CommandBufferImplData<ApiVariationNvn8>> nn::gfx::detail::CommandBufferImpl<ApiVariationNvn8>::ToData() volatile

template<>
Caster<const volatile CommandBufferImplData<ApiVariationNvn8>> nn::gfx::detail::CommandBufferImpl<ApiVariationNvn8>::ToData() const volatile

Variable documentation

template<>
Bit8 nn::gfx::detail::CommandBufferImpl<ApiVariationNvn8>::state

template<>
nn::util::BitPack8 nn::gfx::detail::CommandBufferImpl<ApiVariationNvn8>::flags

template<>
char nn::gfx::detail::CommandBufferImpl<ApiVariationNvn8>::reserved

template<>
detail::Ptr<detail::DeviceImpl<ApiVariationNvn8>> nn::gfx::detail::CommandBufferImpl<ApiVariationNvn8>::pNnDevice

template<>
detail::Ptr<const detail::RootSignatureImpl<ApiVariationNvn8>> nn::gfx::detail::CommandBufferImpl<ApiVariationNvn8>::pGfxRootSignature

template<>
struct nn::gfx::CommandBufferImplData<ApiVariationNvn8>::@0 nn::gfx::detail::CommandBufferImpl<ApiVariationNvn8>::nvnCommandBuffer

template<>
detail::Ptr<void> nn::gfx::detail::CommandBufferImpl<ApiVariationNvn8>::pNvnCommandBuffer

template<>
detail::NvnHandle nn::gfx::detail::CommandBufferImpl<ApiVariationNvn8>::hNvnCommandBuffer

template<>
char nn::gfx::detail::CommandBufferImpl<ApiVariationNvn8>::reserved2

template<>
detail::Ptr<void()> nn::gfx::detail::CommandBufferImpl<ApiVariationNvn8>::pOutOfCommandMemoryCallback

template<>
detail::Ptr<void()> nn::gfx::detail::CommandBufferImpl<ApiVariationNvn8>::pOutOfControlMemoryCallback

template<>
detail::Ptr<void> nn::gfx::detail::CommandBufferImpl<ApiVariationNvn8>::userPtr