Cogs.Rendering
Loading...
Searching...
No Matches
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.

Member Function Documentation

◆ CheckFeatureLevel()

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

Member Data Documentation

◆ ComputeShaders

bool Cogs::GraphicsDeviceCapabilities::ComputeShaders = false

◆ ConstantBufferOffsetAlignment

unsigned Cogs::GraphicsDeviceCapabilities::ConstantBufferOffsetAlignment = 256

Minimum offset alignment when binding constant buffers.

◆ ConstantBufferRange

bool Cogs::GraphicsDeviceCapabilities::ConstantBufferRange = false

supports binding a range of a constant buffer.

◆ DedicatedSystemMemory

size_t Cogs::GraphicsDeviceCapabilities::DedicatedSystemMemory = unknownAmount

◆ DedicatedVideoMemory

size_t Cogs::GraphicsDeviceCapabilities::DedicatedVideoMemory = unknownAmount

◆ 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.

◆ DepthNegativeOneToOne

bool Cogs::GraphicsDeviceCapabilities::DepthNegativeOneToOne = false

If true, min z depth=-1 otherwise it is min z depth = 0 (max z depth = 1).

◆ featureLevelMajor

int Cogs::GraphicsDeviceCapabilities::featureLevelMajor = -1

Referenced by CheckFeatureLevel().

◆ featureLevelMinor

int Cogs::GraphicsDeviceCapabilities::featureLevelMinor = -1

Referenced by CheckFeatureLevel().

◆ FloatTextures

bool Cogs::GraphicsDeviceCapabilities::FloatTextures = true

◆ FragDepth

bool Cogs::GraphicsDeviceCapabilities::FragDepth = true

Allows setting fragdepth in fragment shader.

◆ GeometryShaders

bool Cogs::GraphicsDeviceCapabilities::GeometryShaders = false

◆ IndependentSamplerState

bool Cogs::GraphicsDeviceCapabilities::IndependentSamplerState = true

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

◆ Instancing

bool Cogs::GraphicsDeviceCapabilities::Instancing = true

Supports instanced draw calls.

◆ MaxAnisotropy

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

◆ MaxMultiViews

unsigned Cogs::GraphicsDeviceCapabilities::MaxMultiViews = 0

◆ MaxSamples

unsigned Cogs::GraphicsDeviceCapabilities::MaxSamples = 8

◆ MaxTexture2DSize

uint32_t Cogs::GraphicsDeviceCapabilities::MaxTexture2DSize = 16384

Using D3D11_REQ_TEXTURE2D_U_OR_V_DIMENSION as default.

◆ MaxTexture3DSize

uint32_t Cogs::GraphicsDeviceCapabilities::MaxTexture3DSize = 2048

Using D3D11_REQ_TEXTURE3D_U_V_OR_W_DIMENSION as default.

◆ MaxTextureArrayLayers

uint32_t Cogs::GraphicsDeviceCapabilities::MaxTextureArrayLayers = 2048

Using D3D11_REQ_TEXTURE2D_ARRAY_AXIS_DIMENSION as default.

◆ MaxTextureCubeSize

uint32_t Cogs::GraphicsDeviceCapabilities::MaxTextureCubeSize = 16384

Using D3D11_REQ_TEXTURECUBE_DIMENSION as default.

◆ MaxTextureSlots

int Cogs::GraphicsDeviceCapabilities::MaxTextureSlots = 0

◆ MaxVertexInputElements

int Cogs::GraphicsDeviceCapabilities::MaxVertexInputElements = 32

◆ MultiSampleMultiView

bool Cogs::GraphicsDeviceCapabilities::MultiSampleMultiView = false

◆ MultiView

bool Cogs::GraphicsDeviceCapabilities::MultiView = false

◆ OriginOnTop

bool Cogs::GraphicsDeviceCapabilities::OriginOnTop = true

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

◆ RenderPass

bool Cogs::GraphicsDeviceCapabilities::RenderPass = false

◆ SharedSystemMemory

size_t Cogs::GraphicsDeviceCapabilities::SharedSystemMemory = unknownAmount

◆ StartInstance

bool Cogs::GraphicsDeviceCapabilities::StartInstance = true

Supports non-zero start instance in instanced draw calls.

◆ SupportsHlsl

bool Cogs::GraphicsDeviceCapabilities::SupportsHlsl = true

◆ SupportsMultipleThreads

bool Cogs::GraphicsDeviceCapabilities::SupportsMultipleThreads = true

◆ SyncObjects

bool Cogs::GraphicsDeviceCapabilities::SyncObjects = false

Support for syncronization objects.

◆ TessellationShaders

bool Cogs::GraphicsDeviceCapabilities::TessellationShaders = false

◆ TextureCompressionASTC

bool Cogs::GraphicsDeviceCapabilities::TextureCompressionASTC = false

◆ TextureCompressionBPTC

bool Cogs::GraphicsDeviceCapabilities::TextureCompressionBPTC = false

◆ TextureCompressionETC

bool Cogs::GraphicsDeviceCapabilities::TextureCompressionETC = false

◆ TextureCompressionPVRTC

bool Cogs::GraphicsDeviceCapabilities::TextureCompressionPVRTC = false

◆ TextureCompressionRGTC

bool Cogs::GraphicsDeviceCapabilities::TextureCompressionRGTC = false

◆ TextureCompressionS3TC

bool Cogs::GraphicsDeviceCapabilities::TextureCompressionS3TC = false

◆ TextureCubeArrays

bool Cogs::GraphicsDeviceCapabilities::TextureCubeArrays = true

supports texture cube arrays.

◆ unknownAmount

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

◆ UnsignedIntIndexes

bool Cogs::GraphicsDeviceCapabilities::UnsignedIntIndexes = true

◆ VertexAndIndexDataInSharedBuffers

bool Cogs::GraphicsDeviceCapabilities::VertexAndIndexDataInSharedBuffers = true

◆ VertexArrayObjects

bool Cogs::GraphicsDeviceCapabilities::VertexArrayObjects = false

Supports binding input geometry using GL vertex array objects.


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