Cogs.Core
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
Cogs::GraphicsDeviceCapabilities Struct Reference

Contains device capabilities. More...

#include <ICapabilities.h>

Public Member Functions

bool CheckFeatureLevel (int major, int minor) const
 

Public Attributes

int featureLevelMajor = -1
 
int featureLevelMinor = -1
 
int MaxTextureSlots = 0
 
int MaxVertexInputElements = 32
 
unsigned MaxSamples = 8
 
unsigned MaxMultiViews = 0
 
float MaxAnisotropy = 1.f
 
unsigned ConstantBufferOffsetAlignment = 256
 Minimum offset alignment when binding constant buffers.
 
uint32_t MaxTexture2DSize = 16384
 Using D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION as default.
 
uint32_t MaxTexture3DSize = 2048
 Using D3D11_REQ_TEXTURE3D_U_V_OR_W_DIMENSION as default.
 
uint32_t MaxTextureCubeSize = 16384
 Using D3D11_REQ_TEXTURECUBE_DIMENSION as default.
 
uint32_t MaxTextureArrayLayers = 2048
 Using D3D11_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION as default.
 
bool RenderPass = false
 
bool SyncObjects = false
 Support for syncronization objects.
 
bool GeometryShaders = false
 
bool TessellationShaders = false
 
bool ComputeShaders = false
 
bool ConstantBufferRange = false
 supports binding a range of a constant buffer.
 
bool IndependentSamplerState = true
 Sampler state not tied to a texture unit (hlsl style)
 
bool SupportsHlsl = true
 
bool Instancing = true
 Supports instanced draw calls.
 
bool StartInstance = true
 Supports non-zero start instance in instanced draw calls.
 
bool UnsignedIntIndexes = true
 
bool FloatTextures = true
 
bool TextureCompressionS3TC = false
 
bool TextureCompressionRGTC = false
 
bool TextureCompressionBPTC = false
 
bool TextureCompressionETC = false
 
bool TextureCompressionPVRTC = false
 
bool TextureCompressionASTC = false
 
bool FragDepth = true
 Allows setting fragdepth in fragment shader.
 
bool VertexAndIndexDataInSharedBuffers = true
 
bool SupportsMultipleThreads = true
 
bool TextureCubeArrays = true
 supports texture cube arrays.
 
bool VertexArrayObjects = false
 Supports binding input geometry using GL vertex array objects.
 
bool MultiView = false
 
bool MultiSampleMultiView = false
 
bool OriginOnTop = true
 If true, y=0 refers to top of screen, otherwise it refers to bottom.
 
bool DepthNegativeOneToOne = false
 If true, min z depth=-1 otherwise it is min z depth = 0 (max z depth = 1).
 
bool DefaultColorTargetHasLinearEncoding = true
 Encoding of default color target.
 
size_t DedicatedVideoMemory = unknownAmount
 
size_t DedicatedSystemMemory = unknownAmount
 
size_t SharedSystemMemory = unknownAmount
 

Static Public Attributes

static constexpr size_t unknownAmount = ~static_cast<size_t>(0)
 

Detailed Description

Contains device capabilities.

Definition at line 66 of file ICapabilities.h.

Member Function Documentation

◆ CheckFeatureLevel()

bool Cogs::GraphicsDeviceCapabilities::CheckFeatureLevel ( int  major,
int  minor 
) const
inline

Definition at line 128 of file ICapabilities.h.

Member Data Documentation

◆ ComputeShaders

bool Cogs::GraphicsDeviceCapabilities::ComputeShaders = false

Definition at line 89 of file ICapabilities.h.

◆ ConstantBufferOffsetAlignment

unsigned Cogs::GraphicsDeviceCapabilities::ConstantBufferOffsetAlignment = 256

Minimum offset alignment when binding constant buffers.

Definition at line 78 of file ICapabilities.h.

◆ ConstantBufferRange

bool Cogs::GraphicsDeviceCapabilities::ConstantBufferRange = false

supports binding a range of a constant buffer.

Definition at line 90 of file ICapabilities.h.

◆ DedicatedSystemMemory

size_t Cogs::GraphicsDeviceCapabilities::DedicatedSystemMemory = unknownAmount

Definition at line 125 of file ICapabilities.h.

◆ DedicatedVideoMemory

size_t Cogs::GraphicsDeviceCapabilities::DedicatedVideoMemory = unknownAmount

Definition at line 124 of file ICapabilities.h.

◆ DefaultColorTargetHasLinearEncoding

bool Cogs::GraphicsDeviceCapabilities::DefaultColorTargetHasLinearEncoding = true

Encoding of default color target.

If true, encoding is in linear space and conversion to sRGB is handled automatically by display output. If false, encoding is in sRGB space, so if pixel shader output is in linear space (which it usually is), we have to convert to sRGB ourselves, i.e. output pow(abs(color),1.0/2.2) or a similar expression.

Definition at line 122 of file ICapabilities.h.

◆ DepthNegativeOneToOne

bool Cogs::GraphicsDeviceCapabilities::DepthNegativeOneToOne = false

◆ featureLevelMajor

int Cogs::GraphicsDeviceCapabilities::featureLevelMajor = -1

Definition at line 70 of file ICapabilities.h.

◆ featureLevelMinor

int Cogs::GraphicsDeviceCapabilities::featureLevelMinor = -1

Definition at line 71 of file ICapabilities.h.

◆ FloatTextures

bool Cogs::GraphicsDeviceCapabilities::FloatTextures = true

Definition at line 96 of file ICapabilities.h.

◆ FragDepth

bool Cogs::GraphicsDeviceCapabilities::FragDepth = true

Allows setting fragdepth in fragment shader.

Definition at line 103 of file ICapabilities.h.

◆ GeometryShaders

bool Cogs::GraphicsDeviceCapabilities::GeometryShaders = false

Definition at line 87 of file ICapabilities.h.

◆ IndependentSamplerState

bool Cogs::GraphicsDeviceCapabilities::IndependentSamplerState = true

Sampler state not tied to a texture unit (hlsl style)

Definition at line 91 of file ICapabilities.h.

◆ Instancing

bool Cogs::GraphicsDeviceCapabilities::Instancing = true

Supports instanced draw calls.

Definition at line 93 of file ICapabilities.h.

◆ MaxAnisotropy

float Cogs::GraphicsDeviceCapabilities::MaxAnisotropy = 1.f

Definition at line 77 of file ICapabilities.h.

◆ MaxMultiViews

unsigned Cogs::GraphicsDeviceCapabilities::MaxMultiViews = 0

Definition at line 76 of file ICapabilities.h.

◆ MaxSamples

unsigned Cogs::GraphicsDeviceCapabilities::MaxSamples = 8

Definition at line 75 of file ICapabilities.h.

◆ MaxTexture2DSize

uint32_t Cogs::GraphicsDeviceCapabilities::MaxTexture2DSize = 16384

Using D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION as default.

Definition at line 80 of file ICapabilities.h.

Referenced by Cogs::Core::Image360System::update().

◆ MaxTexture3DSize

uint32_t Cogs::GraphicsDeviceCapabilities::MaxTexture3DSize = 2048

Using D3D11_REQ_TEXTURE3D_U_V_OR_W_DIMENSION as default.

Definition at line 81 of file ICapabilities.h.

◆ MaxTextureArrayLayers

uint32_t Cogs::GraphicsDeviceCapabilities::MaxTextureArrayLayers = 2048

Using D3D11_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION as default.

Definition at line 83 of file ICapabilities.h.

Referenced by Cogs::Core::Image360System::update().

◆ MaxTextureCubeSize

uint32_t Cogs::GraphicsDeviceCapabilities::MaxTextureCubeSize = 16384

Using D3D11_REQ_TEXTURECUBE_DIMENSION as default.

Definition at line 82 of file ICapabilities.h.

◆ MaxTextureSlots

int Cogs::GraphicsDeviceCapabilities::MaxTextureSlots = 0

Definition at line 73 of file ICapabilities.h.

◆ MaxVertexInputElements

int Cogs::GraphicsDeviceCapabilities::MaxVertexInputElements = 32

Definition at line 74 of file ICapabilities.h.

◆ MultiSampleMultiView

bool Cogs::GraphicsDeviceCapabilities::MultiSampleMultiView = false

Definition at line 109 of file ICapabilities.h.

◆ MultiView

bool Cogs::GraphicsDeviceCapabilities::MultiView = false

Definition at line 108 of file ICapabilities.h.

◆ OriginOnTop

bool Cogs::GraphicsDeviceCapabilities::OriginOnTop = true

If true, y=0 refers to top of screen, otherwise it refers to bottom.

Definition at line 110 of file ICapabilities.h.

◆ RenderPass

bool Cogs::GraphicsDeviceCapabilities::RenderPass = false

Definition at line 85 of file ICapabilities.h.

◆ SharedSystemMemory

size_t Cogs::GraphicsDeviceCapabilities::SharedSystemMemory = unknownAmount

Definition at line 126 of file ICapabilities.h.

◆ StartInstance

bool Cogs::GraphicsDeviceCapabilities::StartInstance = true

Supports non-zero start instance in instanced draw calls.

Definition at line 94 of file ICapabilities.h.

◆ SupportsHlsl

bool Cogs::GraphicsDeviceCapabilities::SupportsHlsl = true

Definition at line 92 of file ICapabilities.h.

◆ SupportsMultipleThreads

bool Cogs::GraphicsDeviceCapabilities::SupportsMultipleThreads = true

Definition at line 105 of file ICapabilities.h.

◆ SyncObjects

bool Cogs::GraphicsDeviceCapabilities::SyncObjects = false

Support for syncronization objects.

Definition at line 86 of file ICapabilities.h.

◆ TessellationShaders

bool Cogs::GraphicsDeviceCapabilities::TessellationShaders = false

Definition at line 88 of file ICapabilities.h.

◆ TextureCompressionASTC

bool Cogs::GraphicsDeviceCapabilities::TextureCompressionASTC = false

Definition at line 102 of file ICapabilities.h.

◆ TextureCompressionBPTC

bool Cogs::GraphicsDeviceCapabilities::TextureCompressionBPTC = false

Definition at line 99 of file ICapabilities.h.

◆ TextureCompressionETC

bool Cogs::GraphicsDeviceCapabilities::TextureCompressionETC = false

Definition at line 100 of file ICapabilities.h.

◆ TextureCompressionPVRTC

bool Cogs::GraphicsDeviceCapabilities::TextureCompressionPVRTC = false

Definition at line 101 of file ICapabilities.h.

◆ TextureCompressionRGTC

bool Cogs::GraphicsDeviceCapabilities::TextureCompressionRGTC = false

Definition at line 98 of file ICapabilities.h.

◆ TextureCompressionS3TC

bool Cogs::GraphicsDeviceCapabilities::TextureCompressionS3TC = false

Definition at line 97 of file ICapabilities.h.

◆ TextureCubeArrays

bool Cogs::GraphicsDeviceCapabilities::TextureCubeArrays = true

supports texture cube arrays.

Definition at line 106 of file ICapabilities.h.

◆ unknownAmount

constexpr size_t Cogs::GraphicsDeviceCapabilities::unknownAmount = ~static_cast<size_t>(0)
staticconstexpr

Definition at line 68 of file ICapabilities.h.

◆ UnsignedIntIndexes

bool Cogs::GraphicsDeviceCapabilities::UnsignedIntIndexes = true

Definition at line 95 of file ICapabilities.h.

◆ VertexAndIndexDataInSharedBuffers

bool Cogs::GraphicsDeviceCapabilities::VertexAndIndexDataInSharedBuffers = true

Definition at line 104 of file ICapabilities.h.

◆ VertexArrayObjects

bool Cogs::GraphicsDeviceCapabilities::VertexArrayObjects = false

Supports binding input geometry using GL vertex array objects.

Definition at line 107 of file ICapabilities.h.


The documentation for this struct was generated from the following file: