VPP  0.8
A high-level modern C++ API for Vulkan
vpp::ComputeShader Class Reference

Compute shader interface. More...

#include <vppLangIntInOut.hpp>

Inheritance diagram for vpp::ComputeShader:
vpp::Shader

Public Member Functions

const SLocalGroupSize & localGroupSize () const
 Returns CPU-side structure specifying the dimensions of local workgroup.
 
unsigned int getTotalWorkgroupMemory () const
 Retrieves total size (in bytes) of the workgroup-scoped shared memory.
 
unsigned int getFreeWorkgroupMemory () const
 Retrieves available size (in bytes) of the workgroup-scoped shared memory.
 
- Public Member Functions inherited from vpp::Shader
const Devicedevice () const
 Retrieves the device the shader is currently compiled for.
 
void DebugCodeDump ()
 Enables diagnostic dump of intermediate SPIR-V code for this shader. More...
 
template<class ValueT >
void DebugProbe (const ValueT &value, const IVec2 &coords, const VkExtent3D &extent)
 Adds a debug probe to dump an expression value during shader execution. More...
 

Public Attributes

IVec3 inWorkgroupId
 The global workgroup that the current invocation is a member of.
 
IVec3 inNumWorkgroups
 The number of local workgroups that are part of the dispatch that the invocation belongs to.
 
IVec3 inLocalInvocationId
 The location of the current compute shader invocation within the local workgroup.
 
IVec3 inGlobalInvocationId
 The location of the current invocation within the global workgroup.
 
IVec3 inWorkgroupSize
 The dimensions of local workgroup.
 

Detailed Description

Compute shader interface.

An object of this class is provided to user-defined compute shader. It is usable only in GPU-side compute shader code. Its main purpose is to give access to built-in shader variables and some special operations.


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