Typedef in ldk_rhi.h

LDKRHIResource

typedef uintptr_t LDKRHIResource;
Macro in ldk_rhi.h

LDK_RHI_INVALID_RESOURCE

#define LDK_RHI_INVALID_RESOURCE 0
Struct in ldk_rhi.h

LDKRHIContext

typedef struct LDKRHIContext LDKRHIContext;
Enum in ldk_rhi.h

LDKRHIBackendType

typedef enum LDKRHIBackendType{
  LDK_RHI_BACKEND_NONE=0,
  LDK_RHI_BACKEND_OPENGL33
}LDKRHIBackendType;
Enum in ldk_rhi.h

LDKRHIBufferUsage

typedef enum LDKRHIBufferUsage{
  LDK_RHI_BUFFER_USAGE_NONE=0,
  LDK_RHI_BUFFER_USAGE_VERTEX=1<<0,
  LDK_RHI_BUFFER_USAGE_INDEX=1<<1,
  LDK_RHI_BUFFER_USAGE_UNIFORM=1<<2,
  LDK_RHI_BUFFER_USAGE_STORAGE=1<<3,
  LDK_RHI_BUFFER_USAGE_TRANSFER_SRC=1<<4,
  LDK_RHI_BUFFER_USAGE_TRANSFER_DST=1<<5
}LDKRHIBufferUsage;
Enum in ldk_rhi.h

LDKRHIMemoryUsage

typedef enum LDKRHIMemoryUsage{
  LDK_RHI_MEMORY_USAGE_GPU=0,
  LDK_RHI_MEMORY_USAGE_CPU_TO_GPU,
  LDK_RHI_MEMORY_USAGE_GPU_TO_CPU
}LDKRHIMemoryUsage;
Enum in ldk_rhi.h

LDKRHIBufferStatsClass

Optional diagnostic classification for per-frame buffer upload statistics.

typedef enum LDKRHIBufferStatsClass{
  LDK_RHI_BUFFER_STATS_AUTO=0,
  LDK_RHI_BUFFER_STATS_UNIFORM,
  LDK_RHI_BUFFER_STATS_VERTEX,
  LDK_RHI_BUFFER_STATS_INDEX,
  LDK_RHI_BUFFER_STATS_INSTANCE,
  LDK_RHI_BUFFER_STATS_OTHER
}LDKRHIBufferStatsClass;
Enum in ldk_rhi.h

LDKRHITextureType

typedef enum LDKRHITextureType{
  LDK_RHI_TEXTURE_TYPE_2D=0,
  LDK_RHI_TEXTURE_TYPE_3D,
  LDK_RHI_TEXTURE_TYPE_CUBE
}LDKRHITextureType;
Enum in ldk_rhi.h

LDKRHITextureUsage

typedef enum LDKRHITextureUsage{
  LDK_RHI_TEXTURE_USAGE_NONE=0,
  LDK_RHI_TEXTURE_USAGE_SAMPLED=1<<0,
  LDK_RHI_TEXTURE_USAGE_RENDER_TARGET=1<<1,
  LDK_RHI_TEXTURE_USAGE_DEPTH_STENCIL=1<<2,
  LDK_RHI_TEXTURE_USAGE_STORAGE=1<<3,
  LDK_RHI_TEXTURE_USAGE_TRANSFER_SRC=1<<4,
  LDK_RHI_TEXTURE_USAGE_TRANSFER_DST=1<<5
}LDKRHITextureUsage;
Enum in ldk_rhi.h

LDKRHIFormat

typedef enum LDKRHIFormat{
  LDK_RHI_FORMAT_INVALID=0,
  LDK_RHI_FORMAT_R8_UNORM,
  LDK_RHI_FORMAT_RG8_UNORM,
  LDK_RHI_FORMAT_RGBA8_UNORM,
  LDK_RHI_FORMAT_RGBA8_SRGB,
  LDK_RHI_FORMAT_BGRA8_UNORM,
  LDK_RHI_FORMAT_BGRA8_SRGB,
  LDK_RHI_FORMAT_R16_UNORM,
  LDK_RHI_FORMAT_RG16_UNORM,
  LDK_RHI_FORMAT_RGBA16_UNORM,
  LDK_RHI_FORMAT_R16_FLOAT,
  LDK_RHI_FORMAT_RG16_FLOAT,
  LDK_RHI_FORMAT_RGBA16_FLOAT,
  LDK_RHI_FORMAT_R32_FLOAT,
  LDK_RHI_FORMAT_RG32_FLOAT,
  LDK_RHI_FORMAT_RGBA32_FLOAT,
  LDK_RHI_FORMAT_D24S8,
  LDK_RHI_FORMAT_D32_FLOAT
}LDKRHIFormat;
Enum in ldk_rhi.h

LDKRHITextureSwizzle

typedef enum LDKRHITextureSwizzle{
  LDK_RHI_TEXTURE_SWIZZLE_IDENTITY=0,
  LDK_RHI_TEXTURE_SWIZZLE_ZERO,
  LDK_RHI_TEXTURE_SWIZZLE_ONE,
  LDK_RHI_TEXTURE_SWIZZLE_R,
  LDK_RHI_TEXTURE_SWIZZLE_G,
  LDK_RHI_TEXTURE_SWIZZLE_B,
  LDK_RHI_TEXTURE_SWIZZLE_A
}LDKRHITextureSwizzle;
Enum in ldk_rhi.h

LDKRHIFilter

typedef enum LDKRHIFilter{
  LDK_RHI_FILTER_NEAREST=0,
  LDK_RHI_FILTER_LINEAR,
  LDK_RHI_FILTER_NONE
}LDKRHIFilter;
Enum in ldk_rhi.h

LDKRHIWrap

typedef enum LDKRHIWrap{
  LDK_RHI_WRAP_REPEAT=0,
  LDK_RHI_WRAP_CLAMP_TO_EDGE,
  LDK_RHI_WRAP_MIRROR,
  LDK_RHI_WRAP_MIRRORED_REPEAT=LDK_RHI_WRAP_MIRROR
}LDKRHIWrap;
Enum in ldk_rhi.h

LDKRHIShaderStage

typedef enum LDKRHIShaderStage{
  LDK_RHI_SHADER_STAGE_NONE=0,
  LDK_RHI_SHADER_STAGE_VERTEX=1<<0,
  LDK_RHI_SHADER_STAGE_FRAGMENT=1<<1,
  LDK_RHI_SHADER_STAGE_COMPUTE=1<<2
}LDKRHIShaderStage;
Enum in ldk_rhi.h

LDKRHIShaderCodeFormat

typedef enum LDKRHIShaderCodeFormat{
  LDK_RHI_SHADER_CODE_FORMAT_GLSL=0,
  LDK_RHI_SHADER_CODE_FORMAT_SPIRV,
  LDK_RHI_SHADER_CODE_FORMAT_DXIL,
  LDK_RHI_SHADER_CODE_FORMAT_MSL
}LDKRHIShaderCodeFormat;
Enum in ldk_rhi.h

LDKRHIPrimitiveTopology

typedef enum LDKRHIPrimitiveTopology{
  LDK_RHI_PRIMITIVE_TOPOLOGY_TRIANGLES=0,
  LDK_RHI_PRIMITIVE_TOPOLOGY_LINES
}LDKRHIPrimitiveTopology;
Enum in ldk_rhi.h

LDKRHICullMode

typedef enum LDKRHICullMode{
  LDK_RHI_CULL_MODE_NONE=0,
  LDK_RHI_CULL_MODE_FRONT,
  LDK_RHI_CULL_MODE_BACK
}LDKRHICullMode;
Enum in ldk_rhi.h

LDKRHIPolygonMode

typedef enum LDKRHIPolygonMode{
  LDK_RHI_POLYGON_MODE_FILL=0,
  LDK_RHI_POLYGON_MODE_LINE
}LDKRHIPolygonMode;
Enum in ldk_rhi.h

LDKRHIFrontFace

typedef enum LDKRHIFrontFace{
  LDK_RHI_FRONT_FACE_CCW=0,
  LDK_RHI_FRONT_FACE_CW
}LDKRHIFrontFace;
Enum in ldk_rhi.h

LDKRHICompareOp

typedef enum LDKRHICompareOp{
  LDK_RHI_COMPARE_OP_NEVER=0,
  LDK_RHI_COMPARE_OP_LESS,
  LDK_RHI_COMPARE_OP_LESS_EQUAL,
  LDK_RHI_COMPARE_OP_EQUAL,
  LDK_RHI_COMPARE_OP_GREATER,
  LDK_RHI_COMPARE_OP_GREATER_EQUAL,
  LDK_RHI_COMPARE_OP_NOT_EQUAL,
  LDK_RHI_COMPARE_OP_ALWAYS
}LDKRHICompareOp;
Enum in ldk_rhi.h

LDKRHIBlendFactor

typedef enum LDKRHIBlendFactor{
  LDK_RHI_BLEND_FACTOR_ZERO=0,
  LDK_RHI_BLEND_FACTOR_ONE,
  LDK_RHI_BLEND_FACTOR_SRC_COLOR,
  LDK_RHI_BLEND_FACTOR_ONE_MINUS_SRC_COLOR,
  LDK_RHI_BLEND_FACTOR_DST_COLOR,
  LDK_RHI_BLEND_FACTOR_ONE_MINUS_DST_COLOR,
  LDK_RHI_BLEND_FACTOR_SRC_ALPHA,
  LDK_RHI_BLEND_FACTOR_ONE_MINUS_SRC_ALPHA,
  LDK_RHI_BLEND_FACTOR_DST_ALPHA,
  LDK_RHI_BLEND_FACTOR_ONE_MINUS_DST_ALPHA
}LDKRHIBlendFactor;
Enum in ldk_rhi.h

LDKRHIBlendOp

typedef enum LDKRHIBlendOp{
  LDK_RHI_BLEND_OP_ADD=0,
  LDK_RHI_BLEND_OP_SUBTRACT,
  LDK_RHI_BLEND_OP_REVERSE_SUBTRACT
}LDKRHIBlendOp;
Enum in ldk_rhi.h

LDKRHIColorWriteMask

typedef enum LDKRHIColorWriteMask{
  LDK_RHI_COLOR_WRITE_MASK_NONE=0,
  LDK_RHI_COLOR_WRITE_MASK_R=1<<0,
  LDK_RHI_COLOR_WRITE_MASK_G=1<<1,
  LDK_RHI_COLOR_WRITE_MASK_B=1<<2,
  LDK_RHI_COLOR_WRITE_MASK_A=1<<3,
  LDK_RHI_COLOR_WRITE_MASK_ALL=LDK_RHI_COLOR_WRITE_MASK_R|LDK_RHI_COLOR_WRITE_MASK_G|LDK_RHI_COLOR_WRITE_MASK_B|LDK_RHI_COLOR_WRITE_MASK_A
}LDKRHIColorWriteMask;
Enum in ldk_rhi.h

LDKRHIVertexFormat

typedef enum LDKRHIVertexFormat{
  LDK_RHI_VERTEX_FORMAT_FLOAT=0,
  LDK_RHI_VERTEX_FORMAT_FLOAT2,
  LDK_RHI_VERTEX_FORMAT_FLOAT3,
  LDK_RHI_VERTEX_FORMAT_FLOAT4,
  LDK_RHI_VERTEX_FORMAT_UBYTE4_NORM
}LDKRHIVertexFormat;
Enum in ldk_rhi.h

LDKRHIVertexInputRate

typedef enum LDKRHIVertexInputRate{
  LDK_RHI_VERTEX_INPUT_RATE_PER_VERTEX=0,
  LDK_RHI_VERTEX_INPUT_RATE_PER_INSTANCE
}LDKRHIVertexInputRate;
Enum in ldk_rhi.h

LDKRHIBindingType

typedef enum LDKRHIBindingType{
  LDK_RHI_BINDING_TYPE_UNIFORM_BUFFER=0,
  LDK_RHI_BINDING_TYPE_STORAGE_BUFFER,
  LDK_RHI_BINDING_TYPE_TEXTURE,
  LDK_RHI_BINDING_TYPE_SAMPLER,
  LDK_RHI_BINDING_TYPE_TEXTURE_SAMPLER
}LDKRHIBindingType;
Enum in ldk_rhi.h

LDKRHILoadOp

typedef enum LDKRHILoadOp{
  LDK_RHI_LOAD_OP_LOAD=0,
  LDK_RHI_LOAD_OP_CLEAR,
  LDK_RHI_LOAD_OP_DONT_CARE
}LDKRHILoadOp;
Enum in ldk_rhi.h

LDKRHIStoreOp

typedef enum LDKRHIStoreOp{
  LDK_RHI_STORE_OP_STORE=0,
  LDK_RHI_STORE_OP_DONT_CARE
}LDKRHIStoreOp;
Enum in ldk_rhi.h

LDKRHIIndexType

typedef enum LDKRHIIndexType{
  LDK_RHI_INDEX_TYPE_UINT16=0,
  LDK_RHI_INDEX_TYPE_UINT32
}LDKRHIIndexType;
Struct in ldk_rhi.h

LDKRHIColor

typedef struct LDKRHIColor{
  float r;
  float g;
  float b;
  float a;
}LDKRHIColor;
Struct in ldk_rhi.h

LDKRHIViewport

typedef struct LDKRHIViewport{
  float x;
  float y;
  float width;
  float height;
  float min_depth;
  float max_depth;
}LDKRHIViewport;
Struct in ldk_rhi.h

LDKRHIRect

typedef struct LDKRHIRect{
  int32_t x;
  int32_t y;
  int32_t width;
  int32_t height;
}LDKRHIRect;
Struct in ldk_rhi.h

LDKRHIShaderModuleDesc

typedef struct LDKRHIShaderModuleDesc{
  uint32_t stage;
  LDKRHIShaderCodeFormat code_format;
  const void *code;
  uint32_t code_size;
  const char *entry_point;
}LDKRHIShaderModuleDesc;
Struct in ldk_rhi.h

LDKRHIDepthState

typedef struct LDKRHIDepthState{
  bool test_enabled;
  bool write_enabled;
  LDKRHICompareOp compare_op;
}LDKRHIDepthState;
Struct in ldk_rhi.h

LDKRHIRasterState

typedef struct LDKRHIRasterState{
  LDKRHICullMode cull_mode;
  LDKRHIPolygonMode polygon_mode;
  LDKRHIFrontFace front_face;
  bool scissor_enabled;
  bool depth_bias_enabled;
  float depth_bias_slope_factor;
  float depth_bias_constant_factor;
}LDKRHIRasterState;
Struct in ldk_rhi.h

LDKRHIVertexAttributeDesc

typedef struct LDKRHIVertexAttributeDesc{
  uint32_t location;
  LDKRHIVertexFormat format;
  uint32_t offset;
}LDKRHIVertexAttributeDesc;
Macro in ldk_rhi.h

LDK_RHI_VERTEX_ATTRIBUTE_MAX

#define LDK_RHI_VERTEX_ATTRIBUTE_MAX 16
Macro in ldk_rhi.h

LDK_RHI_VERTEX_BUFFER_LAYOUT_MAX

#define LDK_RHI_VERTEX_BUFFER_LAYOUT_MAX 8
Macro in ldk_rhi.h

LDK_RHI_COLOR_ATTACHMENT_MAX

#define LDK_RHI_COLOR_ATTACHMENT_MAX 8
Macro in ldk_rhi.h

LDK_RHI_BINDING_MAX

#define LDK_RHI_BINDING_MAX 16
Struct in ldk_rhi.h

LDKRHIBindingLayoutEntry

typedef struct LDKRHIBindingLayoutEntry{
  uint32_t slot;
  LDKRHIBindingType type;
  uint32_t stages;
}LDKRHIBindingLayoutEntry;
Struct in ldk_rhi.h

LDKRHIPipelineDesc

typedef struct LDKRHIPipelineDesc{
  LDKRHIShaderModule vertex_shader_module;
  LDKRHIShaderModule fragment_shader_module;
  LDKRHIBindingsLayout bindings_layout;
  LDKRHIPrimitiveTopology topology;
  LDKRHIBlendState blend_state;
  LDKRHIDepthState depth_state;
  LDKRHIRasterState raster_state;
  LDKRHIVertexBufferLayoutDesc vertex_layout;
  uint32_t vertex_buffer_layout_count;
  LDKRHIVertexBufferLayoutDesc vertex_buffer_layouts[LDK_RHI_VERTEX_BUFFER_LAYOUT_MAX];
  uint32_t color_attachment_count;
  LDKRHIFormat color_formats[LDK_RHI_COLOR_ATTACHMENT_MAX];
  LDKRHIFormat depth_format;
}LDKRHIPipelineDesc;
Struct in ldk_rhi.h

LDKRHIPassDepthAttachmentDesc

typedef struct LDKRHIPassDepthAttachmentDesc{
  bool valid;
  LDKRHITexture texture;
  uint32_t mip_level;
  uint32_t layer;
  LDKRHILoadOp depth_load_op;
  LDKRHIStoreOp depth_store_op;
  float clear_depth;
  uint32_t clear_stencil;
}LDKRHIPassDepthAttachmentDesc;
Struct in ldk_rhi.h

LDKRHIContextDesc

typedef struct LDKRHIContextDesc{
  LDKRHIBackendType backend_type;
  void *backend_api;
  void *backend_user_data;
}LDKRHIContextDesc;
Struct in ldk_rhi.h

LDKRHIDrawIndexedDesc

typedef struct LDKRHIDrawIndexedDesc{
  uint32_t index_count;
  uint32_t first_index;
  int32_t vertex_offset;
}LDKRHIDrawIndexedDesc;
Struct in ldk_rhi.h

LDKRHIDrawIndexedInstancedDesc

typedef struct LDKRHIDrawIndexedInstancedDesc{
  uint32_t index_count;
  uint32_t instance_count;
  uint32_t first_index;
  int32_t vertex_offset;
  uint32_t first_instance;
}LDKRHIDrawIndexedInstancedDesc;
Struct in ldk_rhi.h

LDKRHIDrawDesc

typedef struct LDKRHIDrawDesc{
  uint32_t vertex_count;
  uint32_t first_vertex;
}LDKRHIDrawDesc;
Struct in ldk_rhi.h

LDKRHIFrameStats

Per-frame backend resource activity, useful for spotting resource churn.

typedef struct LDKRHIFrameStats{
  uint32_t buffer_create_count;
  uint32_t buffer_destroy_count;
  uint32_t buffer_update_count;
  uint64_t buffer_update_bytes;
  uint32_t uniform_buffer_update_count;
  uint64_t uniform_buffer_update_bytes;
  uint32_t vertex_buffer_update_count;
  uint64_t vertex_buffer_update_bytes;
  uint32_t index_buffer_update_count;
  uint64_t index_buffer_update_bytes;
  uint32_t instance_buffer_update_count;
  uint64_t instance_buffer_update_bytes;
  uint32_t other_buffer_update_count;
  uint64_t other_buffer_update_bytes;
  uint32_t texture_create_count;
  uint32_t texture_destroy_count;
  uint32_t framebuffer_create_count;
  uint32_t framebuffer_destroy_count;
}LDKRHIFrameStats;
Struct in ldk_rhi.h

LDKRHIDrawInstancedDesc

typedef struct LDKRHIDrawInstancedDesc{
  uint32_t vertex_count;
  uint32_t instance_count;
  uint32_t first_vertex;
  uint32_t first_instance;
}LDKRHIDrawInstancedDesc;
Struct in ldk_rhi.h

LDKRHIFunctions

typedef struct LDKRHIFunctions{
  void(*shutdown)(void *backend_user_data);
  LDKRHIBuffer(*buffer_create)(void *backend_user_data, const LDKRHIBufferDesc *desc);
  void(*buffer_destroy)(void *backend_user_data, LDKRHIBuffer buffer);
  bool(*buffer_update)(void *backend_user_data, LDKRHIBuffer buffer, uint32_t offset, uint32_t size, const void *data);
  LDKRHITexture(*texture_create)(void *backend_user_data, const LDKRHITextureDesc *desc);
  void(*texture_destroy)(void *backend_user_data, LDKRHITexture texture);
  bool(*texture_update)(void *backend_user_data, LDKRHITexture texture, uint32_t mip_level, uint32_t layer, const void *data, uint32_t size);
  LDKRHISampler(*create_sampler)(void *backend_user_data, const LDKRHISamplerDesc *desc);
  void(*destroy_sampler)(void *backend_user_data, LDKRHISampler sampler);
  LDKRHIShaderModule(*shader_module_create)(void *backend_user_data, const LDKRHIShaderModuleDesc *desc);
  void(*shader_module_destroy)(void *backend_user_data, LDKRHIShaderModule shader_module);
  LDKRHIBindingsLayout(*bindings_layout_create)(void *backend_user_data, const LDKRHIBindingsLayoutDesc *desc);
  void(*bindings_layout_destroy)(void *backend_user_data, LDKRHIBindingsLayout bindings_layout);
  LDKRHIPipeline(*pipeline_create)(void *backend_user_data, const LDKRHIPipelineDesc *desc);
  void(*pipeline_destroy)(void *backend_user_data, LDKRHIPipeline pipeline);
  LDKRHIBindings(*bindings_create)(void *backend_user_data, const LDKRHIBindingsDesc *desc);
  void(*bindings_destroy)(void *backend_user_data, LDKRHIBindings bindings);
  void(*frame_begin)(void *backend_user_data);
  void(*frame_end)(void *backend_user_data);
  LDKRHIFrameStats(*frame_stats_get)(void *backend_user_data);
  void(*pass_begin)(void *backend_user_data, const LDKRHIPassDesc *desc);
  void(*pass_end)(void *backend_user_data);
  void(*pipeline_bind)(void *backend_user_data, LDKRHIPipeline pipeline);
  void(*bindings_bind)(void *backend_user_data, LDKRHIBindings bindings);
  void(*vertex_buffer_bind)(void *backend_user_data, LDKRHIBuffer buffer, uint32_t offset);
  void(*vertex_buffer_bind_at)(void *backend_user_data, uint32_t slot, LDKRHIBuffer buffer, uint32_t offset);
  void(*index_buffer_bind)(void *backend_user_data, LDKRHIBuffer buffer, uint32_t offset, LDKRHIIndexType index_type);
  void(*viewport_set)(void *backend_user_data, const LDKRHIViewport *viewport);
  void(*scissor_set)(void *backend_user_data, const LDKRHIRect *scissor);
  void(*line_width_set)(void *backend_user_data, float line_width);
  void(*draw)(void *backend_user_data, const LDKRHIDrawDesc *desc);
  void(*draw_instanced)(void *backend_user_data, const LDKRHIDrawInstancedDesc *desc);
  void(*draw_indexed)(void *backend_user_data, const LDKRHIDrawIndexedDesc *desc);
  void(*draw_indexed_instanced)(void *backend_user_data, const LDKRHIDrawIndexedInstancedDesc *desc);
}LDKRHIFunctions;
Function in ldk_rhi.h

ldk_rhi_buffer_desc_defaults

Initializes a buffer descriptor with default values.

LDK_API void ldk_rhi_buffer_desc_defaults(LDKRHIBufferDesc *desc);

Parameters

LDKRHIBufferDesc *desc
Pointer to the descriptor to initialize.
Function in ldk_rhi.h

ldk_rhi_texture_desc_defaults

Initializes a texture descriptor with default values.

LDK_API void ldk_rhi_texture_desc_defaults(LDKRHITextureDesc *desc);

Parameters

LDKRHITextureDesc *desc
Pointer to the descriptor to initialize.
Function in ldk_rhi.h

ldk_rhi_sampler_desc_defaults

Initializes a sampler descriptor with default values.

LDK_API void ldk_rhi_sampler_desc_defaults(LDKRHISamplerDesc *desc);

Parameters

LDKRHISamplerDesc *desc
Pointer to the descriptor to initialize.
Function in ldk_rhi.h

ldk_rhi_pass_desc_defaults

Initializes a pass descriptor with default values.

LDK_API void ldk_rhi_pass_desc_defaults(LDKRHIPassDesc *desc);

Parameters

LDKRHIPassDesc *desc
Pointer to the descriptor to initialize.
Function in ldk_rhi.h

ldk_rhi_is_valid_buffer

Checks if a buffer handle is valid.

LDK_API bool ldk_rhi_is_valid_buffer(LDKRHIBuffer buffer);

Parameters

LDKRHIBuffer buffer
Buffer handle.

Returns

true if valid, false otherwise.

Function in ldk_rhi.h

ldk_rhi_is_valid_texture

Checks if a texture handle is valid.

LDK_API bool ldk_rhi_is_valid_texture(LDKRHITexture texture);

Parameters

LDKRHITexture texture
Texture handle.

Returns

true if valid, false otherwise.

Function in ldk_rhi.h

ldk_rhi_is_valid_sampler

Checks if a sampler handle is valid.

LDK_API bool ldk_rhi_is_valid_sampler(LDKRHISampler sampler);

Parameters

LDKRHISampler sampler
Sampler handle.

Returns

true if valid, false otherwise.

Function in ldk_rhi.h

ldk_rhi_is_valid_shader_module

Checks if a shader module handle is valid.

LDK_API bool ldk_rhi_is_valid_shader_module(LDKRHIShaderModule shader_module);

Parameters

LDKRHIShaderModule shader_module
Shader module handle.

Returns

true if valid, false otherwise.

Function in ldk_rhi.h

ldk_rhi_is_valid_bindings_layout

Checks if a bindings layout handle is valid.

LDK_API bool ldk_rhi_is_valid_bindings_layout(LDKRHIBindingsLayout bindings_layout);

Parameters

LDKRHIBindingsLayout bindings_layout
Bindings layout handle.

Returns

true if valid, false otherwise.

Function in ldk_rhi.h

ldk_rhi_is_valid_pipeline

Checks if a pipeline handle is valid.

LDK_API bool ldk_rhi_is_valid_pipeline(LDKRHIPipeline pipeline);

Parameters

LDKRHIPipeline pipeline
Pipeline handle.

Returns

true if valid, false otherwise.

Function in ldk_rhi.h

ldk_rhi_is_valid_bindings

Checks if a bindings handle is valid.

LDK_API bool ldk_rhi_is_valid_bindings(LDKRHIBindings bindings);

Parameters

LDKRHIBindings bindings
Bindings handle.

Returns

true if valid, false otherwise.

Function in ldk_rhi.h

ldk_rhi_is_valid_buffer_desc

Validates a buffer descriptor.

LDK_API bool ldk_rhi_is_valid_buffer_desc(const LDKRHIBufferDesc *desc);

Parameters

const LDKRHIBufferDesc *desc
Descriptor to validate.

Returns

true if valid, false otherwise.

Function in ldk_rhi.h

ldk_rhi_is_valid_texture_desc

Validates a texture descriptor.

LDK_API bool ldk_rhi_is_valid_texture_desc(const LDKRHITextureDesc *desc);

Parameters

const LDKRHITextureDesc *desc
Descriptor to validate.

Returns

true if valid, false otherwise.

Function in ldk_rhi.h

ldk_rhi_is_valid_sampler_desc

Validates a sampler descriptor.

LDK_API bool ldk_rhi_is_valid_sampler_desc(const LDKRHISamplerDesc *desc);

Parameters

const LDKRHISamplerDesc *desc
Descriptor to validate.

Returns

true if valid, false otherwise.

Function in ldk_rhi.h

ldk_rhi_is_valid_pipeline_desc

Validates a pipeline descriptor.

LDK_API bool ldk_rhi_is_valid_pipeline_desc(const LDKRHIPipelineDesc *desc);

Parameters

const LDKRHIPipelineDesc *desc
Descriptor to validate.

Returns

true if valid, false otherwise.

Function in ldk_rhi.h

ldk_rhi_is_valid_bindings_desc

Validates a bindings descriptor.

LDK_API bool ldk_rhi_is_valid_bindings_desc(const LDKRHIBindingsDesc *desc);

Parameters

const LDKRHIBindingsDesc *desc
Descriptor to validate.

Returns

true if valid, false otherwise.

Function in ldk_rhi.h

ldk_rhi_is_valid_pass_desc

Validates a pass descriptor.

LDK_API bool ldk_rhi_is_valid_pass_desc(const LDKRHIPassDesc *desc);

Parameters

const LDKRHIPassDesc *desc
Descriptor to validate.

Returns

true if valid, false otherwise.

Function in ldk_rhi.h

ldk_rhi_buffer_update

Updates a region of a buffer.

LDK_API bool ldk_rhi_buffer_update(
 LDKRHIContext *context,
 LDKRHIBuffer buffer,
 uint32_t offset,
 uint32_t size,
 const void *data
);

Parameters

LDKRHIContext *context
RHI context.
LDKRHIBuffer buffer
Buffer handle.
uint32_t offset
Byte offset within the buffer.
uint32_t size
Size in bytes.
const void *data
Pointer to source data.

Returns

true if the update succeeded, false otherwise.

Function in ldk_rhi.h

ldk_rhi_texture_update

Updates a texture subresource.

LDK_API bool ldk_rhi_texture_update(
 LDKRHIContext *context,
 LDKRHITexture texture,
 uint32_t mip_level,
 uint32_t layer,
 const void *data,
 uint32_t size
);

Parameters

LDKRHIContext *context
RHI context.
LDKRHITexture texture
Texture handle.
uint32_t mip_level
Mip level to update.
uint32_t layer
Array layer to update.
const void *data
Pointer to source data.
uint32_t size
Size in bytes.

Returns

true if the update succeeded, false otherwise.

Function in ldk_rhi.h

ldk_rhi_last_frame_stats_get

Returns backend resource activity for the last completed RHI frame.

LDK_API LDKRHIFrameStats ldk_rhi_last_frame_stats_get(const LDKRHIContext *context);

Parameters

const LDKRHIContext *context
RHI context.

Returns

Per-frame resource creation, destruction and upload counters.

Function in ldk_rhi.h

ldk_rhi_vertex_buffer_bind_at

Binds a vertex buffer to a specific vertex buffer slot.

LDK_API void ldk_rhi_vertex_buffer_bind_at(
 LDKRHIContext *context,
 uint32_t slot,
 LDKRHIBuffer buffer,
 uint32_t offset
);

Parameters

LDKRHIContext *context
RHI context.
uint32_t slot
Vertex buffer slot.
LDKRHIBuffer buffer
Buffer handle.
uint32_t offset
Byte offset.
Function in ldk_rhi.h

ldk_rhi_line_width_set

Sets rasterized line width dynamically.

LDK_API void ldk_rhi_line_width_set(
 LDKRHIContext *context,
 float line_width
);

Parameters

LDKRHIContext *context
RHI context.
float line_width
Requested line width in pixels. Backends may clamp it to their supported range.