Data Types Overview

In vkdispatch, there are a number of different datatypes that can be used to store data in buffers and images and to process data in shaders. These data types come in 3 formats (for now, all 32 bit):

In the near future 64 bit and 16 bit types will be added.

They also come in the following shapes:

  • Scalars

  • Complex Number (internally represented as vec2 in GLSL shaders)

  • Vectors (of size 2, 3, and 4)

  • Matricies (only vkdispatch.float32 at 2x2 and 4x4)

Data Type API Reference

vkdispatch.is_dtype(in_type: dtype) bool
vkdispatch.is_scalar(dtype: dtype) bool
vkdispatch.is_vector(dtype: dtype) bool
vkdispatch.is_matrix(dtype: dtype) bool
vkdispatch.from_numpy_dtype(dtype: type) dtype
vkdispatch.to_numpy_dtype(shader_type: dtype) dtype
class vkdispatch.dtype
vkdispatch.int32

alias of _I32

vkdispatch.uint32

alias of _U32

vkdispatch.float32

alias of _F32

vkdispatch.complex64

alias of _CF64

vkdispatch.vec2

alias of _V2F32

vkdispatch.vec3

alias of _V3F32

vkdispatch.vec4

alias of _V4F32

vkdispatch.ivec2

alias of _V2I32

vkdispatch.ivec3

alias of _V3I32

vkdispatch.ivec4

alias of _V4I32

vkdispatch.uvec2

alias of _V2U32

vkdispatch.uvec3

alias of _V3U32

vkdispatch.uvec4

alias of _V4U32

vkdispatch.mat2

alias of _M2F32

vkdispatch.mat4

alias of _M4F32