![]() |
VPP
0.8
A high-level modern C++ API for Vulkan
|
Compute shader interface. More...
#include <vppLangIntInOut.hpp>
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. | |
![]() | |
const Device & | device () 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. | |
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.