Vireo  0.0
Vireo 3D Rendering Hardware Interface
Vireo.ixx File Reference

Classes

class  Buffer
 
struct  BufferCopyRegion
 
struct  BufferUploadInfo
 
union  ClearValue
 
struct  ColorBlendDesc
 
class  CommandAllocator
 
class  CommandList
 
class  ComputePipeline
 
struct  DepthClearValue
 
class  DescriptorLayout
 
class  DescriptorSet
 
class  Device
 
struct  DrawIndexedIndirectCommand
 
struct  DrawIndirectCommand
 
struct  Extent
 
class  Fence
 
class  GraphicPipeline
 
struct  GraphicPipelineConfiguration
 
class  Image
 
struct  ImageUploadInfo
 
class  Instance
 
class  PhysicalDevice
 
struct  PhysicalDeviceDesc
 
class  Pipeline
 
class  PipelineResources
 
struct  PushConstantsDesc
 
struct  Rect
 
class  RenderTarget
 
struct  RenderTargetDesc
 
struct  RenderingConfiguration
 
class  Sampler
 
class  Semaphore
 
class  ShaderModule
 
struct  StencilOpState
 
class  SubmitQueue
 
class  SwapChain
 
struct  VertexAttributeDesc
 
class  VertexInputLayout
 
struct  VideoMemoryAllocationDesc
 
struct  Viewport
 
class  Vireo
 

Namespaces

namespace  vireo
 

Typedefs

using DescriptorIndex = uint32_t
 
typedef union vireo::ClearValue ClearValue
 

Enums

enum class  Backend : uint8_t { UNDEFINED, DIRECTX, VULKAN }
 
enum class  Filter { NEAREST, LINEAR }
 
enum class  AddressMode { REPEAT, MIRRORED_REPEAT, CLAMP_TO_EDGE, CLAMP_TO_BORDER }
 
enum class  MipMapMode { NEAREST, LINEAR }
 
enum class  ImageFormat {
  R8_UNORM, R8_SNORM, R8_UINT, R8_SINT,
  R8G8_UNORM, R8G8_SNORM, R8G8_UINT, R8G8_SINT,
  R8G8B8A8_UNORM, R8G8B8A8_SNORM, R8G8B8A8_UINT, R8G8B8A8_SINT,
  R8G8B8A8_SRGB, B8G8R8A8_UNORM, B8G8R8A8_SRGB, B8G8R8X8_UNORM,
  B8G8R8X8_SRGB, A2B10G10R10_UNORM, A2B10G10R10_UINT, R16_UNORM,
  R16_SNORM, R16_UINT, R16_SINT, R16_SFLOAT,
  R16G16_UNORM, R16G16_SNORM, R16G16_UINT, R16G16_SINT,
  R16G16_SFLOAT, R16G16B16A16_UNORM, R16G16B16A16_SNORM, R16G16B16A16_UINT,
  R16G16B16A16_SINT, R16G16B16A16_SFLOAT, R32_UINT, R32_SINT,
  R32_SFLOAT, R32G32_UINT, R32G32_SINT, R32G32_SFLOAT,
  R32G32B32_UINT, R32G32B32_SINT, R32G32B32_SFLOAT, R32G32B32A32_UINT,
  R32G32B32A32_SINT, R32G32B32A32_SFLOAT, D16_UNORM, D24_UNORM_S8_UINT,
  D32_SFLOAT, D32_SFLOAT_S8_UINT, BC1_UNORM, BC1_UNORM_SRGB,
  BC2_UNORM, BC2_UNORM_SRGB, BC3_UNORM, BC3_UNORM_SRGB,
  BC4_UNORM, BC4_SNORM, BC5_UNORM, BC5_SNORM,
  BC6H_UFLOAT, BC6H_SFLOAT, BC7_UNORM, BC7_UNORM_SRGB
}
 
enum class  BufferType {
  VERTEX, INDEX, INDIRECT, UNIFORM,
  STORAGE, DEVICE_STORAGE, READWRITE_STORAGE, BUFFER_UPLOAD,
  BUFFER_DOWNLOAD, IMAGE_UPLOAD, IMAGE_DOWNLOAD
}
 
enum class  IndexType { UINT16, UINT32 }
 
enum class  DescriptorType {
  UNIFORM, UNIFORM_DYNAMIC, STORAGE, DEVICE_STORAGE,
  READWRITE_STORAGE, SAMPLED_IMAGE, SAMPLER, READWRITE_IMAGE
}
 
enum class  CommandType { GRAPHIC, TRANSFER, COMPUTE }
 
enum class  AttributeFormat {
  R32_FLOAT, R32G32_FLOAT, R32G32B32_FLOAT, R32G32B32A32_FLOAT,
  R32_SINT, R32G32_SINT, R32G32B32_SINT, R32G32B32A32_SINT,
  R32_UINT, R32G32_UINT, R32G32B32_UINT, R32G32B32A32_UINT
}
 
enum class  RenderTargetType { COLOR, DEPTH, DEPTH_STENCIL }
 
enum class  CullMode { NONE, FRONT, BACK }
 
enum class  PrimitiveTopology {
  POINT_LIST, LINE_LIST, LINE_STRIP, TRIANGLE_LIST,
  TRIANGLE_STRIP
}
 
enum class  PolygonMode { FILL, WIREFRAME }
 
enum class  CompareOp {
  NEVER, LESS, EQUAL, LESS_OR_EQUAL,
  GREATER, NOT_EQUAL, GREATER_OR_EQUAL, ALWAYS
}
 
enum class  StencilOp {
  KEEP = 0, ZERO = 1, REPLACE = 2, INCREMENT_AND_CLAMP = 3,
  DECREMENT_AND_CLAMP = 4, INVERT = 5, INCREMENT_AND_WRAP = 6, DECREMENT_AND_WRAP = 7
}
 
enum class  BlendFactor {
  ZERO, ONE, SRC_COLOR, ONE_MINUS_SRC_COLOR,
  DST_COLOR, ONE_MINUS_DST_COLOR, SRC_ALPHA, ONE_MINUS_SRC_ALPHA,
  DST_ALPHA, ONE_MINUS_DST_ALPHA, CONSTANT_COLOR, ONE_MINUS_CONSTANT_COLOR,
  CONSTANT_ALPHA, ONE_MINUS_CONSTANT_ALPHA, SRC_ALPHA_SATURATE, SRC1_COLOR,
  ONE_MINUS_SRC1_COLOR, SRC1_ALPHA, ONE_MINUS_SRC1_ALPHA
}
 
enum class  BlendOp {
  ADD, SUBTRACT, REVERSE_SUBTRACT, MIN,
  MAX
}
 
enum class  LogicOp {
  CLEAR, SET, COPY, COPY_INVERTED,
  NOOP, INVERT, AND, NAND,
  OR, NOR, XOR, EQUIV,
  AND_REVERSE, AND_INVERTED, OR_REVERSE, OR_INVERTED
}
 
enum class  ColorWriteMask : uint8_t {
  RED = 0x00000001, GREEN = 0x00000002, BLUE = 0x00000004, ALPHA = 0x00000008,
  ALL = 0x0000000f
}
 
enum class  ShaderStage {
  ALL, VERTEX, FRAGMENT, HULL,
  DOMAIN, GEOMETRY, COMPUTE
}
 
enum class  WaitStage {
  NONE, PIPELINE_TOP, VERTEX_INPUT, VERTEX_SHADER,
  DEPTH_STENCIL_TEST_BEFORE_FRAGMENT_SHADER, FRAGMENT_SHADER, DEPTH_STENCIL_TEST_AFTER_FRAGMENT_SHADER, COLOR_OUTPUT,
  COMPUTE_SHADER, TRANSFER, PIPELINE_BOTTOM, ALL_GRAPHICS,
  ALL_COMMANDS, COPY, RESOLV, BLIT,
  CLEAR
}
 
enum class  ResourceState {
  UNDEFINED, GENERAL, RENDER_TARGET_COLOR, RENDER_TARGET_DEPTH,
  RENDER_TARGET_DEPTH_READ, RENDER_TARGET_DEPTH_STENCIL, RENDER_TARGET_DEPTH_STENCIL_READ, DISPATCH_TARGET,
  PRESENT, COPY_SRC, COPY_DST, SHADER_READ,
  COMPUTE_READ, COMPUTE_WRITE, INDIRECT_DRAW
}
 
enum class  MSAA {
  NONE = 0, X2 = 1, X4 = 2, X8 = 3,
  X16 = 4, X32 = 5, X64 = 6
}
 
enum class  PresentMode { IMMEDIATE = 0, VSYNC = 1 }
 
enum class  PipelineType { GRAPHIC, COMPUTE }
 
enum class  SemaphoreType { BINARY, TIMELINE }
 
enum class  VideoMemoryAllocationUsage { BUFFER, IMAGE }
 

Functions

consteval bool isMemoryUsageEnabled ()
 

Variables

export module vireo
 
import std
 
export import vireo tools
 
constexpr bool ENABLE_VRAM_USAGE = true
 

Variable Documentation

import std
export import vireo tools
export module vireo