This repository has been archived on 2023-10-09. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
blender-archive/source/blender/gpu/metal/mtl_shader_shared.h
Thomas Dinges cc8ea6ac67 Metal: MTLShader and MTLShaderGenerator implementation.
Full support for translation and compilation of shaders in Metal, using
GPUShaderCreateInfo. Includes render pipeline state creation and management,
enabling all standard GPU viewport rendering features in Metal.

Authored by Apple: Michael Parkin-White, Marco Giordano

Ref T96261

Reviewed By: fclem

Maniphest Tasks: T96261

Differential Revision: https://developer.blender.org/D15563
2022-09-01 22:28:40 +02:00

33 lines
1.2 KiB
C++

/* SPDX-License-Identifier: GPL-2.0-or-later */
/* Global parameters. */
#define MTL_SSBO_VERTEX_FETCH_MAX_VBOS 6 /* buffer bind 0..5 */
#define MTL_SSBO_VERTEX_FETCH_IBO_INDEX MTL_SSBO_VERTEX_FETCH_MAX_VBOS
/* Add Types as needed (Also need to be added to mtl_shader.h). */
#define GPU_SHADER_ATTR_TYPE_FLOAT 0
#define GPU_SHADER_ATTR_TYPE_INT 1
#define GPU_SHADER_ATTR_TYPE_SHORT 2
#define GPU_SHADER_ATTR_TYPE_CHAR 3
#define GPU_SHADER_ATTR_TYPE_VEC2 4
#define GPU_SHADER_ATTR_TYPE_VEC3 5
#define GPU_SHADER_ATTR_TYPE_VEC4 6
#define GPU_SHADER_ATTR_TYPE_UVEC2 7
#define GPU_SHADER_ATTR_TYPE_UVEC3 8
#define GPU_SHADER_ATTR_TYPE_UVEC4 9
#define GPU_SHADER_ATTR_TYPE_IVEC2 10
#define GPU_SHADER_ATTR_TYPE_IVEC3 11
#define GPU_SHADER_ATTR_TYPE_IVEC4 12
#define GPU_SHADER_ATTR_TYPE_MAT3 13
#define GPU_SHADER_ATTR_TYPE_MAT4 14
#define GPU_SHADER_ATTR_TYPE_UCHAR_NORM 15
#define GPU_SHADER_ATTR_TYPE_UCHAR2_NORM 16
#define GPU_SHADER_ATTR_TYPE_UCHAR3_NORM 17
#define GPU_SHADER_ATTR_TYPE_UCHAR4_NORM 18
#define GPU_SHADER_ATTR_TYPE_INT1010102_NORM 19
#define GPU_SHADER_ATTR_TYPE_SHORT3_NORM 20
#define GPU_SHADER_ATTR_TYPE_CHAR2 21
#define GPU_SHADER_ATTR_TYPE_CHAR3 22
#define GPU_SHADER_ATTR_TYPE_CHAR4 23
#define GPU_SHADER_ATTR_TYPE_UINT 24