Contain items and functions interacting with the graphics API.
This module provides wrapper around GPU primitives, such as textures, meshes and shader programs. Utilities are also provided to render screen quads, alter the rendering state and populate/save GPU data. The interface is currently based on the Vulkan API.
|
namespace | VkUtils |
| Utility functions for the Vulkan backend.
|
|
|
class | DescriptorAllocator |
| Manage descriptor set allocations by creating and reusing internal descriptor pools. More...
|
|
class | GPU |
| Provide utility functions to communicate with the driver and GPU. More...
|
|
struct | ResourceToDelete |
| Request for the buffered deletion of a resource. Any of the handles stored below is optional, depending on the kind of resource being deleted. More...
|
|
struct | AsyncTextureTask |
| Request for an asynchronous texture download. Data has been copied from the source texture to a buffer during the frame. The readback of the buffer to the CPU has to be performed once the frame is complete. More...
|
|
struct | GPUContext |
| Global GPU context, storing all structures used for resource allocation and tracking, operations recording and rendering. More...
|
|
class | GPUTexture |
| Store a texture data on the GPU. More...
|
|
class | GPUBuffer |
| Store data in a GPU buffer. More...
|
|
class | GPUMesh |
| Store vertices and triangles data on the GPU, linked by an array object. More...
|
|
class | GPUState |
| Internal GPU state ; not all API options are exposed, only these that can be toggled in Rendu. More...
|
|
class | GPUQuery |
| Represent a GPU query, automatically buffered and retrieved. More...
|
|
class | GPUMarker |
| Inserted a marker on the current render or upload command buffer. These markers are visible in profling and debugging tools such as Renderdoc, as are object debug labels. More...
|
|
struct | DescriptorSet |
| Descriptor set allocation. More...
|
|
class | PipelineCache |
| Create and reuse GPU pipelines based on a given state. This supports both graphics and compute pipelines. More...
|
|
class | Program |
| Represents a group of shaders used for rendering. More...
|
|
class | QueryAllocator |
| Manages GPU queries allocation in a set of pools. Pools need to be buffered per frame so that we can retrieve the previous frame queries while the current queries are running. More...
|
|
class | SamplerLibrary |
| Manage all samplers for GPU textures. Samplers are shared between all shader programs, and directly specified in the shaders based on use. All samplers are stored in a unique, shared descriptor set appended to all other sets (set #3). More...
|
|
class | ShaderCompiler |
| Relies on glslang to compile GLSL shaders to SPIR-V and SPIRV-Cross to generate reflection data. More...
|
|
class | Swapchain |
| A swapchain handles the creation and presentation of the backbuffer, along with GPU work submission and synchronization. More...
|
|
|
#define | VK_RETURN_CHECK(F, L) (F); |
| Macro used to check the return code of Vulkan calls.
|
|
#define | VK_RET(F) VK_RETURN_CHECK((F), __LINE__) |
| Macro used to check the return code of Vulkan calls.
|
|
|
VKAPI_ATTR VkBool32 VKAPI_CALL | vkDebugCallback (VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity, VkDebugUtilsMessageTypeFlagsEXT messageType, const VkDebugUtilsMessengerCallbackDataEXT *callbackData, void *userData) |
|
◆ vkDebugCallback()
VKAPI_ATTR VkBool32 VKAPI_CALL vkDebugCallback |
( |
VkDebugUtilsMessageSeverityFlagBitsEXT |
messageSeverity, |
|
|
VkDebugUtilsMessageTypeFlagsEXT |
messageType, |
|
|
const VkDebugUtilsMessengerCallbackDataEXT * |
callbackData, |
|
|
void * |
userData |
|
) |
| |
Callback for validation errors and warnings.
- Parameters
-
messageSeverity | severity of message (error, warning,...) |
messageType | type of message (validation, performance,...) |
callbackData | message data, including text and ID. |
userData | custom user pointer |
- Returns
- true if the callback completed successfully