Blender V4.3
blender::gpu::MSLTextureResource Struct Reference

#include <mtl_shader_generator.hh>

Public Member Functions

void resolve_binding_indices ()
bool operator== (const MSLTextureResource &right) const
std::string get_msl_access_str () const
std::string get_msl_typestring_wrapper (bool is_addr) const
std::string get_msl_typestring (bool is_addr) const
Shader Translation.
eGPUTextureType get_texture_binding_type () const
eGPUSamplerFormat get_sampler_format () const
std::string get_msl_return_type_str () const
std::string get_msl_texture_type_str () const
std::string get_msl_wrapper_type_str () const

Public Attributes

ShaderStage stage
shader::ImageType type
std::string name
MSLTextureSamplerAccess access
bool is_texture_sampler
uint slot
uint location
int atomic_fallback_buffer_ssbo_id = -1

Detailed Description

Definition at line 258 of file mtl_shader_generator.hh.

Member Function Documentation

◆ get_msl_access_str()

std::string blender::gpu::MSLTextureResource::get_msl_access_str ( ) const
inline

◆ get_msl_return_type_str()

std::string blender::gpu::MSLTextureResource::get_msl_return_type_str ( ) const

Definition at line 4157 of file mtl_shader_generator.mm.

References BLI_assert_unreachable, blender::gpu::shader::DEPTH_2D, blender::gpu::shader::DEPTH_2D_ARRAY, blender::gpu::shader::DEPTH_CUBE, blender::gpu::shader::DEPTH_CUBE_ARRAY, blender::gpu::shader::FLOAT_1D, blender::gpu::shader::FLOAT_1D_ARRAY, blender::gpu::shader::FLOAT_2D, blender::gpu::shader::FLOAT_2D_ARRAY, blender::gpu::shader::FLOAT_3D, blender::gpu::shader::FLOAT_BUFFER, blender::gpu::shader::FLOAT_CUBE, blender::gpu::shader::FLOAT_CUBE_ARRAY, blender::gpu::shader::INT_1D, blender::gpu::shader::INT_1D_ARRAY, blender::gpu::shader::INT_2D, blender::gpu::shader::INT_2D_ARRAY, blender::gpu::shader::INT_2D_ARRAY_ATOMIC, blender::gpu::shader::INT_2D_ATOMIC, blender::gpu::shader::INT_3D, blender::gpu::shader::INT_3D_ATOMIC, blender::gpu::shader::INT_BUFFER, blender::gpu::shader::INT_CUBE, blender::gpu::shader::INT_CUBE_ARRAY, blender::gpu::shader::SHADOW_2D, blender::gpu::shader::SHADOW_2D_ARRAY, blender::gpu::shader::SHADOW_CUBE, blender::gpu::shader::SHADOW_CUBE_ARRAY, type, blender::gpu::shader::UINT_1D, blender::gpu::shader::UINT_1D_ARRAY, blender::gpu::shader::UINT_2D, blender::gpu::shader::UINT_2D_ARRAY, blender::gpu::shader::UINT_2D_ARRAY_ATOMIC, blender::gpu::shader::UINT_2D_ATOMIC, blender::gpu::shader::UINT_3D, blender::gpu::shader::UINT_3D_ATOMIC, blender::gpu::shader::UINT_BUFFER, blender::gpu::shader::UINT_CUBE, and blender::gpu::shader::UINT_CUBE_ARRAY.

Referenced by get_msl_typestring(), get_msl_typestring_wrapper(), and blender::gpu::MSLGeneratorInterface::prepare_from_createinfo().

◆ get_msl_texture_type_str()

std::string blender::gpu::MSLTextureResource::get_msl_texture_type_str ( ) const

Definition at line 3885 of file mtl_shader_generator.mm.

References BLI_assert_unreachable, blender::gpu::shader::DEPTH_2D, blender::gpu::shader::DEPTH_2D_ARRAY, blender::gpu::shader::DEPTH_CUBE, blender::gpu::shader::DEPTH_CUBE_ARRAY, blender::gpu::shader::FLOAT_1D, blender::gpu::shader::FLOAT_1D_ARRAY, blender::gpu::shader::FLOAT_2D, blender::gpu::shader::FLOAT_2D_ARRAY, blender::gpu::shader::FLOAT_3D, blender::gpu::shader::FLOAT_BUFFER, blender::gpu::shader::FLOAT_CUBE, blender::gpu::shader::FLOAT_CUBE_ARRAY, blender::gpu::MTLBackend::get_capabilities(), blender::gpu::shader::INT_1D, blender::gpu::shader::INT_1D_ARRAY, blender::gpu::shader::INT_2D, blender::gpu::shader::INT_2D_ARRAY, blender::gpu::shader::INT_2D_ARRAY_ATOMIC, blender::gpu::shader::INT_2D_ATOMIC, blender::gpu::shader::INT_3D, blender::gpu::shader::INT_3D_ATOMIC, blender::gpu::shader::INT_BUFFER, blender::gpu::shader::INT_CUBE, blender::gpu::shader::INT_CUBE_ARRAY, blender::gpu::shader::SHADOW_2D, blender::gpu::shader::SHADOW_2D_ARRAY, blender::gpu::shader::SHADOW_CUBE, blender::gpu::shader::SHADOW_CUBE_ARRAY, blender::gpu::MTLCapabilities::supports_texture_atomics, type, blender::gpu::shader::UINT_1D, blender::gpu::shader::UINT_1D_ARRAY, blender::gpu::shader::UINT_2D, blender::gpu::shader::UINT_2D_ARRAY, blender::gpu::shader::UINT_2D_ARRAY_ATOMIC, blender::gpu::shader::UINT_2D_ATOMIC, blender::gpu::shader::UINT_3D, blender::gpu::shader::UINT_3D_ATOMIC, blender::gpu::shader::UINT_BUFFER, blender::gpu::shader::UINT_CUBE, and blender::gpu::shader::UINT_CUBE_ARRAY.

Referenced by get_msl_typestring().

◆ get_msl_typestring()

std::string blender::gpu::MSLTextureResource::get_msl_typestring ( bool is_addr) const
inline

◆ get_msl_typestring_wrapper()

std::string blender::gpu::MSLTextureResource::get_msl_typestring_wrapper ( bool is_addr) const
inline

◆ get_msl_wrapper_type_str()

std::string blender::gpu::MSLTextureResource::get_msl_wrapper_type_str ( ) const

Definition at line 4019 of file mtl_shader_generator.mm.

References BLI_assert_unreachable, blender::gpu::shader::DEPTH_2D, blender::gpu::shader::DEPTH_2D_ARRAY, blender::gpu::shader::DEPTH_CUBE, blender::gpu::shader::DEPTH_CUBE_ARRAY, blender::gpu::shader::FLOAT_1D, blender::gpu::shader::FLOAT_1D_ARRAY, blender::gpu::shader::FLOAT_2D, blender::gpu::shader::FLOAT_2D_ARRAY, blender::gpu::shader::FLOAT_3D, blender::gpu::shader::FLOAT_BUFFER, blender::gpu::shader::FLOAT_CUBE, blender::gpu::shader::FLOAT_CUBE_ARRAY, blender::gpu::MTLBackend::get_capabilities(), blender::gpu::shader::INT_1D, blender::gpu::shader::INT_1D_ARRAY, blender::gpu::shader::INT_2D, blender::gpu::shader::INT_2D_ARRAY, blender::gpu::shader::INT_2D_ARRAY_ATOMIC, blender::gpu::shader::INT_2D_ATOMIC, blender::gpu::shader::INT_3D, blender::gpu::shader::INT_3D_ATOMIC, blender::gpu::shader::INT_BUFFER, blender::gpu::shader::INT_CUBE, blender::gpu::shader::INT_CUBE_ARRAY, blender::gpu::shader::SHADOW_2D, blender::gpu::shader::SHADOW_2D_ARRAY, blender::gpu::shader::SHADOW_CUBE, blender::gpu::shader::SHADOW_CUBE_ARRAY, blender::gpu::MTLCapabilities::supports_texture_atomics, type, blender::gpu::shader::UINT_1D, blender::gpu::shader::UINT_1D_ARRAY, blender::gpu::shader::UINT_2D, blender::gpu::shader::UINT_2D_ARRAY, blender::gpu::shader::UINT_2D_ARRAY_ATOMIC, blender::gpu::shader::UINT_2D_ATOMIC, blender::gpu::shader::UINT_3D, blender::gpu::shader::UINT_3D_ATOMIC, blender::gpu::shader::UINT_BUFFER, blender::gpu::shader::UINT_CUBE, and blender::gpu::shader::UINT_CUBE_ARRAY.

Referenced by get_msl_typestring_wrapper().

◆ get_sampler_format()

eGPUSamplerFormat blender::gpu::MSLTextureResource::get_sampler_format ( ) const

Definition at line 4331 of file mtl_shader_generator.mm.

References BLI_assert_unreachable, blender::gpu::shader::DEPTH_2D, blender::gpu::shader::DEPTH_2D_ARRAY, blender::gpu::shader::DEPTH_CUBE, blender::gpu::shader::DEPTH_CUBE_ARRAY, blender::gpu::shader::FLOAT_1D, blender::gpu::shader::FLOAT_1D_ARRAY, blender::gpu::shader::FLOAT_2D, blender::gpu::shader::FLOAT_2D_ARRAY, blender::gpu::shader::FLOAT_3D, blender::gpu::shader::FLOAT_BUFFER, blender::gpu::shader::FLOAT_CUBE, blender::gpu::shader::FLOAT_CUBE_ARRAY, blender::gpu::GPU_SAMPLER_TYPE_DEPTH, blender::gpu::GPU_SAMPLER_TYPE_FLOAT, blender::gpu::GPU_SAMPLER_TYPE_INT, blender::gpu::GPU_SAMPLER_TYPE_UINT, blender::gpu::shader::INT_1D, blender::gpu::shader::INT_1D_ARRAY, blender::gpu::shader::INT_2D, blender::gpu::shader::INT_2D_ARRAY, blender::gpu::shader::INT_2D_ARRAY_ATOMIC, blender::gpu::shader::INT_2D_ATOMIC, blender::gpu::shader::INT_3D, blender::gpu::shader::INT_3D_ATOMIC, blender::gpu::shader::INT_BUFFER, blender::gpu::shader::INT_CUBE, blender::gpu::shader::INT_CUBE_ARRAY, blender::gpu::shader::SHADOW_2D, blender::gpu::shader::SHADOW_2D_ARRAY, blender::gpu::shader::SHADOW_CUBE, blender::gpu::shader::SHADOW_CUBE_ARRAY, type, blender::gpu::shader::UINT_1D, blender::gpu::shader::UINT_1D_ARRAY, blender::gpu::shader::UINT_2D, blender::gpu::shader::UINT_2D_ARRAY, blender::gpu::shader::UINT_2D_ARRAY_ATOMIC, blender::gpu::shader::UINT_2D_ATOMIC, blender::gpu::shader::UINT_3D, blender::gpu::shader::UINT_3D_ATOMIC, blender::gpu::shader::UINT_BUFFER, blender::gpu::shader::UINT_CUBE, and blender::gpu::shader::UINT_CUBE_ARRAY.

◆ get_texture_binding_type()

eGPUTextureType blender::gpu::MSLTextureResource::get_texture_binding_type ( ) const

Definition at line 4218 of file mtl_shader_generator.mm.

References BLI_assert_unreachable, blender::gpu::shader::DEPTH_2D, blender::gpu::shader::DEPTH_2D_ARRAY, blender::gpu::shader::DEPTH_CUBE, blender::gpu::shader::DEPTH_CUBE_ARRAY, blender::gpu::shader::FLOAT_1D, blender::gpu::shader::FLOAT_1D_ARRAY, blender::gpu::shader::FLOAT_2D, blender::gpu::shader::FLOAT_2D_ARRAY, blender::gpu::shader::FLOAT_3D, blender::gpu::shader::FLOAT_BUFFER, blender::gpu::shader::FLOAT_CUBE, blender::gpu::shader::FLOAT_CUBE_ARRAY, blender::gpu::GPU_TEXTURE_1D, blender::gpu::GPU_TEXTURE_1D_ARRAY, blender::gpu::GPU_TEXTURE_2D, blender::gpu::GPU_TEXTURE_2D_ARRAY, blender::gpu::GPU_TEXTURE_3D, blender::gpu::GPU_TEXTURE_BUFFER, blender::gpu::GPU_TEXTURE_CUBE, blender::gpu::GPU_TEXTURE_CUBE_ARRAY, blender::gpu::shader::INT_1D, blender::gpu::shader::INT_1D_ARRAY, blender::gpu::shader::INT_2D, blender::gpu::shader::INT_2D_ARRAY, blender::gpu::shader::INT_2D_ARRAY_ATOMIC, blender::gpu::shader::INT_2D_ATOMIC, blender::gpu::shader::INT_3D, blender::gpu::shader::INT_3D_ATOMIC, blender::gpu::shader::INT_BUFFER, blender::gpu::shader::INT_CUBE, blender::gpu::shader::INT_CUBE_ARRAY, blender::gpu::shader::SHADOW_2D, blender::gpu::shader::SHADOW_2D_ARRAY, blender::gpu::shader::SHADOW_CUBE, blender::gpu::shader::SHADOW_CUBE_ARRAY, type, blender::gpu::shader::UINT_1D, blender::gpu::shader::UINT_1D_ARRAY, blender::gpu::shader::UINT_2D, blender::gpu::shader::UINT_2D_ARRAY, blender::gpu::shader::UINT_2D_ARRAY_ATOMIC, blender::gpu::shader::UINT_2D_ATOMIC, blender::gpu::shader::UINT_3D, blender::gpu::shader::UINT_3D_ATOMIC, blender::gpu::shader::UINT_BUFFER, blender::gpu::shader::UINT_CUBE, and blender::gpu::shader::UINT_CUBE_ARRAY.

◆ operator==()

bool blender::gpu::MSLTextureResource::operator== ( const MSLTextureResource & right) const
inline

Definition at line 278 of file mtl_shader_generator.hh.

References access, name, and type.

◆ resolve_binding_indices()

void blender::gpu::MSLTextureResource::resolve_binding_indices ( )

Member Data Documentation

◆ access

MSLTextureSamplerAccess blender::gpu::MSLTextureResource::access

◆ atomic_fallback_buffer_ssbo_id

int blender::gpu::MSLTextureResource::atomic_fallback_buffer_ssbo_id = -1

◆ is_texture_sampler

bool blender::gpu::MSLTextureResource::is_texture_sampler

◆ location

uint blender::gpu::MSLTextureResource::location

◆ name

◆ slot

◆ stage

◆ type


The documentation for this struct was generated from the following files: