nicegraf
|
Contains information about various device features, limits, etc. Clients shouldn't instantiate this structure. See ngf_get_device_capabilities.
bool ngf_device_capabilities::clipspace_z_zero_to_one |
This flag is set to true
if the platform supports [0; 1] range for the clip-space z coordinate. nicegraf enforces clip-space z to be in this range on all backends that support it. This ensures better precision for near-field objects. See the following for an in-depth explanation: http://web.archive.org/web/20210829130722/https://developer.nvidia.com/content/depth-precision-visualized
bool ngf_device_capabilities::cubemap_arrays_supported |
This flag is set to true if the device supports cubemap arrays.
bool ngf_device_capabilities::device_local_memory_is_host_visible |
Indicates whether the device-local storage is also host visible. Examples of cases where this may be supported are iGPU systems with unified memory, or discrete GPUs with ReBAR enabled. On systems with this capability, device-local storage can be mapped directly into the host address space, removing the need for host-visible staging buffers in certain cases.
size_t ngf_device_capabilities::framebuffer_color_sample_counts |
Bitmap representing multisample count support for framebuffer color attachments For example, (framebuffer_color_sample_counts & 16) indicates support for 16 samples
size_t ngf_device_capabilities::framebuffer_depth_sample_counts |
Bitmap representing multisample count support for framebuffer depth attachments For example, (framebuffer_depth_sample_counts & 16) indicates support for 16 samples
size_t ngf_device_capabilities::max_1d_image_dimension |
Maximum allowed width of a 1D image.
size_t ngf_device_capabilities::max_2d_image_dimension |
Maximum allowed width, or height of a 2D image.
size_t ngf_device_capabilities::max_3d_image_dimension |
Maximum allowed width, height, or depth of a 3D image.
size_t ngf_device_capabilities::max_color_attachments_per_pass |
Maximum number of color attachments that can be written to during a render pass.
size_t ngf_device_capabilities::max_cube_image_dimension |
Maximum allowed width, or height of a cubemap.
size_t ngf_device_capabilities::max_fragment_input_components |
This is the maximum number of components, across all inputs, for the fragment stage. "Input component" refers to the individual components of an input vector. For example, if the fragment stage has a single float4 input (vector of 4 floats), then it has 4 input components.
size_t ngf_device_capabilities::max_fragment_inputs |
This is the maximum number of inputs for the fragment stage.
size_t ngf_device_capabilities::max_image_layers |
Maximum allowed number of layers in an image.
size_t ngf_device_capabilities::max_sampled_images_per_stage |
The maximum allowed number of sampled images (textures) per single shader stage. Descriptors with type NGF_DESCRIPTOR_IMAGE_AND_SAMPLER and NGF_DESCRIPTOR_TEXEL_BUFFER do count against this limit.
float ngf_device_capabilities::max_sampler_anisotropy |
The maximum degree of sampler anisotropy.
size_t ngf_device_capabilities::max_samplers_per_stage |
The maximum allowed number of sampler objects per single shader stage. Descriptors with type NGF_DESCRIPTOR_IMAGE_AND_SAMPLER do count against this limit.
ngf_sample_count ngf_device_capabilities::max_supported_framebuffer_color_sample_count |
The highest supported sample count for framebuffer color attachments. This value is derived from framebuffer_color_sample_counts.
ngf_sample_count ngf_device_capabilities::max_supported_framebuffer_depth_sample_count |
The highest supported sample count for framebuffer depth attachments. This value is derived from framebuffer_depth_sample_counts.
ngf_sample_count ngf_device_capabilities::max_supported_texture_color_sample_count |
The highest supported sample count for color textures. This value is derived from texture_color_sample_counts.
ngf_sample_count ngf_device_capabilities::max_supported_texture_depth_sample_count |
The highest supported sample count for depth textures. This value is derived from texture_depth_sample_counts.
size_t ngf_device_capabilities::max_uniform_buffer_range |
When binding a uniform buffer, the specified range must not exceed this value.
size_t ngf_device_capabilities::max_uniform_buffers_per_stage |
The maximum allowed number of uniform buffers per single shader stage.
size_t ngf_device_capabilities::max_vertex_input_attributes_per_pipeline |
The maximum allowed number of vertex attributes per pipeline.
size_t ngf_device_capabilities::storage_buffer_offset_alignment |
When binding storage buffers, the specified offset must be a multiple of this number.
size_t ngf_device_capabilities::texel_buffer_offset_alignment |
When binding texel buffers, the specified offset must be a multiple of this number.
size_t ngf_device_capabilities::texture_color_sample_counts |
Bitmap representing multisample count support for color textures For example, (texture_color_sample_counts & 16) indicates support for 16 samples
size_t ngf_device_capabilities::texture_depth_sample_counts |
Bitmap representing multisample count support for depth textures For example, (texture_depth_sample_counts & 16) indicates support for 16 samples
size_t ngf_device_capabilities::uniform_buffer_offset_alignment |
When binding uniform buffers, the specified offset must be a multiple of this number.