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

Base classes

template<class TData>
class DataContainer<ShaderImplData<ApiVariationNvn8>>

Public types

using InfoType = ShaderInfo
using DataType = ShaderImplData<ApiVariationNvn8>

Public static functions

static auto GetBinaryCodeAlignment(DeviceImpl<ApiVariationNvn8>*) -> size_t
static auto DataToAccessor(ShaderImplData<ApiVariationNvn8>* pData) -> Caster<DataContainer>
static auto DataToAccessor(const ShaderImplData<ApiVariationNvn8>* pData) -> Caster<const DataContainer>
static auto DataToAccessor(volatile ShaderImplData<ApiVariationNvn8>*) -> Caster<volatile DataContainer>
static auto DataToAccessor(const volatile ShaderImplData<ApiVariationNvn8>*) -> Caster<const volatile DataContainer>
static auto DataToAccessor(ShaderImplData<ApiVariationNvn8>& data) -> Caster<DataContainer>
static auto DataToAccessor(const ShaderImplData<ApiVariationNvn8>& data) -> Caster<const DataContainer>
static auto DataToAccessor(volatile ShaderImplData<ApiVariationNvn8>&) -> Caster<volatile DataContainer>
static auto DataToAccessor(const volatile ShaderImplData<ApiVariationNvn8>&) -> Caster<const volatile DataContainer>

Constructors, destructors, conversion operators

ShaderImpl()
~ShaderImpl()

Public functions

auto Initialize(DeviceImpl<ApiVariationNvn8>*, const InfoType&) -> ShaderInitializeResult
void Finalize(DeviceImpl<ApiVariationNvn8>*)
auto GetInterfaceSlot(ShaderStage, ShaderInterfaceType, const char*) const -> int
void GetWorkGroupSize(int*, int*, int*) const
auto ToData() -> Caster<ShaderImplData<ApiVariationNvn8>>
auto ToData() const -> Caster<const ShaderImplData<ApiVariationNvn8>>
auto ToData() volatile -> Caster<volatile ShaderImplData<ApiVariationNvn8>>
auto ToData() const volatile -> Caster<const volatile ShaderImplData<ApiVariationNvn8>>

Protected types

enum State { State_NotInitialized, State_Initialized }
enum Flag { Flag_SeparationEnable, Flag_ResShader, Flag_Shared }

Protected variables

Bit8 state
nn::util::BitPack8 flags
char reserved
Bit32 nvnShaderStageBits
detail::Ptr<void> pNvnProgram
char nvnProgram
detail::Ptr<const void> pReflection
detail::Ptr<void> pOnlineCompiledShader
detail::Ptr<void> userPtr

Enum documentation

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

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

Typedef documentation

template<>
typedef ShaderImplData<ApiVariationNvn8> nn::gfx::detail::ShaderImpl<ApiVariationNvn8>::DataType

Function documentation

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

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

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

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

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

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

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

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

template<>
Caster<ShaderImplData<ApiVariationNvn8>> nn::gfx::detail::ShaderImpl<ApiVariationNvn8>::ToData()

template<>
Caster<const ShaderImplData<ApiVariationNvn8>> nn::gfx::detail::ShaderImpl<ApiVariationNvn8>::ToData() const

template<>
Caster<volatile ShaderImplData<ApiVariationNvn8>> nn::gfx::detail::ShaderImpl<ApiVariationNvn8>::ToData() volatile

template<>
Caster<const volatile ShaderImplData<ApiVariationNvn8>> nn::gfx::detail::ShaderImpl<ApiVariationNvn8>::ToData() const volatile

Variable documentation

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

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

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

template<>
Bit32 nn::gfx::detail::ShaderImpl<ApiVariationNvn8>::nvnShaderStageBits

template<>
detail::Ptr<void> nn::gfx::detail::ShaderImpl<ApiVariationNvn8>::pNvnProgram

template<>
char nn::gfx::detail::ShaderImpl<ApiVariationNvn8>::nvnProgram

template<>
detail::Ptr<const void> nn::gfx::detail::ShaderImpl<ApiVariationNvn8>::pReflection

template<>
detail::Ptr<void> nn::gfx::detail::ShaderImpl<ApiVariationNvn8>::pOnlineCompiledShader

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