Changeset View
Changeset View
Standalone View
Standalone View
source/blender/gpu/metal/mtl_shader_interface_type.hh
| /* SPDX-License-Identifier: GPL-2.0-or-later */ | /* SPDX-License-Identifier: GPL-2.0-or-later */ | ||||
| /** \file | /** \file | ||||
| * \ingroup gpu | * \ingroup gpu | ||||
| */ | */ | ||||
| #pragma once | #pragma once | ||||
| #include "BLI_assert.h" | #include "BLI_assert.h" | ||||
| #include "GPU_material.h" | |||||
| enum eMTLDataType { | enum eMTLDataType { | ||||
| MTL_DATATYPE_CHAR, | MTL_DATATYPE_CHAR, | ||||
| MTL_DATATYPE_CHAR2, | MTL_DATATYPE_CHAR2, | ||||
| MTL_DATATYPE_CHAR3, | MTL_DATATYPE_CHAR3, | ||||
| MTL_DATATYPE_CHAR4, | MTL_DATATYPE_CHAR4, | ||||
| MTL_DATATYPE_UCHAR, | MTL_DATATYPE_UCHAR, | ||||
| ▲ Show 20 Lines • Show All 227 Lines • ▼ Show 20 Lines | switch (type) { | ||||
| case MTL_DATATYPE_ULONG4: | case MTL_DATATYPE_ULONG4: | ||||
| return 32; | return 32; | ||||
| default: | default: | ||||
| BLI_assert_msg(false, "Unrecognized MTL datatype."); | BLI_assert_msg(false, "Unrecognized MTL datatype."); | ||||
| return 0; | return 0; | ||||
| }; | }; | ||||
| } | } | ||||
| inline eMTLDataType gpu_type_to_mtl_type(eGPUType type) | |||||
| { | |||||
| switch (type) { | |||||
| case GPU_FLOAT: | |||||
| return MTL_DATATYPE_FLOAT; | |||||
| case GPU_VEC2: | |||||
| return MTL_DATATYPE_FLOAT2; | |||||
| case GPU_VEC3: | |||||
| return MTL_DATATYPE_FLOAT3; | |||||
| case GPU_VEC4: | |||||
| return MTL_DATATYPE_FLOAT4; | |||||
| case GPU_MAT3: | |||||
| return MTL_DATATYPE_FLOAT3x3; | |||||
| case GPU_MAT4: | |||||
| return MTL_DATATYPE_FLOAT4x4; | |||||
| default: | |||||
| BLI_assert(false && "Other types unsupported"); | |||||
| return MTL_DATATYPE_FLOAT; | |||||
| } | |||||
| return MTL_DATATYPE_FLOAT; | |||||
| } | |||||
| No newline at end of file | |||||