|
Blender V4.3
|
Namespaces | |
| namespace | debug |
| namespace | GLVertArray |
| namespace | render_graph |
| namespace | shader |
| namespace | shader_builder |
| namespace | tests |
Typedefs | |
| using | DebugStack = Vector<StringRef> |
| using | MSLFragmentTileInputAttribute = MSLFragmentOutputAttribute |
| using | AttributeMask = uint16_t |
Memory Management. | |
| using | MTLTemporaryBuffer = MTLBufferRange |
Functions | |
| size_t | to_bytesize (GPUIndexBufType type) |
| int | indices_per_primitive (GPUPrimType prim_type) |
| static GPUContext * | wrap (Context *ctx) |
| static Context * | unwrap (GPUContext *ctx) |
| static const Context * | unwrap (const GPUContext *ctx) |
| static GPUDrawList * | wrap (DrawList *vert) |
| static DrawList * | unwrap (GPUDrawList *vert) |
| static const DrawList * | unwrap (const GPUDrawList *vert) |
| static GPUFrameBuffer * | wrap (FrameBuffer *vert) |
| static FrameBuffer * | unwrap (GPUFrameBuffer *vert) |
| static const FrameBuffer * | unwrap (const GPUFrameBuffer *vert) |
| static char * | create_key (eGPUSupportLevel support_level, const char *vendor, const char *renderer, const char *version) |
| static char * | create_gpu_name (const char *vendor, const char *renderer, const char *version) |
| static void | sort_input_list (MutableSpan< ShaderInput > dst) |
| static GPUShader * | wrap (Shader *vert) |
| static Shader * | unwrap (GPUShader *vert) |
| static const Shader * | unwrap (const GPUShader *vert) |
| BLI_STATIC_ASSERT (sizeof(GPUState)==sizeof(uint64_t), "GPUState is too big.") | |
| bool | operator== (const GPUState &a, const GPUState &b) |
| bool | operator!= (const GPUState &a, const GPUState &b) |
| GPUState | operator^ (const GPUState &a, const GPUState &b) |
| GPUState | operator~ (const GPUState &a) |
| BLI_STATIC_ASSERT (sizeof(GPUStateMutable)==sizeof(GPUStateMutable::data), "GPUStateMutable is too big.") | |
| bool | operator== (const GPUStateMutable &a, const GPUStateMutable &b) |
| bool | operator!= (const GPUStateMutable &a, const GPUStateMutable &b) |
| GPUStateMutable | operator^ (const GPUStateMutable &a, const GPUStateMutable &b) |
| GPUStateMutable | operator~ (const GPUStateMutable &a) |
| static GPUFence * | wrap (Fence *pixbuf) |
| static Fence * | unwrap (GPUFence *pixbuf) |
| static const Fence * | unwrap (const GPUFence *pixbuf) |
| static GPUStorageBuf * | wrap (StorageBuf *storage_buf) |
| static StorageBuf * | unwrap (GPUStorageBuf *storage_buf) |
| static const StorageBuf * | unwrap (const GPUStorageBuf *storage_buf) |
| static GPUTexture * | wrap (Texture *vert) |
| static Texture * | unwrap (GPUTexture *vert) |
| static const Texture * | unwrap (const GPUTexture *vert) |
| static GPUPixelBuffer * | wrap (PixelBuffer *pixbuf) |
| static PixelBuffer * | unwrap (GPUPixelBuffer *pixbuf) |
| static const PixelBuffer * | unwrap (const GPUPixelBuffer *pixbuf) |
| size_t | to_bytesize (eGPUTextureFormat format) |
| size_t | to_block_size (eGPUTextureFormat data_type) |
| eGPUTextureFormatFlag | to_format_flag (eGPUTextureFormat format) |
| int | to_component_len (eGPUTextureFormat format) |
| size_t | to_bytesize (eGPUDataFormat data_format) |
| size_t | to_bytesize (eGPUTextureFormat tex_format, eGPUDataFormat data_format) |
| constexpr bool | validate_data_format (eGPUTextureFormat tex_format, eGPUDataFormat data_format) |
| eGPUDataFormat | to_data_format (eGPUTextureFormat tex_format) |
| eGPUFrameBufferBits | to_framebuffer_bits (eGPUTextureFormat tex_format) |
| static eGPUTextureFormat | to_texture_format (const GPUVertFormat *format) |
| static GPUUniformBuf * | wrap (UniformBuf *vert) |
| static UniformBuf * | unwrap (GPUUniformBuf *vert) |
| static const UniformBuf * | unwrap (const GPUUniformBuf *vert) |
| ENUM_OPERATORS (MTLPipelineStateDirtyFlag, MTL_PIPELINE_STATE_CULLMODE_FLAG) | |
| static MTLPrimitiveTopologyClass | mtl_prim_type_to_topology_class (MTLPrimitiveType prim_type) |
| static MTLPrimitiveType | gpu_prim_type_to_metal (GPUPrimType prim_type) |
| static bool | mtl_needs_topology_emulation (GPUPrimType prim_type) |
| static bool | mtl_vertex_count_fits_primitive_type (uint32_t vertex_count, MTLPrimitiveType prim_type) |
| static MTLVisibilityResultMode | to_mtl_type (GPUQueryType type) |
| bool | mtl_vertex_format_resize (MTLVertexFormat mtl_format, uint32_t components, MTLVertexFormat *r_convertedFormat) |
| bool | mtl_convert_vertex_format (MTLVertexFormat shader_attrib_format, GPUVertCompType component_type, uint32_t component_length, GPUVertFetchMode fetch_mode, MTLVertexFormat *r_convertedFormat) |
| uint | comp_count_from_vert_format (MTLVertexFormat vert_format) |
| GPUVertFetchMode | fetchmode_from_vert_format (MTLVertexFormat vert_format) |
| GPUVertCompType | comp_type_from_vert_format (MTLVertexFormat vert_format) |
| const char * | to_string (ShaderStage stage) |
| MTLParallelShaderCompiler * | get_shared_parallel_shader_compiler () |
| void | release_shared_parallel_shader_compiler () |
| const char * | get_stage_class_name (ShaderStage stage) |
| const char * | get_shader_stage_instance_name (ShaderStage stage) |
| bool | is_builtin_type (std::string type) |
| bool | is_matrix_type (const std::string &type) |
| bool | is_matrix_type (const shader::Type &type) |
| int | get_matrix_location_count (const std::string &type) |
| int | get_matrix_location_count (const shader::Type &type) |
| std::string | get_matrix_subtype (const std::string &type) |
| shader::Type | get_matrix_subtype (const shader::Type &type) |
| std::string | get_attribute_conversion_function (bool *uses_conversion, const shader::Type &type) |
| const char * | to_string_msl (const shader::Interpolation &interp) |
| char * | next_symbol_in_range (char *begin, char *end, char symbol) |
| char * | next_word_in_range (char *begin, char *end) |
| ENUM_OPERATORS (ShaderStage, ShaderStage::ANY) | |
| uint | get_shader_stage_index (ShaderStage stage) |
| MTLVertexFormat | mtl_datatype_to_vertex_type (eMTLDataType type) |
| std::string | tex_data_format_to_msl_type_str (eGPUDataFormat type) |
| std::string | tex_data_format_to_msl_texture_template_type (eGPUDataFormat type) |
| MTLTextureType | to_metal_type (eGPUTextureType type) |
| bool | mtl_format_is_writable (MTLPixelFormat format) |
| MTLPixelFormat | mtl_format_get_writeable_view_format (MTLPixelFormat format) |
| MTLTextureUsage | mtl_usage_from_gpu (eGPUTextureUsage usage) |
| eGPUTextureUsage | gpu_usage_from_mtl (MTLTextureUsage mtl_usage) |
| DEBUG_FUNC_OVERRIDE (glClear, GLbitfield, mask) | |
| DEBUG_FUNC_OVERRIDE (glDeleteTextures, GLsizei, n, const GLuint *, textures) | |
| DEBUG_FUNC_OVERRIDE (glDrawArrays, GLenum, mode, GLint, first, GLsizei, count) | |
| DEBUG_FUNC_OVERRIDE (glFinish, void) | |
| DEBUG_FUNC_OVERRIDE (glFlush, void) | |
| DEBUG_FUNC_OVERRIDE (glGenTextures, GLsizei, n, GLuint *, textures) | |
| DEBUG_FUNC_OVERRIDE (glGetTexImage, GLenum, target, GLint, level, GLenum, format, GLenum, type, void *, pixels) | |
| DEBUG_FUNC_OVERRIDE (glReadBuffer, GLenum, mode) | |
| DEBUG_FUNC_OVERRIDE (glReadPixels, GLint, x, GLint, y, GLsizei, width, GLsizei, height, GLenum, format, GLenum, type, void *, pixels) | |
| DEBUG_FUNC_OVERRIDE (glTexImage1D, GLenum, target, GLint, level, GLint, internalformat, GLsizei, width, GLint, border, GLenum, format, GLenum, type, const void *, pixels) | |
| DEBUG_FUNC_OVERRIDE (glTexImage2D, GLenum, target, GLint, level, GLint, internalformat, GLsizei, width, GLsizei, height, GLint, border, GLenum, format, GLenum, type, const void *, pixels) | |
| DEBUG_FUNC_OVERRIDE (glTexParameteri, GLenum, target, GLenum, pname, GLint, param) | |
| DEBUG_FUNC_OVERRIDE (glTexParameteriv, GLenum, target, GLenum, pname, const GLint *, params) | |
| DEBUG_FUNC_OVERRIDE (glTexSubImage1D, GLenum, target, GLint, level, GLint, xoffset, GLsizei, width, GLenum, format, GLenum, type, const void *, pixels) | |
| DEBUG_FUNC_OVERRIDE (glTexSubImage2D, GLenum, target, GLint, level, GLint, xoffset, GLint, yoffset, GLsizei, width, GLsizei, height, GLenum, format, GLenum, type, const void *, pixels) | |
| static GLenum | to_gl (GPUIndexBufType type) |
| static GLenum | to_gl (GPUPrimType prim_type) |
| static GLenum | to_gl (GPUQueryType type) |
| static GLbitfield | to_gl (eGPUBarrier barrier_bits) |
| GLenum | to_gl_internal_format (eGPUTextureFormat format) |
| GLenum | to_gl_target (eGPUTextureType type) |
| GLenum | to_gl_proxy (eGPUTextureType type) |
| GLenum | swizzle_to_gl (const char swizzle) |
| GLenum | to_gl (eGPUDataFormat format) |
| GLenum | to_gl_data_format (eGPUTextureFormat format) |
| GLenum | channel_len_to_gl (int channel_len) |
| static GLenum | to_gl (GPUUsageType type) |
| static GLenum | to_gl (GPUVertCompType type) |
| template<typename Layout > | |
| static void | def_attr (const shader::Type type, const int array_size, const uint32_t expected_alignment, const uint32_t expected_reserve, uint32_t *r_offset) |
| TEST (std140, fl) | |
| TEST (std140, _2fl) | |
| TEST (std140, _3fl) | |
| TEST (std140, _4fl) | |
| TEST (std140, fl2) | |
| TEST (std140, fl_fl2) | |
| TEST (std140, fl_vec2) | |
| TEST (std140, gpu_shader_2D_widget_base) | |
| TEST (std430, overlay_grid) | |
| TEST (std430, simple_lighting) | |
| static Vector< StringRefNull > | missing_capabilities_get (VkPhysicalDevice vk_physical_device) |
| static eGPUOSType | determine_os_type () |
| VKBatch * | unwrap (Batch *batch) |
| static VmaAllocationCreateFlags | vma_allocation_flags (GPUUsageType usage) |
| static VkMemoryPropertyFlags | vma_preferred_flags () |
| static VkMemoryPropertyFlags | vma_required_flags (const bool is_host_visible) |
| VkImageAspectFlags | to_vk_image_aspect_flag_bits (const eGPUTextureFormat format) |
| VkImageAspectFlags | to_vk_image_aspect_flag_bits (const eGPUFrameBufferBits buffers) |
| eGPUTextureFormat | to_gpu_format (const VkFormat format) |
| VkFormat | to_vk_format (const eGPUTextureFormat format) |
| static VkFormat | to_vk_format_norm (const GPUVertCompType type, const uint32_t size) |
| static VkFormat | to_vk_format_float (const GPUVertCompType type, const uint32_t size) |
| static VkFormat | to_vk_format_int (const GPUVertCompType type, const uint32_t size) |
| VkFormat | to_vk_format (const GPUVertCompType type, const uint32_t size, GPUVertFetchMode fetch_mode) |
| VkFormat | to_vk_format (const shader::Type type) |
| VkQueryType | to_vk_query_type (const GPUQueryType query_type) |
| VkImageType | to_vk_image_type (const eGPUTextureType type) |
| VkImageViewType | to_vk_image_view_type (const eGPUTextureType type, const eImageViewUsage view_type, VKImageViewArrayed arrayed) |
| VkComponentSwizzle | to_vk_component_swizzle (const char swizzle) |
| template<typename T > | |
| void | copy_color (T dst[4], const T *src) |
| VkClearColorValue | to_vk_clear_color_value (const eGPUDataFormat format, const void *data) |
| VkIndexType | to_vk_index_type (const GPUIndexBufType index_type) |
| VkPrimitiveTopology | to_vk_primitive_topology (const GPUPrimType prim_type) |
| VkCullModeFlags | to_vk_cull_mode_flags (const eGPUFaceCullTest cull_test) |
| VkSamplerAddressMode | to_vk_sampler_address_mode (const GPUSamplerExtendMode extend_mode) |
| static VkDescriptorType | to_vk_descriptor_type_image (const shader::ImageType &image_type) |
| static VkDescriptorType | to_vk_descriptor_type_sampler (const shader::ImageType &image_type) |
| VkDescriptorType | to_vk_descriptor_type (const shader::ShaderCreateInfo::Resource &resource) |
| template<typename T > | |
| VkObjectType | to_vk_object_type (T) |
| BLI_INLINE bool | operator== (const VKContext &a, const VKContext &b) |
| bool | conversion_needed (const GPUVertFormat &vertex_format) |
| void | convert_in_place (void *data, const GPUVertFormat &vertex_format, const uint vertex_len) |
| constexpr GPULoadStore | default_load_store () |
| static VKFrameBuffer * | unwrap (FrameBuffer *framebuffer) |
| static VkFormat | to_non_srgb_format (const VkFormat format) |
| static VkDeviceSize | new_buffer_size (size_t sub_buffer_size) |
| static VKIndexBuffer * | unwrap (IndexBuf *index_buffer) |
| template<typename LayoutT > | |
| static uint32_t | element_stride (const shader::Type type) |
| template<typename LayoutT > | |
| static uint32_t | array_stride (const shader::Type type) |
| template<typename LayoutT > | |
| static void | align (const shader::Type &type, const int32_t array_size, uint32_t *r_offset) |
| template<typename LayoutT > | |
| static void | reserve (const shader::Type type, int32_t array_size, uint32_t *r_offset) |
| template<typename LayoutT > | |
| static void | align_end_of_struct (uint32_t *r_offset) |
| static VKPixelBuffer * | unwrap (PixelBuffer *pixel_buffer) |
| template<typename LayoutT > | |
| static VKPushConstants::Layout::PushConstant | init_constant (const shader::ShaderCreateInfo::PushConst &push_constant, const ShaderInput &shader_input, uint32_t *r_offset) |
| template<typename LayoutT > | |
| uint32_t | struct_size (Span< shader::ShaderCreateInfo::PushConst > push_constants) |
| template<typename LayoutT > | |
| void | init_struct (const shader::ShaderCreateInfo &info, const VKShaderInterface &interface, Vector< VKPushConstants::Layout::PushConstant > &r_struct, uint32_t *r_offset) |
| static std::string | main_function_wrapper (std::string &pre_main, std::string &post_main) |
| static std::string | combine_sources (Span< const char * > sources) |
| static Type | to_component_type (const Type &type) |
| static StageInterfaceInfo * | find_interface_by_name (const Span< StageInterfaceInfo * > ifaces, const StringRefNull name) |
| static void | declare_emit_vertex (std::stringstream &ss) |
| static VKShader & | unwrap (Shader &shader) |
| static VKShader * | unwrap (Shader *shader) |
| static int32_t | shader_input_index (const ShaderInput *shader_inputs, const ShaderInput *shader_input) |
| BLI_INLINE VKStorageBuffer * | unwrap (StorageBuf *storage_buffer) |
| static VkImageAspectFlags | to_vk_image_aspect_single_bit (const VkImageAspectFlags format, bool stencil) |
| static VkImageUsageFlags | to_vk_image_usage (const eGPUTextureUsage usage, const eGPUTextureFormatFlag format_flag) |
| static VkImageCreateFlags | to_vk_image_create (const eGPUTextureType texture_type, const eGPUTextureFormatFlag format_flag, const eGPUTextureUsage usage) |
| BLI_INLINE VKTexture * | unwrap (Texture *tex) |
| BLI_INLINE Texture * | wrap (VKTexture *texture) |
| static std::string | to_string_handle (uint64_t vk_handle) |
| std::string | to_string (VkBuffer vk_handle) |
| std::string | to_string (VkImage vk_handle) |
| std::string | to_string (VkImageView vk_handle) |
| std::string | to_string (VkRenderPass vk_handle) |
| std::string | to_string (VkFramebuffer vk_handle) |
| std::string | to_string (VkPipelineLayout vk_handle) |
| std::string | to_string (VkPipeline vk_handle) |
| std::string | to_string (VkDescriptorSet vk_handle) |
| const char * | to_string (const VkAttachmentLoadOp vk_attachment_load_op) |
| const char * | to_string (const VkAttachmentStoreOp vk_attachment_store_op) |
| const char * | to_string (const VkFilter vk_filter) |
| const char * | to_string (const VkImageLayout vk_image_layout) |
| const char * | to_string (const VkIndexType vk_index_type) |
| const char * | to_string (const VkObjectType vk_object_type) |
| const char * | to_string (const VkPipelineBindPoint vk_pipeline_bind_point) |
| const char * | to_string (const VkResolveModeFlagBits vk_resolve_mode_flag_bits) |
| const char * | to_string (const VkSubpassContents vk_subpass_contents) |
| std::string | to_string_vk_access_flags (const VkAccessFlags vk_access_flags) |
| std::string | to_string_vk_dependency_flags (const VkDependencyFlags vk_dependency_flags) |
| std::string | to_string_vk_image_aspect_flags (const VkImageAspectFlags vk_image_aspect_flags) |
| std::string | to_string_vk_pipeline_stage_flags (const VkPipelineStageFlags vk_pipeline_stage_flags) |
| std::string | to_string_vk_rendering_flags (const VkRenderingFlags vk_rendering_flags) |
| std::string | to_string_vk_shader_stage_flags (const VkShaderStageFlags vk_shader_stage_flags) |
| std::string | to_string (const VkBufferCopy &vk_buffer_copy, int indentation_level) |
| std::string | to_string (const VkBufferImageCopy &vk_buffer_image_copy, int indentation_level) |
| std::string | to_string (const VkBufferMemoryBarrier &vk_buffer_memory_barrier, int indentation_level) |
| std::string | to_string (const VkClearAttachment &vk_clear_attachment, int indentation_level) |
| std::string | to_string (const VkClearDepthStencilValue &vk_clear_depth_stencil_value, int indentation_level) |
| std::string | to_string (const VkClearRect &vk_clear_rect, int indentation_level) |
| std::string | to_string (const VkExtent2D &vk_extent2_d, int indentation_level) |
| std::string | to_string (const VkExtent3D &vk_extent3_d, int indentation_level) |
| std::string | to_string (const VkImageBlit &vk_image_blit, int indentation_level) |
| std::string | to_string (const VkImageCopy &vk_image_copy, int indentation_level) |
| std::string | to_string (const VkImageMemoryBarrier &vk_image_memory_barrier, int indentation_level) |
| std::string | to_string (const VkImageSubresourceLayers &vk_image_subresource_layers, int indentation_level) |
| std::string | to_string (const VkImageSubresourceRange &vk_image_subresource_range, int indentation_level) |
| std::string | to_string (const VkMemoryBarrier &vk_memory_barrier, int indentation_level) |
| std::string | to_string (const VkOffset2D &vk_offset2_d, int indentation_level) |
| std::string | to_string (const VkOffset3D &vk_offset3_d, int indentation_level) |
| std::string | to_string (const VkRect2D &vk_rect2_d, int indentation_level) |
| std::string | to_string (const VkRenderPassBeginInfo &vk_render_pass_begin_info, int indentation_level) |
| std::string | to_string (const VkRenderingAttachmentInfo &vk_rendering_attachment_info, int indentation_level) |
| std::string | to_string (const VkRenderingInfo &vk_rendering_info, int indentation_level) |
| BLI_INLINE UniformBuf * | wrap (VKUniformBuffer *uniform_buffer) |
| BLI_INLINE VKVertexBuffer * | unwrap (VertBuf *vertex_buffer) |
Shader Debug Printf | |
| void | printf_begin (Context *ctx) |
| void | printf_end (Context *ctx) |
Capabilities | |
| static const char * | mtl_extensions_get_null (int) |
| bool | supports_barycentric_whitelist (id< MTLDevice > device) |
| bool | is_apple_sillicon (id< MTLDevice > device) |
| static int | get_num_performance_cpu_cores (id< MTLDevice > device) |
| static int | get_num_efficiency_cpu_cores (id< MTLDevice > device) |
| static bool | detect_mip_render_workaround () |
| static const char * | gl_extension_get (int i) |
| static void | detect_workarounds () |
Swap-chain management and Metal presentation. | |
| void | present (MTLRenderPassDescriptor *blit_descriptor, id< MTLRenderPipelineState > blit_pso, id< MTLTexture > swapchain_texture, id< CAMetalDrawable > drawable) |
Texture State Management | |
| static MTLSamplerAddressMode | to_mtl_type (GPUSamplerExtendMode wrap_mode) |
| MTLLoadAction | mtl_load_action_from_gpu (eGPULoadOp action) |
| MTLStoreAction | mtl_store_action_from_gpu (eGPUStoreOp action) |
Index buffer optimization and topology emulation | |
Index buffer optimization and emulation. Optimize index buffers by eliminating restart-indices. Emulate unsupported index types e.g. Triangle Fan and Line Loop. | |
| template<typename T > | |
| static uint32_t | populate_optimized_tri_strip_buf (Span< T > original_data, MutableSpan< T > output_data, uint32_t input_index_len) |
| template<typename T > | |
| static uint32_t | populate_emulated_tri_fan_buf (Span< T > original_data, MutableSpan< T > output_data, uint32_t input_index_len) |
Shader specialization common utilities. | |
| static void | populate_specialization_constant_values (MTLFunctionConstantValues *values, const Shader::Constants &shader_constants, const SpecializationStateDescriptor &specialization_descriptor) |
Create Info | |
| const char * | to_string (const shader::PrimitiveOut &layout) |
| const char * | to_string (const shader::PrimitiveIn &layout) |
| const char * | to_string (const shader::Interpolation &interp) |
| const char * | to_string (const shader::Type &type) |
| static const char * | to_string (const eGPUTextureFormat &type) |
| static const char * | to_string (const DepthWrite &value) |
| static void | print_image_type (std::ostream &os, const ImageType &type, const ShaderCreateInfo::Resource::BindType bind_type) |
| static std::ostream & | print_qualifier (std::ostream &os, const Qualifier &qualifiers) |
| static void | print_resource (std::ostream &os, const VKDescriptorSet::Location location, const ShaderCreateInfo::Resource &res) |
| static void | print_resource (std::ostream &os, const VKShaderInterface &shader_interface, const ShaderCreateInfo::Resource &res) |
| int | get_location_count (const Type &type) |
| static void | print_interface_as_attributes (std::ostream &os, const std::string &prefix, const StageInterfaceInfo &iface, int &location) |
| static void | print_interface_as_struct (std::ostream &os, const std::string &prefix, const StageInterfaceInfo &iface, int &location, const StringRefNull &suffix) |
| static void | print_interface (std::ostream &os, const std::string &prefix, const StageInterfaceInfo &iface, int &location, const StringRefNull &suffix="") |
Shader Translation utility functions. | |
| static eMTLDataType | to_mtl_type (Type type) |
| static std::regex | remove_non_numeric_characters ("[^0-9]") |
| static void | remove_multiline_comments_func (std::string &str) |
| static void | remove_singleline_comments_func (std::string &str) |
| static bool | is_program_word (const char *chr, int *len) |
| static int | backwards_program_word_scan (const char *array_loc, const char *min) |
| static void | extract_and_replace_clipping_distances (std::string &vertex_source, MSLGeneratorInterface &msl_iface) |
| static void | replace_outvars (std::string &str) |
| static void | replace_matrix_constructors (std::string &str) |
| static void | replace_array_initializers_func (std::string &str) |
| static bool | balanced_braces (char *current_str_begin, char *current_str_end) |
| static void | extract_global_scope_constants (std::string &str, std::stringstream &) |
| static bool | extract_ssbo_pragma_info (const MTLShader *shader, const MSLGeneratorInterface &, const std::string &in_vertex_src, MTLPrimitiveType &out_prim_tye, uint32_t &out_num_output_verts) |
| void | extract_shared_memory_blocks (MSLGeneratorInterface &msl_iface, std::string &glsl_compute_source) |
MTLShader builtin shader generation utilities. | |
| static void | print_resource (std::ostream &os, const ShaderCreateInfo::Resource &res) |
Shader Translation. | |
| static void | generate_specialization_constant_declarations (const shader::ShaderCreateInfo *info, std::stringstream &ss) |
| constexpr size_t | const_strlen (const char *str) |
| static char | parameter_delimiter (bool &is_first_parameter) |
| static uint32_t | name_buffer_copystr (char **name_buffer_ptr, const char *str_to_copy, uint32_t &name_buffer_size, uint32_t &name_buffer_offset) |
State setting functions | |
| static MTLCompareFunction | gpu_depth_function_to_metal (eGPUDepthTest depth_func) |
| static MTLCompareFunction | gpu_stencil_func_to_metal (eGPUStencilTest stencil_func) |
| static void | mtl_stencil_set_op_separate (MTLContext *context, eGPUFaceCullTest face, MTLStencilOperation stencil_fail, MTLStencilOperation depth_test_fail, MTLStencilOperation depthstencil_pass) |
| static void | mtl_stencil_set_op (MTLContext *context, MTLStencilOperation stencil_fail, MTLStencilOperation depth_test_fail, MTLStencilOperation depthstencil_pass) |
Texture Utility Functions | |
| MTLPixelFormat | gpu_texture_format_to_metal (eGPUTextureFormat tex_format) |
| size_t | get_mtl_format_bytesize (MTLPixelFormat tex_format) |
| int | get_mtl_format_num_components (MTLPixelFormat tex_format) |
| bool | mtl_format_supports_blending (MTLPixelFormat format) |
Operations | |
| static MTLTextureSwizzle | swizzle_to_mtl (const char swizzle) |
Platform | |
| static bool | match_renderer (StringRef renderer, const Vector< std::string > &items) |
Enums Conversion | |
| static GLenum | to_gl (const GPUAttachmentType type) |
| static GLbitfield | to_gl (const eGPUFrameBufferBits bits) |
Binding assignment | |
To mimic vulkan, we assign binding at shader creation to avoid shader recompilation. In the future, we should set it in the shader using layout(binding = i) and query its value. | |
| static int | block_binding (int32_t program, uint32_t block_index) |
| static int | sampler_binding (int32_t program, uint32_t uniform_index, int32_t uniform_location, int *sampler_len) |
| static int | image_binding (int32_t program, uint32_t uniform_index, int32_t uniform_location, int *image_len) |
| static int | ssbo_binding (int32_t program, uint32_t ssbo_index) |
Creation / Destruction | |
| static Type | gpu_type_from_gl_type (int gl_type) |
Sampler objects | |
| static GLenum | to_gl (GPUSamplerExtendMode extend_mode) |
Vertex Array Bindings | |
| static uint16_t | vbo_bind (const ShaderInterface *interface, const GPUVertFormat *format, uint v_first, uint v_len, const bool use_instancing) |
API | |
| void | convert_host_to_device (void *dst_buffer, const void *src_buffer, size_t buffer_size, eGPUDataFormat host_format, eGPUTextureFormat host_texture_format, eGPUTextureFormat device_format) |
| void | convert_device_to_host (void *dst_buffer, const void *src_buffer, size_t buffer_size, eGPUDataFormat host_format, eGPUTextureFormat host_texture_format, eGPUTextureFormat device_format) |
Vertex Attributes | |
| static bool | attribute_check (const GPUVertAttr attribute, GPUVertCompType comp_type, GPUVertFetchMode fetch_mode) |
| static bool | attribute_check (const GPUVertAttr attribute, GPUVertCompType comp_type, uint comp_len) |
Load/Store operations | |
| static VkAttachmentLoadOp | to_vk_attachment_load_op (eGPULoadOp load_op) |
| static VkAttachmentStoreOp | to_vk_attachment_store_op (eGPUStoreOp store_op) |
| static void | set_load_store (VkRenderingAttachmentInfo &r_rendering_attachment, const GPULoadStore &ls) |
Blit operations | |
| static void | blit_aspect (VKContext &context, VKTexture &dst_texture, VKTexture &src_texture, int dst_offset_x, int dst_offset_y, VkImageAspectFlags image_aspect) |
SPIR-V disk cache | |
| static std::optional< std::string > | cache_dir_get () |
| static bool | read_spirv_from_disk (VKShaderModule &shader_module) |
| static void | write_spirv_to_disk (VKShaderModule &shader_module) |
Compilation | |
| static const std::string | to_stage_name (shaderc_shader_kind stage) |
| static bool | compile_ex (shaderc::Compiler &compiler, VKShader &shader, shaderc_shader_kind stage, VKShaderModule &shader_module) |
Update bindings | |
| static uint32_t | to_binding_location_len (const GPUVertAttr &attribute) |
| static uint32_t | to_binding_location_len (const shader::Type type) |
Variables | |
| constexpr uint32_t | RESTART_INDEX = 0xFFFFFFFF |
| GPUCapabilities | GCaps |
| GPUPlatformGlobal | GPG |
| thread_local NSAutoreleasePool * | g_autoreleasepool = nil |
| thread_local int | g_autoreleasepool_depth = 0 |
| static const size_t | VISIBILITY_COUNT_PER_BUFFER = 512 |
| static const size_t | VISIBILITY_RESULT_SIZE_IN_BYTES = 8 |
| MTLParallelShaderCompiler * | g_shared_parallel_shader_compiler = nullptr |
| std::mutex | g_shared_parallel_shader_compiler_mutex |
| static const int | MTL_MAX_MIPMAP_COUNT = 15 |
| static const int | MTL_MAX_FBO_ATTACHED = 16 |
| const MTLSamplerState | DEFAULT_SAMPLER_STATE = {GPUSamplerState::default_sampler() } |
| static const char * | KNOWN_CRASHING_DRIVER = "instable driver" |
| static CLG_LogRef | LOG = {"gpu.vulkan"} |
| constexpr size_t | DEFAULT_INTERNAL_BUFFER_SIZE = 4 * 1024 * 1024 |
| static constexpr int | BIND_SPACE_IMAGE_OFFSET = 512 |
sRGB Rendering Workaround | |
The viewport overlay frame-buffer is sRGB and will expect shaders to output display referred Linear colors. But other frame-buffers (i.e: the area frame-buffers) are not sRGB and require the shader output color to be in sRGB space (assumed display encoded color-space as the time of writing). For this reason we have a uniform to switch the transform on and off depending on the current frame-buffer color-space. | |
| static int | g_shader_builtin_srgb_transform = 0 |
| static bool | g_shader_builtin_srgb_is_dirty = false |
Platform/driver/device information | |
| constexpr int32_t | PCI_ID_NVIDIA = 0x10de |
| constexpr int32_t | PCI_ID_INTEL = 0x8086 |
| constexpr int32_t | PCI_ID_AMD = 0x1002 |
| constexpr int32_t | PCI_ID_ATI = 0x1022 |
| constexpr int32_t | PCI_ID_APPLE = 0x106b |
Data Conversion | |
| using | UI8 = ComponentValue<uint8_t> |
| using | UI16 = ComponentValue<uint16_t> |
| using | UI32 = ComponentValue<uint32_t> |
| using | I8 = ComponentValue<int8_t> |
| using | I16 = ComponentValue<int16_t> |
| using | I32 = ComponentValue<int32_t> |
| using | F32 = ComponentValue<float> |
| using | SRGBA8 = PixelValue<ColorSceneLinearByteEncoded4b<eAlpha::Premultiplied>> |
| using | FLOAT3 = PixelValue<float3> |
| using | FLOAT4 = PixelValue<ColorSceneLinear4f<eAlpha::Premultiplied>> |
| constexpr uint32_t | MASK_10_BITS = 0b1111111111 |
| constexpr uint32_t | MASK_11_BITS = 0b11111111111 |
| constexpr uint8_t | SHIFT_B = 22 |
| constexpr uint8_t | SHIFT_G = 11 |
| constexpr uint8_t | SHIFT_R = 0 |
| static uint32_t | float_to_uint32_t (float value) |
| static float | uint32_t_to_float (uint32_t value) |
| template<typename StorageType > | |
| void | convert (SignedNormalized< StorageType > &dst, const F32 &src) |
| template<typename StorageType > | |
| void | convert (F32 &dst, const SignedNormalized< StorageType > &src) |
| template<typename StorageType > | |
| void | convert (UnsignedNormalized< StorageType > &dst, const F32 &src) |
| template<typename StorageType > | |
| void | convert (F32 &dst, const UnsignedNormalized< StorageType > &src) |
| template<typename StorageType > | |
| void | convert (UnsignedNormalized< StorageType > &, const UI32 &) |
| template<typename StorageType > | |
| void | convert (UI32 &dst, const UnsignedNormalized< StorageType > &src) |
| template<typename DestinationType , typename SourceType > | |
| void | convert (DestinationType &dst, const SourceType &src) |
| static void | convert (SRGBA8 &dst, const FLOAT4 &src) |
| static void | convert (FLOAT3 &dst, const HALF4 &src) |
| static void | convert (HALF4 &dst, const FLOAT3 &src) |
| static void | convert (FLOAT3 &dst, const FLOAT4 &src) |
| static void | convert (FLOAT4 &dst, const FLOAT3 &src) |
| static void | convert (FLOAT3 &dst, const B10F_G11G_R11F &src) |
| static void | convert (B10F_G11G_R11F &dst, const FLOAT3 &src) |
| template<typename DestinationType , typename SourceType > | |
| void | convert (MutableSpan< DestinationType > dst, Span< SourceType > src) |
| template<typename DestinationType , typename SourceType > | |
| void | convert_per_component (void *dst_memory, const void *src_memory, size_t buffer_size, eGPUTextureFormat device_format) |
| template<typename DestinationType , typename SourceType > | |
| void | convert_per_pixel (void *dst_memory, const void *src_memory, size_t buffer_size) |
| static void | convert_buffer (void *dst_memory, const void *src_memory, size_t buffer_size, eGPUTextureFormat device_format, ConversionType type) |
Floating point conversions | |
| using | FormatF32 = FloatingPointFormat<true, 23, 8> |
| using | FormatF11 = FloatingPointFormat<false, 6, 5> |
| using | FormatF10 = FloatingPointFormat<false, 5, 5> |
| template<typename DestinationFormat , typename SourceFormat , bool ClampNegativeToZero = true> | |
| uint32_t | convert_float_formats (uint32_t value) |
| using blender::gpu::AttributeMask = uint16_t |
Definition at line 25 of file vk_vertex_attribute_object.hh.
| using blender::gpu::DebugStack = Vector<StringRef> |
Definition at line 18 of file gpu_debug_private.hh.
| using blender::gpu::F32 = ComponentValue<float> |
Definition at line 626 of file vk_data_conversion.cc.
| using blender::gpu::FLOAT3 = PixelValue<float3> |
Definition at line 628 of file vk_data_conversion.cc.
Definition at line 629 of file vk_data_conversion.cc.
| using blender::gpu::FormatF10 = FloatingPointFormat<false, 5, 5> |
Definition at line 277 of file vk_data_conversion.hh.
| using blender::gpu::FormatF11 = FloatingPointFormat<false, 6, 5> |
Definition at line 276 of file vk_data_conversion.hh.
| using blender::gpu::FormatF32 = FloatingPointFormat<true, 23, 8> |
Definition at line 275 of file vk_data_conversion.hh.
| using blender::gpu::I16 = ComponentValue<int16_t> |
Definition at line 624 of file vk_data_conversion.cc.
| using blender::gpu::I32 = ComponentValue<int32_t> |
Definition at line 625 of file vk_data_conversion.cc.
| using blender::gpu::I8 = ComponentValue<int8_t> |
Definition at line 623 of file vk_data_conversion.cc.
Definition at line 393 of file mtl_shader_generator.hh.
Definition at line 205 of file mtl_memory.hh.
Definition at line 627 of file vk_data_conversion.cc.
| using blender::gpu::UI16 = ComponentValue<uint16_t> |
Definition at line 621 of file vk_data_conversion.cc.
| using blender::gpu::UI32 = ComponentValue<uint32_t> |
Definition at line 622 of file vk_data_conversion.cc.
| using blender::gpu::UI8 = ComponentValue<uint8_t> |
Definition at line 620 of file vk_data_conversion.cc.
| Enumerator | |
|---|---|
| APPLE_GPU_UNKNOWN | |
| APPLE_GPU_M1 | |
| APPLE_GPU_M2 | |
| APPLE_GPU_M3 | |
Definition at line 33 of file mtl_capabilities.hh.
|
strong |
Definition at line 23 of file vk_data_conversion.cc.
| Enumerator | |
|---|---|
| GPU_SAMPLER_TYPE_FLOAT | |
| GPU_SAMPLER_TYPE_INT | |
| GPU_SAMPLER_TYPE_UINT | |
| GPU_SAMPLER_TYPE_DEPTH | |
| GPU_SAMPLER_TYPE_MAX | |
Definition at line 60 of file gpu_texture_private.hh.
| Enumerator | |
|---|---|
| GPU_FORMAT_DEPTH | |
| GPU_FORMAT_STENCIL | |
| GPU_FORMAT_INTEGER | |
| GPU_FORMAT_NORMALIZED_INTEGER | |
| GPU_FORMAT_FLOAT | |
| GPU_FORMAT_COMPRESSED | |
| GPU_FORMAT_SRGB | |
| GPU_FORMAT_SIGNED | |
| GPU_FORMAT_DEPTH_STENCIL | |
Definition at line 20 of file gpu_texture_private.hh.
| Enumerator | |
|---|---|
| GPU_TEXTURE_1D | |
| GPU_TEXTURE_2D | |
| GPU_TEXTURE_3D | |
| GPU_TEXTURE_CUBE | |
| GPU_TEXTURE_ARRAY | |
| GPU_TEXTURE_BUFFER | |
| GPU_TEXTURE_1D_ARRAY | |
| GPU_TEXTURE_2D_ARRAY | |
| GPU_TEXTURE_CUBE_ARRAY | |
Definition at line 43 of file gpu_texture_private.hh.
|
strong |
Based on the usage of an Image View a different image view type should be created.
When using a GPU_TEXTURE_CUBE as an frame buffer attachment it will be used as a GPU_TEXTURE_2D_ARRAY. eg only a single side of the cube map will be attached. But when bound as a shader resource the cube-map will be used.
| Enumerator | |
|---|---|
| ShaderBinding | Image View will be used as a bindable shader resource. |
| Attachment | Image View will be used as an frame-buffer attachment. |
Definition at line 35 of file vk_common.hh.
| Enumerator | |
|---|---|
| GPU_INDEX_U16 | |
| GPU_INDEX_U32 | |
Definition at line 24 of file GPU_index_buffer.hh.
| Enumerator | |
|---|---|
| GPU_QUERY_OCCLUSION | |
Definition at line 17 of file gpu_query.hh.
| Enumerator | |
|---|---|
| TEXTURE_ACCESS_NONE | |
| TEXTURE_ACCESS_SAMPLE | |
| TEXTURE_ACCESS_READ | |
| TEXTURE_ACCESS_WRITE | |
| TEXTURE_ACCESS_READWRITE | |
Definition at line 250 of file mtl_shader_generator.hh.
Definition at line 422 of file mtl_context.hh.
|
strong |
| Enumerator | |
|---|---|
| Unknown | |
| Warning | |
| Error | |
| Note | |
Definition at line 219 of file gpu_shader_private.hh.
|
strong |
| Enumerator | |
|---|---|
| VERTEX | |
| FRAGMENT | |
| COMPUTE | |
| ANY | |
Definition at line 70 of file mtl_shader_interface.hh.
|
strong |
| Enumerator | |
|---|---|
| DONT_CARE | |
| NOT_ARRAYED | |
| ARRAYED | |
Definition at line 42 of file vk_common.hh.
|
static |
Move the r_offset to the next alignment where the given type+array_size can be reserved.
'type': The type that needs to be aligned. 'array_size': The array_size that needs to be aligned. (0=no array). 'r_offset': After the call it will point to the byte where the reservation can happen.
Definition at line 77 of file vk_memory_layout.hh.
Referenced by align_end_of_struct(), def_attr(), init_constant(), and struct_size().
|
static |
Update 'r_offset' to be aligned to the end of the struct.
Call this function when all attributes have been added to make sure that the struct size is correct.
Definition at line 115 of file vk_memory_layout.hh.
References align(), and blender::gpu::shader::VEC4.
Referenced by init_struct(), struct_size(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), TEST(), and TEST().
|
static |
Definition at line 62 of file vk_memory_layout.hh.
Referenced by reserve().
|
static |
Definition at line 1084 of file vk_data_conversion.cc.
|
static |
Definition at line 1091 of file vk_data_conversion.cc.
|
static |
Definition at line 205 of file mtl_shader_generator.mm.
References min.
Referenced by replace_array_initializers_func().
|
static |
Definition at line 449 of file mtl_shader_generator.mm.
Referenced by extract_global_scope_constants().
| blender::gpu::BLI_STATIC_ASSERT | ( | sizeof(GPUStateMutable) | = =sizeof(GPUStateMutable::data), |
| "GPUStateMutable is too big." | ) |
|
static |
Definition at line 370 of file vk_framebuffer.cc.
References blender::gpu::VKTexture::copy_to(), blender::gpu::VKTexture::device_format_get(), blender::gpu::render_graph::VKBlitImageData::dst_image, blender::gpu::render_graph::VKBlitImageData::filter, blender::gpu::Texture::height_get(), min_ii(), blender::gpu::render_graph::VKBlitImageData::region, blender::gpu::render_graph::VKBlitImageData::src_image, blender::gpu::VKTexture::vk_image_handle(), and blender::gpu::Texture::width_get().
Referenced by blender::gpu::VKFrameBuffer::blit_to().
Definition at line 30 of file gl_shader_interface.cc.
Referenced by blender::gpu::GLShaderInterface::GLShaderInterface().
|
static |
Definition at line 44 of file vk_shader_compiler.cc.
References BKE_appdir_folder_caches(), BLI_dir_create_recursive(), FILE_MAX, result, and SEP_STR.
Referenced by blender::gpu::VKShaderCompiler::cache_dir_clear_old(), read_spirv_from_disk(), and write_spirv_to_disk().
|
inline |
Assume UNORM/Float target. Used with #glReadPixels.
Definition at line 488 of file gl_texture.hh.
References BLI_assert_msg.
Referenced by blender::gpu::GLFrameBuffer::read().
|
static |
Definition at line 485 of file vk_shader.cc.
References BLI_string_join_arrayN(), blender::Span< T >::data(), MEM_freeN(), result, and blender::Span< T >::size().
|
inline |
Definition at line 1198 of file mtl_shader.hh.
References BLI_assert_msg.
|
inline |
Definition at line 1294 of file mtl_shader.hh.
References BLI_assert_msg, GPU_COMP_F32, GPU_COMP_I10, GPU_COMP_I16, GPU_COMP_I32, GPU_COMP_I8, GPU_COMP_U16, GPU_COMP_U32, and GPU_COMP_U8.
|
static |
Definition at line 194 of file vk_shader_compiler.cc.
References blender::gpu::VKShaderModule::combined_sources, blender::gpu::VKShaderModule::compilation_result, G, G_DEBUG_GPU_RENDERDOC, GPU_DEVICE_QUALCOMM, GPU_DRIVER_ANY, GPU_OS_ANY, GPU_type_matches(), options, read_spirv_from_disk(), stage, to_stage_name(), and write_spirv_to_disk().
Referenced by blender::gpu::VKShaderCompiler::compile_module().
|
constexpr |
Definition at line 1722 of file mtl_shader_generator.mm.
References const_strlen(), and str.
Referenced by const_strlen(), and blender::gpu::MTLShader::prepare_ssbo_vertex_fetch_metadata().
| bool blender::gpu::conversion_needed | ( | const GPUVertFormat & | vertex_format | ) |
Are all attributes of the given vertex format natively supported or does conversion needs to happen.
| vertex_format | the vertex format to check if an associated buffer requires conversion being done on the host. |
|
static |
Definition at line 859 of file vk_data_conversion.cc.
References b, convert_float_formats(), float_to_uint32_t(), SHIFT_B, SHIFT_G, SHIFT_R, and blender::gpu::PixelValue< InnerType >::value.
| void blender::gpu::convert | ( | DestinationType & | dst, |
| const SourceType & | src ) |
Definition at line 791 of file vk_data_conversion.cc.
| void blender::gpu::convert | ( | F32 & | dst, |
| const SignedNormalized< StorageType > & | src ) |
| void blender::gpu::convert | ( | F32 & | dst, |
| const UnsignedNormalized< StorageType > & | src ) |
Definition at line 771 of file vk_data_conversion.cc.
References float, blender::gpu::UnsignedNormalized< InnerType >::scalar(), blender::gpu::ComponentValue< InnerType >::value, and blender::gpu::UnsignedNormalized< InnerType >::value.
|
static |
Definition at line 849 of file vk_data_conversion.cc.
References convert_float_formats(), MASK_10_BITS, MASK_11_BITS, SHIFT_B, SHIFT_G, SHIFT_R, uint32_t_to_float(), and blender::gpu::PixelValue< InnerType >::value.
Definition at line 828 of file vk_data_conversion.cc.
References blender::gpu::PixelValue< InnerType >::value.
Definition at line 813 of file vk_data_conversion.cc.
References blender::gpu::HALF4::get_b(), blender::gpu::HALF4::get_g(), blender::gpu::HALF4::get_r(), blender::math::half_to_float(), and blender::gpu::PixelValue< InnerType >::value.
Definition at line 835 of file vk_data_conversion.cc.
References blender::gpu::PixelValue< InnerType >::value.
Definition at line 820 of file vk_data_conversion.cc.
References blender::math::float_to_half(), blender::gpu::HALF4::set_a(), blender::gpu::HALF4::set_b(), blender::gpu::HALF4::set_g(), blender::gpu::HALF4::set_r(), and blender::gpu::PixelValue< InnerType >::value.
| void blender::gpu::convert | ( | MutableSpan< DestinationType > | dst, |
| Span< SourceType > | src ) |
Definition at line 870 of file vk_data_conversion.cc.
References BLI_assert, convert(), blender::MutableSpan< T >::size(), and blender::Span< T >::size().
| void blender::gpu::convert | ( | SignedNormalized< StorageType > & | dst, |
| const F32 & | src ) |
Definition at line 746 of file vk_data_conversion.cc.
References clamp_i(), blender::gpu::SignedNormalized< InnerType >::delta(), blender::gpu::SignedNormalized< InnerType >::max(), blender::gpu::SignedNormalized< InnerType >::scalar(), blender::gpu::ComponentValue< InnerType >::value, and blender::gpu::SignedNormalized< InnerType >::value.
Referenced by convert(), convert_per_component(), and convert_per_pixel().
Definition at line 803 of file vk_data_conversion.cc.
References blender::gpu::PixelValue< InnerType >::value.
| void blender::gpu::convert | ( | UI32 & | dst, |
| const UnsignedNormalized< StorageType > & | src ) |
Definition at line 783 of file vk_data_conversion.cc.
References blender::gpu::UnsignedNormalized< InnerType >::scalar(), blender::gpu::ComponentValue< InnerType >::value, and blender::gpu::UnsignedNormalized< InnerType >::value.
| void blender::gpu::convert | ( | UnsignedNormalized< StorageType > & | , |
| const UI32 & | ) |
Definition at line 778 of file vk_data_conversion.cc.
References BLI_assert_unreachable.
| void blender::gpu::convert | ( | UnsignedNormalized< StorageType > & | dst, |
| const F32 & | src ) |
Definition at line 761 of file vk_data_conversion.cc.
References max, max_ff(), blender::gpu::UnsignedNormalized< InnerType >::scalar(), blender::gpu::ComponentValue< InnerType >::value, and blender::gpu::UnsignedNormalized< InnerType >::value.
|
static |
Definition at line 902 of file vk_data_conversion.cc.
References B10F_G11F_R11F_TO_FLOAT, convert_per_component(), convert_per_pixel(), DEPTH_COMPONENT24_TO_FLOAT, DEPTH_COMPONENT24_TO_UINT, FLOAT3_TO_FLOAT4, FLOAT3_TO_HALF4, FLOAT4_TO_FLOAT3, FLOAT_TO_B10F_G11F_R11F, FLOAT_TO_DEPTH_COMPONENT24, FLOAT_TO_HALF, blender::math::float_to_half_array(), FLOAT_TO_SNORM16, FLOAT_TO_SNORM8, FLOAT_TO_SRGBA8, FLOAT_TO_UNORM16, FLOAT_TO_UNORM32, FLOAT_TO_UNORM8, HALF4_TO_FLOAT3, HALF_TO_FLOAT, blender::math::half_to_float_array(), I16_TO_I32, I32_TO_I16, I32_TO_I8, I8_TO_I32, PASS_THROUGH, SNORM16_TO_FLOAT, SNORM8_TO_FLOAT, SRGBA8_TO_FLOAT, to_bytesize(), to_component_len(), UI16_TO_UI32, UI32_TO_UI16, UI32_TO_UI8, UI8_TO_UI32, UINT_TO_DEPTH_COMPONENT24, UNORM16_TO_FLOAT, UNORM32_TO_FLOAT, UNORM8_TO_FLOAT, and UNSUPPORTED.
Referenced by convert_device_to_host(), and convert_host_to_device().
| void blender::gpu::convert_device_to_host | ( | void * | dst_buffer, |
| const void * | src_buffer, | ||
| size_t | buffer_size, | ||
| eGPUDataFormat | host_format, | ||
| eGPUTextureFormat | host_texture_format, | ||
| eGPUTextureFormat | device_format ) |
Convert device buffer to host buffer.
| dst_buffer | host buffer |
| src_buffer | device buffer. |
| buffer_size | number of pixels to convert from the start of the given buffer. |
| host_format | format of the host buffer |
| host_texture_format | texture format of the host buffer. |
| device_format | format of the device buffer. |
Definition at line 1064 of file vk_data_conversion.cc.
References BLI_assert_msg, convert_buffer(), host_to_device(), reversed(), and UNSUPPORTED.
Referenced by blender::gpu::VKTexture::read_sub(), blender::gpu::tests::TEST(), and blender::gpu::tests::TEST().
| uint32_t blender::gpu::convert_float_formats | ( | uint32_t | value | ) |
Convert between low precision floating (including 32 bit floats).
The input and output values are bits (uint32_t) as this function does a bit-wise operations to convert between the formats. Additional conversion rules can be applied to the conversion function. Due to the implementation the compiler would make an optimized version depending on the actual possibilities.
Definition at line 306 of file vk_data_conversion.hh.
References is_zero(), and result.
Referenced by convert(), convert(), blender::gpu::tests::TEST(), and blender::gpu::tests::TEST().
| void blender::gpu::convert_host_to_device | ( | void * | dst_buffer, |
| const void * | src_buffer, | ||
| size_t | buffer_size, | ||
| eGPUDataFormat | host_format, | ||
| eGPUTextureFormat | host_texture_format, | ||
| eGPUTextureFormat | device_format ) |
Convert host buffer to device buffer.
| dst_buffer | device buffer. |
| src_buffer | host buffer. |
| buffer_size | number of pixels to convert from the start of the given buffer. |
| host_format | format of the host buffer. |
| host_texture_format | texture format of the host buffer. |
| device_format | format of the device buffer. |
Definition at line 1052 of file vk_data_conversion.cc.
References BLI_assert, convert_buffer(), host_to_device(), and UNSUPPORTED.
Referenced by blender::gpu::tests::TEST(), blender::gpu::tests::TEST(), and blender::gpu::VKTexture::update_sub().
| void blender::gpu::convert_in_place | ( | void * | data, |
| const GPUVertFormat & | vertex_format, | ||
| const uint | vertex_len ) |
Convert the given data to contain Vulkan natively supported data formats.
When for an vertex attribute the fetch mode is set to GPU_FETCH_INT_TO_FLOAT and the attribute is an int32_t or uint32_t the conversion will be done. Attributes of 16 or 8 bits are supported natively and will be done in Vulkan.
| data | Buffer to convert. Data will be converted in place. |
| vertex_format | Vertex format of the given data. Attributes that aren't supported will be converted to a supported one. |
| vertex_len | Number of vertices of the given data buffer; The number of vertices to convert. |
| void blender::gpu::convert_per_component | ( | void * | dst_memory, |
| const void * | src_memory, | ||
| size_t | buffer_size, | ||
| eGPUTextureFormat | device_format ) |
Definition at line 879 of file vk_data_conversion.cc.
References convert(), and to_component_len().
Referenced by convert_buffer().
| void blender::gpu::convert_per_pixel | ( | void * | dst_memory, |
| const void * | src_memory, | ||
| size_t | buffer_size ) |
Definition at line 893 of file vk_data_conversion.cc.
References convert().
Referenced by convert_buffer().
Definition at line 797 of file vk_common.cc.
Referenced by to_vk_clear_color_value().
|
static |
Definition at line 55 of file gpu_platform.cc.
References BLI_dynstr_appendf(), BLI_dynstr_free(), BLI_dynstr_get_cstring(), BLI_dynstr_new(), and BLI_string_replace_char().
Referenced by blender::gpu::GPUPlatformGlobal::init().
|
static |
Definition at line 31 of file gpu_platform.cc.
References BLI_dynstr_append(), BLI_dynstr_appendf(), BLI_dynstr_free(), BLI_dynstr_get_cstring(), BLI_dynstr_new(), BLI_string_replace_char(), GPU_SUPPORT_LEVEL_LIMITED, and GPU_SUPPORT_LEVEL_SUPPORTED.
Referenced by blender::gpu::GPUPlatformGlobal::init().
| blender::gpu::DEBUG_FUNC_OVERRIDE | ( | glClear | , |
| GLbitfield | , | ||
| mask | ) |
| blender::gpu::DEBUG_FUNC_OVERRIDE | ( | glDeleteTextures | , |
| GLsizei | , | ||
| n | , | ||
| const GLuint * | , | ||
| textures | ) |
| blender::gpu::DEBUG_FUNC_OVERRIDE | ( | glDrawArrays | , |
| GLenum | , | ||
| mode | , | ||
| GLint | , | ||
| first | , | ||
| GLsizei | , | ||
| count | ) |
| blender::gpu::DEBUG_FUNC_OVERRIDE | ( | glFinish | , |
| void | ) |
| blender::gpu::DEBUG_FUNC_OVERRIDE | ( | glFlush | , |
| void | ) |
| blender::gpu::DEBUG_FUNC_OVERRIDE | ( | glGenTextures | , |
| GLsizei | , | ||
| n | , | ||
| GLuint * | , | ||
| textures | ) |
| blender::gpu::DEBUG_FUNC_OVERRIDE | ( | glGetTexImage | , |
| GLenum | , | ||
| target | , | ||
| GLint | , | ||
| level | , | ||
| GLenum | , | ||
| format | , | ||
| GLenum | , | ||
| type | , | ||
| void * | , | ||
| pixels | ) |
| blender::gpu::DEBUG_FUNC_OVERRIDE | ( | glReadBuffer | , |
| GLenum | , | ||
| mode | ) |
| blender::gpu::DEBUG_FUNC_OVERRIDE | ( | glReadPixels | , |
| GLint | , | ||
| x | , | ||
| GLint | , | ||
| y | , | ||
| GLsizei | , | ||
| width | , | ||
| GLsizei | , | ||
| height | , | ||
| GLenum | , | ||
| format | , | ||
| GLenum | , | ||
| type | , | ||
| void * | , | ||
| pixels | ) |
| blender::gpu::DEBUG_FUNC_OVERRIDE | ( | glTexImage1D | , |
| GLenum | , | ||
| target | , | ||
| GLint | , | ||
| level | , | ||
| GLint | , | ||
| internalformat | , | ||
| GLsizei | , | ||
| width | , | ||
| GLint | , | ||
| border | , | ||
| GLenum | , | ||
| format | , | ||
| GLenum | , | ||
| type | , | ||
| const void * | , | ||
| pixels | ) |
| blender::gpu::DEBUG_FUNC_OVERRIDE | ( | glTexImage2D | , |
| GLenum | , | ||
| target | , | ||
| GLint | , | ||
| level | , | ||
| GLint | , | ||
| internalformat | , | ||
| GLsizei | , | ||
| width | , | ||
| GLsizei | , | ||
| height | , | ||
| GLint | , | ||
| border | , | ||
| GLenum | , | ||
| format | , | ||
| GLenum | , | ||
| type | , | ||
| const void * | , | ||
| pixels | ) |
| blender::gpu::DEBUG_FUNC_OVERRIDE | ( | glTexParameteri | , |
| GLenum | , | ||
| target | , | ||
| GLenum | , | ||
| pname | , | ||
| GLint | , | ||
| param | ) |
| blender::gpu::DEBUG_FUNC_OVERRIDE | ( | glTexParameteriv | , |
| GLenum | , | ||
| target | , | ||
| GLenum | , | ||
| pname | , | ||
| const GLint * | , | ||
| params | ) |
| blender::gpu::DEBUG_FUNC_OVERRIDE | ( | glTexSubImage1D | , |
| GLenum | , | ||
| target | , | ||
| GLint | , | ||
| level | , | ||
| GLint | , | ||
| xoffset | , | ||
| GLsizei | , | ||
| width | , | ||
| GLenum | , | ||
| format | , | ||
| GLenum | , | ||
| type | , | ||
| const void * | , | ||
| pixels | ) |
| blender::gpu::DEBUG_FUNC_OVERRIDE | ( | glTexSubImage2D | , |
| GLenum | , | ||
| target | , | ||
| GLint | , | ||
| level | , | ||
| GLint | , | ||
| xoffset | , | ||
| GLint | , | ||
| yoffset | , | ||
| GLsizei | , | ||
| width | , | ||
| GLsizei | , | ||
| height | , | ||
| GLenum | , | ||
| format | , | ||
| GLenum | , | ||
| type | , | ||
| const void * | , | ||
| pixels | ) |
|
static |
Definition at line 1058 of file vk_shader.cc.
Referenced by blender::gpu::VKShader::geometry_layout_declare().
|
static |
|
constexpr |
The default load store action when not using load stores.
Definition at line 21 of file vk_framebuffer.cc.
References GPU_LOADACTION_LOAD, and GPU_STOREACTION_STORE.
Referenced by blender::gpu::VKFrameBuffer::bind(), and blender::gpu::VKFrameBuffer::subpass_transition_impl().
|
static |
Definition at line 242 of file gl_backend.cc.
References blender::gpu::debug::check_gl_error(), equals_v4v4(), fb(), MEM_callocN, MEM_freeN(), tex, and UNPACK4.
Referenced by detect_workarounds().
|
static |
Definition at line 292 of file gl_backend.cc.
References BLI_windows_get_directx_driver_version(), blender::gpu::GPUCapabilities::broken_amd_driver, blender::gpu::GLContext::clear_texture_support, blender::gpu::GLContext::debug_layer_support, blender::gpu::GLContext::debug_layer_workaround, blender::gpu::GPUCapabilities::depth_blitting_workaround, blender::gpu::GLContext::derivative_signs, detect_mip_render_workaround(), blender::gpu::GLContext::direct_state_access_support, blender::gpu::GLContext::framebuffer_fetch_support, G, G_DEBUG_GPU_FORCE_WORKAROUNDS, G_DEBUG_GPU_RENDERDOC, GCaps, GPU_DEVICE_ATI, GPU_DEVICE_INTEL, GPU_DEVICE_QUALCOMM, GPU_DRIVER_ANY, GPU_DRIVER_OFFICIAL, GPU_DRIVER_OPENSOURCE, GPU_OS_ANY, GPU_OS_UNIX, GPU_OS_WIN, GPU_type_matches(), blender::gpu::GPUCapabilities::hdr_viewport_support, L, blender::gpu::GLContext::layered_rendering_support, match_renderer(), blender::gpu::GPUCapabilities::minimum_per_vertex_stride, blender::gpu::GPUCapabilities::mip_render_workaround, blender::gpu::GLContext::multi_bind_image_support, blender::gpu::GLContext::multi_bind_support, blender::gpu::GLContext::multi_draw_indirect_support, blender::gpu::GLContext::native_barycentric_support, printf, blender::gpu::GLContext::shader_draw_parameters_support, blender::gpu::GPUCapabilities::shader_draw_parameters_support, blender::gpu::GPUCapabilities::stencil_clasify_buffer_workaround, blender::gpu::GPUCapabilities::stencil_export_support, blender::gpu::GLContext::texture_barrier_support, blender::gpu::GLContext::texture_filter_anisotropic_support, blender::gpu::GLContext::unused_fb_slot_workaround, blender::gpu::GPUCapabilities::use_hq_normals_workaround, and blender::gpu::GPUCapabilities::use_main_context_workaround.
|
static |
Definition at line 206 of file vk_backend.cc.
References GPU_OS_MAC, GPU_OS_UNIX, and GPU_OS_WIN.
Referenced by blender::gpu::VKBackend::platform_init().
|
static |
Definition at line 57 of file vk_memory_layout.hh.
Referenced by reserve().
| blender::gpu::ENUM_OPERATORS | ( | MTLPipelineStateDirtyFlag | , |
| MTL_PIPELINE_STATE_CULLMODE_FLAG | ) |
| blender::gpu::ENUM_OPERATORS | ( | ShaderStage | , |
| ShaderStage::ANY | ) |
|
static |
Definition at line 235 of file mtl_shader_generator.mm.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), blender::Vector< T, InlineBufferCapacity, Allocator >::begin(), blender::gpu::MSLGeneratorInterface::clip_distances, blender::Vector< T, InlineBufferCapacity, Allocator >::end(), and vertex_source().
|
static |
Certain Constants (such as arrays, or pointer types) declared in Global-scope end up being initialized per shader thread, resulting in high register pressure within the shader. Here we flag occurrences of these constants such that they can be moved to a place where this is not a problem.
Constants declared within function-scope do not exhibit this problem.
Definition at line 475 of file mtl_shader_generator.mm.
References balanced_braces(), BLI_assert, MTL_LOG_INFO, and str.
| void blender::gpu::extract_shared_memory_blocks | ( | MSLGeneratorInterface & | msl_iface, |
| std::string & | glsl_compute_source ) |
Definition at line 582 of file mtl_shader_generator.mm.
References blender::gpu::MSLSharedMemoryBlock::array_decl, BLI_assert, BLI_strncpy(), blender::gpu::MSLSharedMemoryBlock::is_array, len, next_symbol_in_range(), next_word_in_range(), blender::gpu::MSLGeneratorInterface::shared_memory_blocks, blender::gpu::MSLSharedMemoryBlock::type_name, and blender::gpu::MSLSharedMemoryBlock::varname.
|
static |
Definition at line 515 of file mtl_shader_generator.mm.
References BLI_assert, MTL_LOG_ERROR, and remove_non_numeric_characters().
|
inline |
Definition at line 1234 of file mtl_shader.hh.
References BLI_assert_msg, GPU_FETCH_FLOAT, GPU_FETCH_INT, and GPU_FETCH_INT_TO_FLOAT_UNIT.
|
static |
Definition at line 1047 of file vk_shader.cc.
Referenced by blender::gpu::GLShader::geometry_interface_declare(), and blender::gpu::VKShader::geometry_layout_declare().
Definition at line 593 of file vk_data_conversion.cc.
Referenced by convert().
|
static |
Definition at line 879 of file mtl_shader_generator.mm.
References MTL_SHADER_SPECIALIZATION_CONSTANT_BASE_ID, and blender::gpu::shader::ShaderCreateInfo::specialization_constants_.
|
inline |
Definition at line 691 of file mtl_shader_generator.hh.
References blender::gpu::shader::FLOAT, blender::gpu::shader::VEC2, blender::gpu::shader::VEC3, and blender::gpu::shader::VEC4.
Referenced by blender::gpu::MSLGeneratorInterface::generate_msl_vertex_attribute_input_population().
Definition at line 407 of file vk_shader.cc.
References blender::gpu::shader::MAT3, and blender::gpu::shader::MAT4.
Referenced by print_interface_as_attributes(), and print_interface_as_struct().
|
inline |
Definition at line 660 of file mtl_shader_generator.hh.
References blender::gpu::shader::MAT3, and blender::gpu::shader::MAT4.
|
inline |
Definition at line 648 of file mtl_shader_generator.hh.
Referenced by blender::gpu::MSLGeneratorInterface::bake_shader_interface(), blender::gpu::MSLGeneratorInterface::generate_msl_fragment_input_population(), blender::gpu::MSLGeneratorInterface::generate_msl_vertex_attribute_input_population(), blender::gpu::MSLGeneratorInterface::generate_msl_vertex_in_struct(), blender::gpu::MSLGeneratorInterface::generate_msl_vertex_out_struct(), blender::gpu::MSLGeneratorInterface::generate_msl_vertex_output_population(), blender::gpu::MSLGeneratorInterface::generate_msl_vertex_transform_feedback_out_struct(), and blender::gpu::MSLGeneratorInterface::resolve_input_attribute_locations().
|
inline |
Definition at line 680 of file mtl_shader_generator.hh.
References blender::gpu::shader::MAT3, blender::gpu::shader::MAT4, blender::gpu::shader::VEC3, and blender::gpu::shader::VEC4.
|
inline |
Definition at line 672 of file mtl_shader_generator.hh.
Referenced by blender::gpu::MSLGeneratorInterface::bake_shader_interface(), blender::gpu::MSLGeneratorInterface::generate_msl_vertex_in_struct(), blender::gpu::MSLGeneratorInterface::generate_msl_vertex_out_struct(), and blender::gpu::MSLGeneratorInterface::generate_msl_vertex_transform_feedback_out_struct().
| size_t blender::gpu::get_mtl_format_bytesize | ( | MTLPixelFormat | tex_format | ) |
Definition at line 193 of file mtl_texture_util.mm.
References BLI_assert_msg.
Referenced by blender::gpu::MTLTexture::init_internal(), and blender::gpu::MTLTexture::update_sub().
| int blender::gpu::get_mtl_format_num_components | ( | MTLPixelFormat | tex_format | ) |
Definition at line 269 of file mtl_texture_util.mm.
References BLI_assert_msg.
Referenced by blender::gpu::MTLTexture::update_sub().
|
static |
Definition at line 325 of file mtl_backend.mm.
References BLI_assert, is_apple_sillicon(), and NULL.
|
static |
Definition at line 300 of file mtl_backend.mm.
References BLI_assert, is_apple_sillicon(), and NULL.
|
inline |
Definition at line 78 of file mtl_shader_interface.hh.
References BLI_assert_unreachable, COMPUTE, FRAGMENT, stage, and VERTEX.
Referenced by blender::gpu::MTLShaderInterface::get_argument_buffer_bind_index(), blender::gpu::MSLGeneratorInterface::get_sampler_argument_buffer_bind_index(), and blender::gpu::MTLShaderInterface::set_sampler_properties().
|
inline |
Definition at line 580 of file mtl_shader_generator.hh.
References BLI_assert_unreachable, COMPUTE, FRAGMENT, stage, and VERTEX.
Referenced by blender::gpu::MSLGeneratorInterface::generate_msl_compute_entry_stub(), blender::gpu::MSLGeneratorInterface::generate_msl_fragment_entry_stub(), blender::gpu::MSLGeneratorInterface::generate_msl_fragment_input_population(), blender::gpu::MSLGeneratorInterface::generate_msl_fragment_output_population(), blender::gpu::MSLGeneratorInterface::generate_msl_fragment_tile_input_population(), blender::gpu::MSLGeneratorInterface::generate_msl_global_uniform_population(), blender::gpu::MSLGeneratorInterface::generate_msl_texture_vars(), blender::gpu::MSLGeneratorInterface::generate_msl_uniform_block_population(), blender::gpu::MSLGeneratorInterface::generate_msl_vertex_attribute_input_population(), blender::gpu::MSLGeneratorInterface::generate_msl_vertex_entry_stub(), blender::gpu::MSLGeneratorInterface::generate_msl_vertex_output_population(), and blender::gpu::MSLGeneratorInterface::generate_msl_vertex_output_tf_population().
| MTLParallelShaderCompiler * blender::gpu::get_shared_parallel_shader_compiler | ( | ) |
Definition at line 1834 of file mtl_shader.mm.
References g_shared_parallel_shader_compiler, g_shared_parallel_shader_compiler_mutex, blender::gpu::MTLParallelShaderCompiler::increment_ref_count(), and lock.
Referenced by blender::gpu::MTLShaderCompiler::MTLShaderCompiler().
|
inline |
Definition at line 564 of file mtl_shader_generator.hh.
References BLI_assert_unreachable, COMPUTE, FRAGMENT, stage, and VERTEX.
Referenced by blender::gpu::MSLGeneratorInterface::generate_msl_compute_entry_stub(), blender::gpu::MSLGeneratorInterface::generate_msl_compute_inputs_string(), blender::gpu::MSLGeneratorInterface::generate_msl_fragment_entry_stub(), blender::gpu::MSLGeneratorInterface::generate_msl_fragment_inputs_string(), blender::gpu::MSLGeneratorInterface::generate_msl_uniforms_input_string(), blender::gpu::MSLGeneratorInterface::generate_msl_vertex_entry_stub(), and blender::gpu::MSLGeneratorInterface::generate_msl_vertex_inputs_string().
|
static |
Definition at line 287 of file gl_backend.cc.
|
static |
Definition at line 179 of file mtl_state.mm.
References BLI_assert, GPU_DEPTH_ALWAYS, GPU_DEPTH_EQUAL, GPU_DEPTH_GREATER, GPU_DEPTH_GREATER_EQUAL, GPU_DEPTH_LESS, GPU_DEPTH_LESS_EQUAL, and GPU_DEPTH_NONE.
|
inlinestatic |
Definition at line 37 of file mtl_primitive.hh.
References GPU_PRIM_LINE_LOOP, GPU_PRIM_LINE_STRIP, GPU_PRIM_LINE_STRIP_ADJ, GPU_PRIM_LINES, GPU_PRIM_LINES_ADJ, GPU_PRIM_NONE, GPU_PRIM_POINTS, GPU_PRIM_TRI_FAN, GPU_PRIM_TRI_STRIP, GPU_PRIM_TRIS, and GPU_PRIM_TRIS_ADJ.
Referenced by blender::gpu::MTLImmediate::begin(), blender::gpu::MTLBatch::bind(), blender::gpu::MTLImmediate::end(), and blender::gpu::MTLDrawList::submit().
|
static |
Definition at line 203 of file mtl_state.mm.
References BLI_assert, GPU_STENCIL_ALWAYS, GPU_STENCIL_EQUAL, GPU_STENCIL_NEQUAL, and GPU_STENCIL_NONE.
| MTLPixelFormat blender::gpu::gpu_texture_format_to_metal | ( | eGPUTextureFormat | tex_format | ) |
Definition at line 35 of file mtl_texture_util.mm.
References BLI_assert_msg, GPU_DEPTH24_STENCIL8, GPU_DEPTH32F_STENCIL8, GPU_DEPTH_COMPONENT16, GPU_DEPTH_COMPONENT24, GPU_DEPTH_COMPONENT32F, GPU_R11F_G11F_B10F, GPU_R16, GPU_R16_SNORM, GPU_R16F, GPU_R16I, GPU_R16UI, GPU_R32F, GPU_R32I, GPU_R32UI, GPU_R8, GPU_R8_SNORM, GPU_R8I, GPU_R8UI, GPU_RG16, GPU_RG16_SNORM, GPU_RG16F, GPU_RG16I, GPU_RG16UI, GPU_RG32F, GPU_RG32I, GPU_RG32UI, GPU_RG8, GPU_RG8_SNORM, GPU_RG8I, GPU_RG8UI, GPU_RGB10_A2, GPU_RGB10_A2UI, GPU_RGB16, GPU_RGB16_SNORM, GPU_RGB16F, GPU_RGB16I, GPU_RGB16UI, GPU_RGB32F, GPU_RGB32I, GPU_RGB32UI, GPU_RGB8, GPU_RGB8_SNORM, GPU_RGB8I, GPU_RGB8UI, GPU_RGB9_E5, GPU_RGBA16, GPU_RGBA16_SNORM, GPU_RGBA16F, GPU_RGBA16I, GPU_RGBA16UI, GPU_RGBA32F, GPU_RGBA32I, GPU_RGBA32UI, GPU_RGBA8, GPU_RGBA8_DXT1, GPU_RGBA8_DXT3, GPU_RGBA8_DXT5, GPU_RGBA8_SNORM, GPU_RGBA8I, GPU_RGBA8UI, GPU_SRGB8, GPU_SRGB8_A8, GPU_SRGB8_A8_DXT1, GPU_SRGB8_A8_DXT3, and GPU_SRGB8_A8_DXT5.
Referenced by blender::gpu::MTLShader::bake_current_pipeline_state(), blender::gpu::MTLTexture::init_internal(), and blender::gpu::MTLTexture::update_sub().
Definition at line 156 of file gl_shader_interface.cc.
References BLI_assert.
Referenced by blender::gpu::GLShaderInterface::GLShaderInterface().
|
inline |
Definition at line 667 of file mtl_texture.hh.
References GPU_TEXTURE_USAGE_ATTACHMENT, GPU_TEXTURE_USAGE_FORMAT_VIEW, GPU_TEXTURE_USAGE_GENERAL, GPU_TEXTURE_USAGE_SHADER_READ, and GPU_TEXTURE_USAGE_SHADER_WRITE.
Referenced by blender::gpu::MTLTexture::MTLTexture().
|
static |
Definition at line 517 of file vk_data_conversion.cc.
References BLI_assert, GPU_DATA_10_11_11_REV, GPU_DATA_2_10_10_10_REV, GPU_DATA_FLOAT, GPU_DATA_HALF_FLOAT, GPU_DATA_INT, GPU_DATA_UBYTE, GPU_DATA_UINT, GPU_DATA_UINT_24_8, type_of_conversion_float(), type_of_conversion_half(), type_of_conversion_int(), type_of_conversion_r10g10b10a2(), type_of_conversion_r11g11b10(), type_of_conversion_ubyte(), type_of_conversion_uint(), UNSUPPORTED, and validate_data_format().
Referenced by convert_device_to_host(), and convert_host_to_device().
|
inlinestatic |
Definition at line 93 of file gl_shader_interface.cc.
Referenced by blender::gpu::GLShaderInterface::GLShaderInterface().
|
inline |
Definition at line 124 of file GPU_index_buffer.hh.
References GPU_PRIM_LINES, GPU_PRIM_LINES_ADJ, GPU_PRIM_POINTS, GPU_PRIM_TRIS, and GPU_PRIM_TRIS_ADJ.
Referenced by GPU_batch_draw_expanded_parameter_get(), GPU_indexbuf_build_in_place_from_memory(), and GPU_indexbuf_primitive_len().
|
static |
Definition at line 21 of file vk_push_constants.cc.
References align(), blender::gpu::VKPushConstants::Layout::PushConstant::array_size, blender::gpu::VKPushConstants::Layout::PushConstant::inner_row_padding, blender::gpu::ShaderInput::location, blender::gpu::VKPushConstants::Layout::PushConstant::location, blender::gpu::VKPushConstants::Layout::PushConstant::offset, push_constant(), reserve(), and blender::gpu::VKPushConstants::Layout::PushConstant::type.
Referenced by init_struct().
| void blender::gpu::init_struct | ( | const shader::ShaderCreateInfo & | info, |
| const VKShaderInterface & | interface, | ||
| Vector< VKPushConstants::Layout::PushConstant > & | r_struct, | ||
| uint32_t * | r_offset ) |
Definition at line 66 of file vk_push_constants.cc.
References align_end_of_struct(), blender::Vector< T, InlineBufferCapacity, Allocator >::append(), init_constant(), push_constant(), blender::gpu::shader::ShaderCreateInfo::push_constants_, and blender::gpu::ShaderInterface::uniform_get().
Referenced by blender::gpu::VKPushConstants::Layout::init().
| bool blender::gpu::is_apple_sillicon | ( | id< MTLDevice > | device | ) |
Definition at line 289 of file mtl_backend.mm.
References BLI_assert.
Referenced by get_num_efficiency_cpu_cores(), and get_num_performance_cpu_cores().
|
inline |
Definition at line 596 of file mtl_shader_generator.hh.
References MTL_DATATYPE_FLOAT, MTL_DATATYPE_FLOAT2, MTL_DATATYPE_FLOAT3, MTL_DATATYPE_FLOAT3x3, MTL_DATATYPE_FLOAT4, MTL_DATATYPE_FLOAT4x4, MTL_DATATYPE_INT, MTL_DATATYPE_INT1010102_NORM, MTL_DATATYPE_INT2, MTL_DATATYPE_INT3, MTL_DATATYPE_INT4, MTL_DATATYPE_UCHAR, MTL_DATATYPE_UCHAR2, MTL_DATATYPE_UCHAR3, MTL_DATATYPE_UCHAR4, MTL_DATATYPE_UINT, MTL_DATATYPE_UINT1010102_NORM, MTL_DATATYPE_UINT2, MTL_DATATYPE_UINT3, and MTL_DATATYPE_UINT4.
Referenced by blender::gpu::MSLGeneratorInterface::generate_msl_uniforms_input_string().
|
inline |
Definition at line 642 of file mtl_shader_generator.hh.
References blender::gpu::shader::MAT3, and blender::gpu::shader::MAT4.
|
inline |
Definition at line 636 of file mtl_shader_generator.hh.
Referenced by blender::gpu::MSLGeneratorInterface::bake_shader_interface(), blender::gpu::MSLGeneratorInterface::generate_msl_fragment_input_population(), blender::gpu::MSLGeneratorInterface::generate_msl_vertex_attribute_input_population(), blender::gpu::MSLGeneratorInterface::generate_msl_vertex_in_struct(), blender::gpu::MSLGeneratorInterface::generate_msl_vertex_out_struct(), blender::gpu::MSLGeneratorInterface::generate_msl_vertex_output_population(), and blender::gpu::MSLGeneratorInterface::generate_msl_vertex_transform_feedback_out_struct().
|
static |
Definition at line 185 of file mtl_shader_generator.mm.
References len.
Referenced by replace_outvars().
|
static |
Definition at line 467 of file vk_shader.cc.
Referenced by blender::gpu::GLShader::fragment_interface_declare(), blender::gpu::VKShader::fragment_interface_declare(), blender::gpu::GLShader::vertex_interface_declare(), and blender::gpu::VKShader::vertex_interface_declare().
|
static |
Definition at line 30 of file gl_backend.cc.
References blender::StringRefBase::endswith(), blender::StringRefBase::find(), and blender::StringRefBase::not_found.
Referenced by detect_workarounds().
|
static |
Definition at line 42 of file vk_backend.cc.
References blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), blender::Vector< T, InlineBufferCapacity, Allocator >::append(), blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::contains(), blender::Array< T, InlineBufferCapacity, Allocator >::data(), and KNOWN_CRASHING_DRIVER.
Referenced by blender::gpu::VKBackend::is_supported().
|
inline |
Returns whether the METAL API can internally convert between the input type of data in the incoming vertex buffer and the format used by the vertex attribute inside the shader.
If implicit conversion is not possible, then we can fallback to performing manual attribute conversion using the special attribute read function specializations in the shader. These functions selectively convert between types based on the specified vertex attribute GPUVertFetchMode fetch_mode e.g. GPU_FETCH_INT.
Definition at line 797 of file mtl_shader.hh.
References BLI_assert, BLI_assert_msg, BLI_assert_unreachable, GPU_COMP_F32, GPU_COMP_I10, GPU_COMP_I16, GPU_COMP_I32, GPU_COMP_I8, GPU_COMP_MAX, GPU_COMP_U16, GPU_COMP_U32, GPU_COMP_U8, GPU_FETCH_FLOAT, GPU_FETCH_INT, GPU_FETCH_INT_TO_FLOAT, GPU_FETCH_INT_TO_FLOAT_UNIT, mtl_vertex_format_resize(), normalized(), and UNUSED_VARS_NDEBUG.
Referenced by blender::gpu::MTLImmediate::end().
| MTLVertexFormat blender::gpu::mtl_datatype_to_vertex_type | ( | eMTLDataType | type | ) |
Definition at line 629 of file mtl_shader_interface.mm.
References BLI_assert, BLI_assert_msg, MTL_DATATYPE_BOOL, MTL_DATATYPE_BOOL2, MTL_DATATYPE_BOOL3, MTL_DATATYPE_BOOL4, MTL_DATATYPE_CHAR, MTL_DATATYPE_CHAR2, MTL_DATATYPE_CHAR3, MTL_DATATYPE_CHAR4, MTL_DATATYPE_FLOAT, MTL_DATATYPE_FLOAT2, MTL_DATATYPE_FLOAT2x2, MTL_DATATYPE_FLOAT2x3, MTL_DATATYPE_FLOAT2x4, MTL_DATATYPE_FLOAT3, MTL_DATATYPE_FLOAT3x2, MTL_DATATYPE_FLOAT3x3, MTL_DATATYPE_FLOAT3x4, MTL_DATATYPE_FLOAT4, MTL_DATATYPE_FLOAT4x2, MTL_DATATYPE_FLOAT4x3, MTL_DATATYPE_FLOAT4x4, MTL_DATATYPE_HALF2x2, MTL_DATATYPE_HALF2x3, MTL_DATATYPE_HALF2x4, MTL_DATATYPE_HALF3x2, MTL_DATATYPE_HALF3x3, MTL_DATATYPE_HALF3x4, MTL_DATATYPE_HALF4x2, MTL_DATATYPE_HALF4x3, MTL_DATATYPE_HALF4x4, MTL_DATATYPE_INT, MTL_DATATYPE_INT1010102_NORM, MTL_DATATYPE_INT2, MTL_DATATYPE_INT3, MTL_DATATYPE_INT4, MTL_DATATYPE_LONG, MTL_DATATYPE_LONG2, MTL_DATATYPE_LONG3, MTL_DATATYPE_LONG4, MTL_DATATYPE_SHORT, MTL_DATATYPE_SHORT2, MTL_DATATYPE_SHORT3, MTL_DATATYPE_SHORT4, MTL_DATATYPE_UCHAR, MTL_DATATYPE_UCHAR2, MTL_DATATYPE_UCHAR3, MTL_DATATYPE_UCHAR4, MTL_DATATYPE_UINT, MTL_DATATYPE_UINT1010102_NORM, MTL_DATATYPE_UINT2, MTL_DATATYPE_UINT3, MTL_DATATYPE_UINT4, MTL_DATATYPE_ULONG, MTL_DATATYPE_ULONG2, MTL_DATATYPE_ULONG3, MTL_DATATYPE_ULONG4, MTL_DATATYPE_USHORT, MTL_DATATYPE_USHORT2, MTL_DATATYPE_USHORT3, and MTL_DATATYPE_USHORT4.
Referenced by blender::gpu::MSLGeneratorInterface::bake_shader_interface().
|
static |
Definition at line 262 of file mtl_backend.mm.
|
inline |
Definition at line 605 of file mtl_texture.hh.
Referenced by blender::gpu::MTLTexture::update_sub().
|
inline |
Definition at line 586 of file mtl_texture.hh.
| bool blender::gpu::mtl_format_supports_blending | ( | MTLPixelFormat | format | ) |
Definition at line 338 of file mtl_texture_util.mm.
References blender::gpu::MTLBackend::get_capabilities(), blender::gpu::MTLCapabilities::supports_family_mac1, and blender::gpu::MTLCapabilities::supports_family_mac_catalyst1.
Referenced by blender::gpu::MTLShader::bake_pipeline_state().
| MTLLoadAction blender::gpu::mtl_load_action_from_gpu | ( | eGPULoadOp | action | ) |
Definition at line 1519 of file mtl_framebuffer.mm.
References GPU_LOADACTION_CLEAR, and GPU_LOADACTION_LOAD.
Referenced by blender::gpu::MTLFrameBuffer::bake_render_pass_descriptor().
|
inlinestatic |
Definition at line 65 of file mtl_primitive.hh.
References BLI_assert, GPU_PRIM_LINE_LOOP, GPU_PRIM_NONE, and GPU_PRIM_TRI_FAN.
Referenced by blender::gpu::MTLDrawList::append(), blender::gpu::MTLImmediate::end(), and blender::gpu::MTLDrawList::submit().
|
inlinestatic |
Utility functions
Definition at line 22 of file mtl_primitive.hh.
Referenced by blender::gpu::MTLImmediate::begin(), and blender::gpu::MTLContext::ensure_render_pipeline_state().
|
static |
Definition at line 276 of file mtl_state.mm.
References GPU_CULL_BACK, GPU_CULL_FRONT, and mtl_stencil_set_op_separate().
|
static |
Definition at line 252 of file mtl_state.mm.
References BLI_assert, blender::gpu::MTLContextGlobalShaderPipelineState::depth_stencil_state, blender::gpu::MTLContextGlobalShaderPipelineState::dirty_flags, GPU_CULL_BACK, GPU_CULL_FRONT, MTL_PIPELINE_STATE_DEPTHSTENCIL_FLAG, blender::gpu::MTLContextDepthStencilState::stencil_op_back_depth_fail, blender::gpu::MTLContextDepthStencilState::stencil_op_back_depthstencil_pass, blender::gpu::MTLContextDepthStencilState::stencil_op_back_stencil_fail, blender::gpu::MTLContextDepthStencilState::stencil_op_front_depth_fail, blender::gpu::MTLContextDepthStencilState::stencil_op_front_depthstencil_pass, and blender::gpu::MTLContextDepthStencilState::stencil_op_front_stencil_fail.
Referenced by mtl_stencil_set_op().
| MTLStoreAction blender::gpu::mtl_store_action_from_gpu | ( | eGPUStoreOp | action | ) |
Definition at line 1526 of file mtl_framebuffer.mm.
References GPU_STOREACTION_STORE.
Referenced by blender::gpu::MTLFrameBuffer::bake_render_pass_descriptor().
|
inline |
Definition at line 637 of file mtl_texture.hh.
References GPU_TEXTURE_USAGE_ATOMIC, GPU_TEXTURE_USAGE_ATTACHMENT, GPU_TEXTURE_USAGE_FORMAT_VIEW, GPU_TEXTURE_USAGE_GENERAL, GPU_TEXTURE_USAGE_HOST_READ, GPU_TEXTURE_USAGE_SHADER_READ, and GPU_TEXTURE_USAGE_SHADER_WRITE.
|
inlinestatic |
Definition at line 79 of file mtl_primitive.hh.
References BLI_assert.
Referenced by blender::gpu::MTLImmediate::end().
|
inline |
Definition at line 516 of file mtl_shader.hh.
Referenced by blender::gpu::MTLImmediate::end(), and mtl_convert_vertex_format().
|
static |
Add string to name buffer. Utility function to be used in bake_shader_interface. Returns the offset of the inserted name.
Definition at line 3685 of file mtl_shader_generator.mm.
References BLI_assert, max_ii(), and MEM_reallocN.
Referenced by blender::gpu::MSLGeneratorInterface::bake_shader_interface().
|
static |
Definition at line 108 of file vk_immediate.cc.
References DEFAULT_INTERNAL_BUFFER_SIZE, and max_ulul().
|
inline |
Definition at line 851 of file mtl_shader_generator.hh.
Referenced by extract_shared_memory_blocks().
|
inline |
Definition at line 861 of file mtl_shader_generator.hh.
Referenced by extract_shared_memory_blocks().
Definition at line 62 of file gpu_state_private.hh.
References b.
|
inline |
Definition at line 111 of file gpu_state_private.hh.
References b.
Definition at line 57 of file gpu_state_private.hh.
References b.
|
inline |
Definition at line 106 of file gpu_state_private.hh.
References b.
| BLI_INLINE bool blender::gpu::operator== | ( | const VKContext & | a, |
| const VKContext & | b ) |
Definition at line 118 of file vk_context.hh.
References b.
Definition at line 67 of file gpu_state_private.hh.
References b, and blender::gpu::GPUState::data.
|
inline |
Definition at line 116 of file gpu_state_private.hh.
References ARRAY_SIZE, b, and blender::gpu::GPUStateMutable::data.
Definition at line 74 of file gpu_state_private.hh.
References blender::gpu::GPUState::data.
|
inline |
Definition at line 125 of file gpu_state_private.hh.
References ARRAY_SIZE, and blender::gpu::GPUStateMutable::data.
|
static |
Definition at line 2502 of file mtl_shader_generator.mm.
Referenced by blender::gpu::MSLGeneratorInterface::generate_msl_compute_inputs_string(), blender::gpu::MSLGeneratorInterface::generate_msl_fragment_inputs_string(), blender::gpu::MSLGeneratorInterface::generate_msl_textures_input_string(), blender::gpu::MSLGeneratorInterface::generate_msl_uniforms_input_string(), and blender::gpu::MSLGeneratorInterface::generate_msl_vertex_inputs_string().
|
static |
Definition at line 293 of file mtl_index_buffer.mm.
References T.
Referenced by blender::gpu::MTLIndexBuf::get_index_buffer().
|
static |
Definition at line 236 of file mtl_index_buffer.mm.
References T.
Referenced by blender::gpu::MTLIndexBuf::get_index_buffer().
|
static |
Populates values with the given SpecializationStateDescriptor values.
Definition at line 820 of file mtl_shader.mm.
References BLI_assert_msg, blender::Vector< T, InlineBufferCapacity, Allocator >::index_range(), MTL_SHADER_SPECIALIZATION_CONSTANT_BASE_ID, blender::gpu::Shader::Constants::types, and blender::gpu::SpecializationStateDescriptor::values.
Referenced by blender::gpu::MTLShader::bake_compute_pipeline_state(), and blender::gpu::MTLShader::bake_pipeline_state().
| void blender::gpu::present | ( | MTLRenderPassDescriptor * | blit_descriptor, |
| id< MTLRenderPipelineState > | blit_pso, | ||
| id< MTLTexture > | swapchain_texture, | ||
| id< CAMetalDrawable > | drawable ) |
Definition at line 2672 of file mtl_context.mm.
References blender::gpu::MTLContext::avg_drawable_latency_us, BLI_assert, BLI_time_sleep_ms(), blender::gpu::MTLSafeFreeList::decrement_reference(), error(), blender::gpu::MTLContext::flush(), G, G_DEBUG_GPU, blender::gpu::MTLContext::get(), blender::gpu::MTLBufferPool::get_current_safe_list(), blender::gpu::MTLContext::get_global_memory_manager(), blender::gpu::MTLSafeFreeList::increment_reference(), blender::gpu::MTLContext::latency_resolve_average(), blender::gpu::MTLContext::max_drawables_in_flight, min_ii(), MTL_LOG_INFO, MTL_MAX_DRAWABLES, blender::gpu::MTLCommandBufferManager::num_active_cmd_bufs, and blender::gpu::MTLContext::queue.
Referenced by blender::gpu::MTLContext::MTLContext().
|
static |
Definition at line 206 of file vk_shader.cc.
Referenced by print_resource(), and print_resource().
|
static |
Definition at line 452 of file vk_shader.cc.
References blender::gpu::shader::StageInterfaceInfo::instance_name, blender::StringRefBase::is_empty(), print_interface_as_attributes(), and print_interface_as_struct().
Referenced by blender::gpu::GLShader::fragment_interface_declare(), blender::gpu::VKShader::fragment_interface_declare(), blender::gpu::GLShader::geometry_interface_declare(), blender::gpu::VKShader::geometry_layout_declare(), blender::gpu::GLShader::vertex_interface_declare(), and blender::gpu::VKShader::vertex_interface_declare().
|
static |
Definition at line 418 of file vk_shader.cc.
References get_location_count(), blender::gpu::shader::StageInterfaceInfo::inouts, and to_string().
Referenced by print_interface().
|
static |
Definition at line 430 of file vk_shader.cc.
References get_location_count(), blender::gpu::shader::StageInterfaceInfo::inouts, blender::gpu::shader::StageInterfaceInfo::instance_name, blender::gpu::shader::StageInterfaceInfo::name, and to_string().
Referenced by print_interface().
|
static |
Definition at line 335 of file vk_shader.cc.
Referenced by print_resource(), and print_resource().
|
static |
Definition at line 710 of file mtl_shader_generator.mm.
References blender::gpu::shader::ShaderCreateInfo::Resource::bind_type, blender::gpu::shader::ShaderCreateInfo::Resource::storagebuf, blender::gpu::shader::ShaderCreateInfo::Resource::uniformbuf, and blender::gpu::shader::WRITE.
Referenced by blender::gpu::GLShader::fragment_interface_declare(), blender::gpu::VKShader::fragment_interface_declare(), print_resource(), blender::gpu::GLShader::resources_declare(), blender::gpu::MTLShader::resources_declare(), and blender::gpu::VKShader::resources_declare().
|
static |
Definition at line 349 of file vk_shader.cc.
References blender::gpu::shader::ShaderCreateInfo::Resource::bind_type, blender::gpu::shader::ShaderCreateInfo::Image::format, blender::gpu::shader::ShaderCreateInfo::Resource::image, blender::gpu::shader::ShaderCreateInfo::Image::name, blender::gpu::shader::ShaderCreateInfo::Sampler::name, print_image_type(), print_qualifier(), blender::gpu::shader::ShaderCreateInfo::Image::qualifiers, blender::gpu::shader::ShaderCreateInfo::Resource::sampler, blender::gpu::shader::ShaderCreateInfo::Resource::storagebuf, to_string(), blender::gpu::shader::ShaderCreateInfo::Image::type, blender::gpu::shader::ShaderCreateInfo::Sampler::type, and blender::gpu::shader::ShaderCreateInfo::Resource::uniformbuf.
|
static |
Definition at line 399 of file vk_shader.cc.
References blender::gpu::VKShaderInterface::descriptor_set_location(), and print_resource().
| void blender::gpu::printf_begin | ( | Context * | ctx | ) |
Definition at line 331 of file gpu_shader_log.cc.
References BLI_assert, blender::gpu::shader::gpu_shader_dependency_has_printf(), GPU_SHADER_PRINTF_MAX_CAPACITY, GPU_storagebuf_clear_to_zero(), GPU_storagebuf_create, and blender::gpu::Context::printf_buf.
Referenced by GPU_context_active_set(), GPU_render_begin(), GPU_render_end(), and GPU_render_step().
| void blender::gpu::printf_end | ( | Context * | ctx | ) |
Definition at line 344 of file gpu_shader_log.cc.
References BLI_assert_unreachable, data, blender::gpu::shader::PrintfFormat::Block::FLOAT, blender::gpu::shader::gpu_shader_dependency_get_printf_format(), GPU_SHADER_PRINTF_MAX_CAPACITY, GPU_storagebuf_free(), GPU_storagebuf_read(), blender::gpu::shader::PrintfFormat::Block::INT, blender::gpu::shader::PrintfFormat::Block::NONE, printf, blender::gpu::Context::printf_buf, and blender::gpu::shader::PrintfFormat::Block::UINT.
Referenced by GPU_context_active_set(), GPU_context_discard(), GPU_render_begin(), GPU_render_end(), and GPU_render_step().
|
static |
Definition at line 62 of file vk_shader_compiler.cc.
References BLI_exists(), BLI_file_touch(), blender::gpu::VKShaderModule::build_sources_hash(), cache_dir_get(), blender::Vector< T, InlineBufferCapacity, Allocator >::data(), G, G_DEBUG_GPU_RENDERDOC, blender::Vector< T, InlineBufferCapacity, Allocator >::resize(), SEP_STR, blender::gpu::VKShaderModule::sources_hash, blender::gpu::VKShaderModule::spirv_binary, and blender::gpu::SPIRVSidecar::spirv_size.
Referenced by compile_ex().
| void blender::gpu::release_shared_parallel_shader_compiler | ( | ) |
Definition at line 1847 of file mtl_shader.mm.
References blender::gpu::MTLParallelShaderCompiler::decrement_ref_count(), g_shared_parallel_shader_compiler, g_shared_parallel_shader_compiler_mutex, blender::gpu::MTLParallelShaderCompiler::get_ref_count(), and lock.
Referenced by blender::gpu::MTLShaderCompiler::release_parallel_shader_compiler().
|
static |
Definition at line 135 of file mtl_shader_generator.mm.
References str.
|
static |
Referenced by extract_ssbo_pragma_info().
|
static |
Definition at line 161 of file mtl_shader_generator.mm.
References str.
|
static |
Definition at line 394 of file mtl_shader_generator.mm.
References backwards_program_word_scan(), clear(), and str.
|
static |
Definition at line 338 of file mtl_shader_generator.mm.
References ARRAY_SET_ITEMS, and str.
|
static |
Replace function parameter patterns containing: out vec3 somevar with THD vec3&somevar. which enables pass by reference via resolved macro: thread vec3& somevar.
Definition at line 276 of file mtl_shader_generator.mm.
References clear(), is_program_word(), and str.
|
static |
Reserve space for the given type and array size.
This function doesn't handle alignment this needs to be done up front by calling 'align<Layout>' function. Caller is responsible for this.
'type': The type that needs to be reserved. 'array_size': The array_size that needs to be reserved. (0=no array). 'r_offset': When calling needs to be pointing to the aligned location where to reserve space. After the call it will point to the byte just after reserved space.
Definition at line 102 of file vk_memory_layout.hh.
References array_stride(), element_stride(), and size().
Referenced by def_attr(), init_constant(), and struct_size().
|
static |
Definition at line 546 of file vk_data_conversion.cc.
References CASE_PAIR, FLOAT, HALF, PASS_THROUGH, and UNSUPPORTED.
Referenced by convert_device_to_host().
|
static |
Definition at line 276 of file vk_framebuffer.cc.
References GPULoadStore::clear_value, copy_v4_v4(), GPULoadStore::load_action, GPULoadStore::store_action, to_vk_attachment_load_op(), and to_vk_attachment_store_op().
Referenced by blender::gpu::VKFrameBuffer::rendering_ensure().
|
static |
Definition at line 256 of file vk_shader_interface.cc.
|
static |
Definition at line 30 of file gpu_shader_interface.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::as_mutable_span(), blender::MutableSpan< T >::copy_from(), blender::MutableSpan< T >::data(), blender::MutableSpan< T >::is_empty(), blender::gpu::ShaderInput::name_hash, and blender::MutableSpan< T >::size().
Referenced by blender::gpu::ShaderInterface::sort_inputs().
Definition at line 139 of file gl_shader_interface.cc.
Referenced by blender::gpu::GLShaderInterface::GLShaderInterface().
| uint32_t blender::gpu::struct_size | ( | Span< shader::ShaderCreateInfo::PushConst > | push_constants | ) |
Definition at line 40 of file vk_push_constants.cc.
References align(), align_end_of_struct(), push_constant(), and reserve().
Referenced by blender::gpu::VKPushConstants::Layout::determine_storage_type().
| bool blender::gpu::supports_barycentric_whitelist | ( | id< MTLDevice > | device | ) |
Definition at line 267 of file mtl_backend.mm.
References BLI_assert.
Referenced by blender::gpu::MTLBackend::metal_is_supported().
|
inline |
Definition at line 338 of file gl_texture.hh.
Referenced by blender::gpu::GLTexture::swizzle_set().
|
static |
Definition at line 1487 of file mtl_texture.mm.
Referenced by blender::gpu::MTLTexture::swizzle_set().
| blender::gpu::TEST | ( | std140 | , |
| _2fl | ) |
Definition at line 34 of file vk_memory_layout_test.cc.
References align_end_of_struct(), def_attr(), EXPECT_EQ(), and blender::gpu::shader::FLOAT.
| blender::gpu::TEST | ( | std140 | , |
| _3fl | ) |
Definition at line 45 of file vk_memory_layout_test.cc.
References align_end_of_struct(), def_attr(), EXPECT_EQ(), and blender::gpu::shader::FLOAT.
| blender::gpu::TEST | ( | std140 | , |
| _4fl | ) |
Definition at line 57 of file vk_memory_layout_test.cc.
References align_end_of_struct(), def_attr(), EXPECT_EQ(), and blender::gpu::shader::FLOAT.
| blender::gpu::TEST | ( | std140 | , |
| fl | ) |
Definition at line 24 of file vk_memory_layout_test.cc.
References align_end_of_struct(), def_attr(), EXPECT_EQ(), and blender::gpu::shader::FLOAT.
| blender::gpu::TEST | ( | std140 | , |
| fl2 | ) |
Definition at line 70 of file vk_memory_layout_test.cc.
References align_end_of_struct(), def_attr(), EXPECT_EQ(), and blender::gpu::shader::FLOAT.
| blender::gpu::TEST | ( | std140 | , |
| fl_fl2 | ) |
Definition at line 80 of file vk_memory_layout_test.cc.
References align_end_of_struct(), def_attr(), EXPECT_EQ(), and blender::gpu::shader::FLOAT.
| blender::gpu::TEST | ( | std140 | , |
| fl_vec2 | ) |
Definition at line 91 of file vk_memory_layout_test.cc.
References align_end_of_struct(), def_attr(), EXPECT_EQ(), blender::gpu::shader::FLOAT, and blender::gpu::shader::VEC2.
| blender::gpu::TEST | ( | std140 | , |
| gpu_shader_2D_widget_base | ) |
Definition at line 102 of file vk_memory_layout_test.cc.
References align_end_of_struct(), blender::gpu::shader::BOOL, def_attr(), EXPECT_EQ(), blender::gpu::shader::MAT4, blender::gpu::shader::VEC3, and blender::gpu::shader::VEC4.
| blender::gpu::TEST | ( | std430 | , |
| overlay_grid | ) |
Definition at line 115 of file vk_memory_layout_test.cc.
References align_end_of_struct(), def_attr(), EXPECT_EQ(), blender::gpu::shader::INT, and blender::gpu::shader::VEC3.
| blender::gpu::TEST | ( | std430 | , |
| simple_lighting | ) |
Definition at line 126 of file vk_memory_layout_test.cc.
References align_end_of_struct(), def_attr(), EXPECT_EQ(), blender::gpu::shader::MAT3, and blender::gpu::shader::MAT4.
|
inline |
Definition at line 533 of file mtl_texture.hh.
References BLI_assert, GPU_DATA_10_11_11_REV, GPU_DATA_2_10_10_10_REV, GPU_DATA_FLOAT, GPU_DATA_HALF_FLOAT, GPU_DATA_INT, GPU_DATA_UBYTE, GPU_DATA_UINT, and GPU_DATA_UINT_24_8.
Referenced by blender::gpu::MTLTexture::clear(), and blender::gpu::MTLTexture::update_sub().
|
inline |
Definition at line 507 of file mtl_texture.hh.
References BLI_assert, GPU_DATA_10_11_11_REV, GPU_DATA_2_10_10_10_REV, GPU_DATA_FLOAT, GPU_DATA_HALF_FLOAT, GPU_DATA_INT, GPU_DATA_UBYTE, GPU_DATA_UINT, and GPU_DATA_UINT_24_8.
Referenced by blender::gpu::MTLTexture::clear(), and blender::gpu::MTLTexture::update_sub().
|
static |
Definition at line 129 of file vk_vertex_attribute_object.cc.
References blender::ceil_division().
|
static |
Definition at line 135 of file vk_vertex_attribute_object.cc.
References blender::gpu::shader::BOOL, blender::gpu::shader::CHAR, blender::gpu::shader::CHAR2, blender::gpu::shader::CHAR3, blender::gpu::shader::CHAR4, blender::gpu::shader::FLOAT, blender::gpu::shader::INT, blender::gpu::shader::IVEC2, blender::gpu::shader::IVEC3, blender::gpu::shader::IVEC4, blender::gpu::shader::MAT3, blender::gpu::shader::MAT4, blender::gpu::shader::SHORT, blender::gpu::shader::SHORT2, blender::gpu::shader::SHORT3, blender::gpu::shader::SHORT4, blender::gpu::shader::UCHAR, blender::gpu::shader::UCHAR2, blender::gpu::shader::UCHAR3, blender::gpu::shader::UCHAR4, blender::gpu::shader::UINT, blender::gpu::shader::USHORT, blender::gpu::shader::USHORT2, blender::gpu::shader::USHORT3, blender::gpu::shader::USHORT4, blender::gpu::shader::UVEC2, blender::gpu::shader::UVEC3, blender::gpu::shader::UVEC4, blender::gpu::shader::VEC2, blender::gpu::shader::VEC3, blender::gpu::shader::VEC3_101010I2, and blender::gpu::shader::VEC4.
|
inline |
Definition at line 483 of file gpu_texture_private.hh.
References BLI_assert_msg, GPU_RGBA8_DXT1, GPU_RGBA8_DXT3, GPU_RGBA8_DXT5, GPU_SRGB8_A8_DXT1, GPU_SRGB8_A8_DXT3, and GPU_SRGB8_A8_DXT5.
Referenced by GPU_texture_create_compressed_2d(), blender::gpu::GLTexture::update_sub(), blender::gpu::MTLTexture::update_sub(), and blender::gpu::VKTexture::update_sub().
|
inline |
Definition at line 734 of file gpu_texture_private.hh.
References BLI_assert_unreachable, GPU_DATA_10_11_11_REV, GPU_DATA_2_10_10_10_REV, GPU_DATA_FLOAT, GPU_DATA_HALF_FLOAT, GPU_DATA_INT, GPU_DATA_UBYTE, GPU_DATA_UINT, and GPU_DATA_UINT_24_8.
|
inline |
Definition at line 368 of file gpu_texture_private.hh.
References BLI_assert_unreachable, GPU_DEPTH24_STENCIL8, GPU_DEPTH32F_STENCIL8, GPU_DEPTH_COMPONENT16, GPU_DEPTH_COMPONENT24, GPU_DEPTH_COMPONENT32F, GPU_R11F_G11F_B10F, GPU_R16, GPU_R16_SNORM, GPU_R16F, GPU_R16I, GPU_R16UI, GPU_R32F, GPU_R32I, GPU_R32UI, GPU_R8, GPU_R8_SNORM, GPU_R8I, GPU_R8UI, GPU_RG16, GPU_RG16_SNORM, GPU_RG16F, GPU_RG16I, GPU_RG16UI, GPU_RG32F, GPU_RG32I, GPU_RG32UI, GPU_RG8, GPU_RG8_SNORM, GPU_RG8I, GPU_RG8UI, GPU_RGB10_A2, GPU_RGB10_A2UI, GPU_RGB16, GPU_RGB16_SNORM, GPU_RGB16F, GPU_RGB16I, GPU_RGB16UI, GPU_RGB32F, GPU_RGB32I, GPU_RGB32UI, GPU_RGB8, GPU_RGB8_SNORM, GPU_RGB8I, GPU_RGB8UI, GPU_RGB9_E5, GPU_RGBA16, GPU_RGBA16_SNORM, GPU_RGBA16F, GPU_RGBA16I, GPU_RGBA16UI, GPU_RGBA32F, GPU_RGBA32I, GPU_RGBA32UI, GPU_RGBA8, GPU_RGBA8_DXT1, GPU_RGBA8_DXT3, GPU_RGBA8_DXT5, GPU_RGBA8_SNORM, GPU_RGBA8I, GPU_RGBA8UI, GPU_SRGB8, GPU_SRGB8_A8, GPU_SRGB8_A8_DXT1, GPU_SRGB8_A8_DXT3, and GPU_SRGB8_A8_DXT5.
|
inline |
Definition at line 754 of file gpu_texture_private.hh.
References GPU_DATA_10_11_11_REV, GPU_DATA_2_10_10_10_REV, GPU_R11F_G11F_B10F, GPU_RGB10_A2, GPU_RGB10_A2UI, to_bytesize(), and to_component_len().
|
inline |
Definition at line 29 of file GPU_index_buffer.hh.
References GPU_INDEX_U32.
Referenced by blender::gpu::MTLTexture::clear(), convert_buffer(), blender::gpu::FrameBuffer::get_bits_per_pixel(), GPU_texture_dataformat_size(), blender::gpu::GLTexture::read(), blender::gpu::MTLFrameBuffer::read(), blender::gpu::MTLTexture::read(), blender::gpu::VKTexture::read(), blender::gpu::VKTexture::read_sub(), blender::gpu::IndexBuf::size_get(), blender::gpu::tests::texture_create_upload_read(), to_bytesize(), blender::gpu::MTLTexture::update_sub(), blender::gpu::MTLTexture::update_sub(), and blender::gpu::VKTexture::update_sub().
|
inline |
Definition at line 636 of file gpu_texture_private.hh.
References BLI_assert_unreachable, GPU_DEPTH24_STENCIL8, GPU_DEPTH32F_STENCIL8, GPU_DEPTH_COMPONENT16, GPU_DEPTH_COMPONENT24, GPU_DEPTH_COMPONENT32F, GPU_R11F_G11F_B10F, GPU_R16, GPU_R16_SNORM, GPU_R16F, GPU_R16I, GPU_R16UI, GPU_R32F, GPU_R32I, GPU_R32UI, GPU_R8, GPU_R8_SNORM, GPU_R8I, GPU_R8UI, GPU_RG16, GPU_RG16_SNORM, GPU_RG16F, GPU_RG16I, GPU_RG16UI, GPU_RG32F, GPU_RG32I, GPU_RG32UI, GPU_RG8, GPU_RG8_SNORM, GPU_RG8I, GPU_RG8UI, GPU_RGB10_A2, GPU_RGB10_A2UI, GPU_RGB16, GPU_RGB16_SNORM, GPU_RGB16F, GPU_RGB16I, GPU_RGB16UI, GPU_RGB32F, GPU_RGB32I, GPU_RGB32UI, GPU_RGB8, GPU_RGB8_SNORM, GPU_RGB8I, GPU_RGB8UI, GPU_RGB9_E5, GPU_RGBA16, GPU_RGBA16_SNORM, GPU_RGBA16F, GPU_RGBA16I, GPU_RGBA16UI, GPU_RGBA32F, GPU_RGBA32I, GPU_RGBA32UI, GPU_RGBA8, GPU_RGBA8_DXT1, GPU_RGBA8_DXT3, GPU_RGBA8_DXT5, GPU_RGBA8_SNORM, GPU_RGBA8I, GPU_RGBA8UI, GPU_SRGB8, GPU_SRGB8_A8, GPU_SRGB8_A8_DXT1, GPU_SRGB8_A8_DXT3, and GPU_SRGB8_A8_DXT5.
Referenced by blender::gpu::MTLTexture::clear(), convert_buffer(), convert_per_component(), blender::gpu::FrameBuffer::get_bits_per_pixel(), GPU_texture_component_len(), blender::gpu::MTLTexture::read(), blender::gpu::tests::texture_create_upload_read(), blender::gpu::tests::texture_create_upload_read_with_bias(), to_bytesize(), blender::gpu::MTLTexture::update_sub(), and blender::gpu::MTLTexture::update_sub().
Definition at line 866 of file vk_shader.cc.
References BLI_assert_unreachable.
Referenced by blender::gpu::GLShader::fragment_interface_declare(), and blender::gpu::VKShader::fragment_interface_declare().
|
inline |
Definition at line 890 of file gpu_texture_private.hh.
References ATTR_FALLTHROUGH, BLI_assert_unreachable, GPU_DATA_10_11_11_REV, GPU_DATA_2_10_10_10_REV, GPU_DATA_FLOAT, GPU_DATA_INT, GPU_DATA_UINT, GPU_DATA_UINT_24_8, GPU_DEPTH24_STENCIL8, GPU_DEPTH32F_STENCIL8, GPU_DEPTH_COMPONENT16, GPU_DEPTH_COMPONENT24, GPU_DEPTH_COMPONENT32F, GPU_R11F_G11F_B10F, GPU_R16, GPU_R16_SNORM, GPU_R16F, GPU_R16I, GPU_R16UI, GPU_R32F, GPU_R32I, GPU_R32UI, GPU_R8, GPU_R8_SNORM, GPU_R8I, GPU_R8UI, GPU_RG16, GPU_RG16_SNORM, GPU_RG16F, GPU_RG16I, GPU_RG16UI, GPU_RG32F, GPU_RG32I, GPU_RG32UI, GPU_RG8, GPU_RG8_SNORM, GPU_RG8I, GPU_RG8UI, GPU_RGB10_A2, GPU_RGB10_A2UI, GPU_RGB16, GPU_RGB16_SNORM, GPU_RGB16F, GPU_RGB16I, GPU_RGB16UI, GPU_RGB32F, GPU_RGB32I, GPU_RGB32UI, GPU_RGB8, GPU_RGB8_SNORM, GPU_RGB8I, GPU_RGB8UI, GPU_RGB9_E5, GPU_RGBA16, GPU_RGBA16_SNORM, GPU_RGBA16F, GPU_RGBA16I, GPU_RGBA16UI, GPU_RGBA32F, GPU_RGBA32I, GPU_RGBA32UI, GPU_RGBA8, GPU_RGBA8_DXT1, GPU_RGBA8_DXT3, GPU_RGBA8_DXT5, GPU_RGBA8_SNORM, GPU_RGBA8I, GPU_RGBA8UI, GPU_SRGB8, GPU_SRGB8_A8, GPU_SRGB8_A8_DXT1, GPU_SRGB8_A8_DXT3, and GPU_SRGB8_A8_DXT5.
Referenced by GPU_texture_create_compressed_2d().
|
inline |
Definition at line 500 of file gpu_texture_private.hh.
References BLI_assert_unreachable, GPU_DEPTH24_STENCIL8, GPU_DEPTH32F_STENCIL8, GPU_DEPTH_COMPONENT16, GPU_DEPTH_COMPONENT24, GPU_DEPTH_COMPONENT32F, GPU_FORMAT_COMPRESSED, GPU_FORMAT_DEPTH, GPU_FORMAT_DEPTH_STENCIL, GPU_FORMAT_FLOAT, GPU_FORMAT_INTEGER, GPU_FORMAT_NORMALIZED_INTEGER, GPU_FORMAT_SIGNED, GPU_FORMAT_SRGB, GPU_R11F_G11F_B10F, GPU_R16, GPU_R16_SNORM, GPU_R16F, GPU_R16I, GPU_R16UI, GPU_R32F, GPU_R32I, GPU_R32UI, GPU_R8, GPU_R8_SNORM, GPU_R8I, GPU_R8UI, GPU_RG16, GPU_RG16_SNORM, GPU_RG16F, GPU_RG16I, GPU_RG16UI, GPU_RG32F, GPU_RG32I, GPU_RG32UI, GPU_RG8, GPU_RG8_SNORM, GPU_RG8I, GPU_RG8UI, GPU_RGB10_A2, GPU_RGB10_A2UI, GPU_RGB16, GPU_RGB16_SNORM, GPU_RGB16F, GPU_RGB16I, GPU_RGB16UI, GPU_RGB32F, GPU_RGB32I, GPU_RGB32UI, GPU_RGB8, GPU_RGB8_SNORM, GPU_RGB8I, GPU_RGB8UI, GPU_RGB9_E5, GPU_RGBA16, GPU_RGBA16_SNORM, GPU_RGBA16F, GPU_RGBA16I, GPU_RGBA16UI, GPU_RGBA32F, GPU_RGBA32I, GPU_RGBA32UI, GPU_RGBA8, GPU_RGBA8_DXT1, GPU_RGBA8_DXT3, GPU_RGBA8_DXT5, GPU_RGBA8_SNORM, GPU_RGBA8I, GPU_RGBA8UI, GPU_SRGB8, GPU_SRGB8_A8, GPU_SRGB8_A8_DXT1, GPU_SRGB8_A8_DXT3, and GPU_SRGB8_A8_DXT5.
Referenced by blender::gpu::Texture::init_1D(), blender::gpu::Texture::init_2D(), blender::gpu::Texture::init_3D(), blender::gpu::Texture::init_buffer(), blender::gpu::Texture::init_cubemap(), and blender::gpu::Texture::init_view().
|
inline |
Definition at line 995 of file gpu_texture_private.hh.
References BLI_assert_msg, BLI_assert_unreachable, GPU_COLOR_BIT, GPU_DEPTH24_STENCIL8, GPU_DEPTH32F_STENCIL8, GPU_DEPTH_BIT, GPU_DEPTH_COMPONENT16, GPU_DEPTH_COMPONENT24, GPU_DEPTH_COMPONENT32F, GPU_R11F_G11F_B10F, GPU_R16, GPU_R16_SNORM, GPU_R16F, GPU_R16I, GPU_R16UI, GPU_R32F, GPU_R32I, GPU_R32UI, GPU_R8, GPU_R8_SNORM, GPU_R8I, GPU_R8UI, GPU_RG16, GPU_RG16_SNORM, GPU_RG16F, GPU_RG16I, GPU_RG16UI, GPU_RG32F, GPU_RG32I, GPU_RG32UI, GPU_RG8, GPU_RG8_SNORM, GPU_RG8I, GPU_RG8UI, GPU_RGB10_A2, GPU_RGB10_A2UI, GPU_RGB16, GPU_RGB16_SNORM, GPU_RGB16F, GPU_RGB16I, GPU_RGB16UI, GPU_RGB32F, GPU_RGB32I, GPU_RGB32UI, GPU_RGB8, GPU_RGB8_SNORM, GPU_RGB8I, GPU_RGB8UI, GPU_RGB9_E5, GPU_RGBA16, GPU_RGBA16_SNORM, GPU_RGBA16F, GPU_RGBA16I, GPU_RGBA16UI, GPU_RGBA32F, GPU_RGBA32I, GPU_RGBA32UI, GPU_RGBA8, GPU_RGBA8_DXT1, GPU_RGBA8_DXT3, GPU_RGBA8_DXT5, GPU_RGBA8_SNORM, GPU_RGBA8I, GPU_RGBA8UI, GPU_SRGB8, GPU_SRGB8_A8, GPU_SRGB8_A8_DXT1, GPU_SRGB8_A8_DXT3, GPU_SRGB8_A8_DXT5, and GPU_STENCIL_BIT.
|
inlinestatic |
Definition at line 146 of file gl_framebuffer.hh.
References GPU_COLOR_BIT, GPU_DEPTH_BIT, GPU_STENCIL_BIT, and mask().
|
inlinestatic |
Definition at line 120 of file gl_framebuffer.hh.
References ATTACHMENT, and BLI_assert.
Referenced by blender::gpu::GLVertBuf::bind(), blender::gpu::GLFrameBuffer::blit_to(), blender::gpu::GLFrameBuffer::clear(), blender::gpu::GLTexture::clear(), blender::gpu::GLUniformBuf::clear_to_zero(), blender::gpu::GLBatch::draw(), blender::gpu::GLBatch::draw_indirect(), blender::gpu::GLVertBuf::duplicate_data(), blender::gpu::GLImmediate::end(), blender::gpu::GLQueryPool::init(), blender::gpu::GLStateManager::issue_barrier(), blender::gpu::GLBatch::multi_draw_indirect(), blender::gpu::GLFrameBuffer::read(), blender::gpu::GLTexture::read(), blender::gpu::GLTexture::samplers_init(), blender::gpu::GLDrawList::submit(), blender::gpu::GLFrameBuffer::subpass_transition_impl(), blender::gpu::GLVertArray::update_bindings(), blender::gpu::GLTexture::update_sub(), blender::gpu::GLTexture::update_sub(), and vbo_bind().
|
inlinestatic |
Definition at line 123 of file gl_state.hh.
References GPU_BARRIER_BUFFER_UPDATE, GPU_BARRIER_COMMAND, GPU_BARRIER_ELEMENT_ARRAY, GPU_BARRIER_FRAMEBUFFER, GPU_BARRIER_SHADER_IMAGE_ACCESS, GPU_BARRIER_SHADER_STORAGE, GPU_BARRIER_TEXTURE_FETCH, GPU_BARRIER_TEXTURE_UPDATE, GPU_BARRIER_UNIFORM, and GPU_BARRIER_VERTEX_ATTRIB_ARRAY.
|
inline |
Definition at line 361 of file gl_texture.hh.
References BLI_assert_msg, GPU_DATA_10_11_11_REV, GPU_DATA_2_10_10_10_REV, GPU_DATA_FLOAT, GPU_DATA_HALF_FLOAT, GPU_DATA_INT, GPU_DATA_UBYTE, GPU_DATA_UINT, and GPU_DATA_UINT_24_8.
|
inlinestatic |
Definition at line 63 of file gl_index_buffer.hh.
References GPU_INDEX_U32.
|
inlinestatic |
Definition at line 19 of file gl_primitive.hh.
References BLI_assert, GPU_PRIM_LINE_LOOP, GPU_PRIM_LINE_STRIP, GPU_PRIM_LINE_STRIP_ADJ, GPU_PRIM_LINES, GPU_PRIM_LINES_ADJ, GPU_PRIM_NONE, GPU_PRIM_POINTS, GPU_PRIM_TRI_FAN, GPU_PRIM_TRI_STRIP, GPU_PRIM_TRIS, and GPU_PRIM_TRIS_ADJ.
|
inlinestatic |
Definition at line 44 of file gl_query.hh.
References BLI_assert, and GPU_QUERY_OCCLUSION.
|
inlinestatic |
A function that maps GPUSamplerExtendMode values to their OpenGL enum counterparts.
Definition at line 479 of file gl_texture.cc.
References BLI_assert_unreachable, GPU_SAMPLER_EXTEND_MODE_CLAMP_TO_BORDER, GPU_SAMPLER_EXTEND_MODE_EXTEND, GPU_SAMPLER_EXTEND_MODE_MIRRORED_REPEAT, and GPU_SAMPLER_EXTEND_MODE_REPEAT.
|
inlinestatic |
Definition at line 60 of file gl_vertex_buffer.hh.
References BLI_assert, GPU_USAGE_DEVICE_ONLY, GPU_USAGE_DYNAMIC, GPU_USAGE_STATIC, and GPU_USAGE_STREAM.
|
inlinestatic |
Definition at line 76 of file gl_vertex_buffer.hh.
References BLI_assert, GPU_COMP_F32, GPU_COMP_I10, GPU_COMP_I16, GPU_COMP_I32, GPU_COMP_I8, GPU_COMP_U16, GPU_COMP_U32, and GPU_COMP_U8.
|
inline |
Definition at line 386 of file gl_texture.hh.
References BLI_assert_msg, GPU_DEPTH24_STENCIL8, GPU_DEPTH32F_STENCIL8, GPU_DEPTH_COMPONENT16, GPU_DEPTH_COMPONENT24, GPU_DEPTH_COMPONENT32F, GPU_R11F_G11F_B10F, GPU_R16, GPU_R16_SNORM, GPU_R16F, GPU_R16I, GPU_R16UI, GPU_R32F, GPU_R32I, GPU_R32UI, GPU_R8, GPU_R8_SNORM, GPU_R8I, GPU_R8UI, GPU_RG16, GPU_RG16_SNORM, GPU_RG16F, GPU_RG16I, GPU_RG16UI, GPU_RG32F, GPU_RG32I, GPU_RG32UI, GPU_RG8, GPU_RG8_SNORM, GPU_RG8I, GPU_RG8UI, GPU_RGB10_A2, GPU_RGB10_A2UI, GPU_RGB16, GPU_RGB16_SNORM, GPU_RGB16F, GPU_RGB16I, GPU_RGB16UI, GPU_RGB32F, GPU_RGB32I, GPU_RGB32UI, GPU_RGB8, GPU_RGB8_SNORM, GPU_RGB8I, GPU_RGB8UI, GPU_RGB9_E5, GPU_RGBA16, GPU_RGBA16_SNORM, GPU_RGBA16F, GPU_RGBA16I, GPU_RGBA16UI, GPU_RGBA32F, GPU_RGBA32I, GPU_RGBA32UI, GPU_RGBA8, GPU_RGBA8_DXT1, GPU_RGBA8_DXT3, GPU_RGBA8_DXT5, GPU_RGBA8_SNORM, GPU_RGBA8I, GPU_RGBA8UI, GPU_SRGB8, GPU_SRGB8_A8, GPU_SRGB8_A8_DXT1, GPU_SRGB8_A8_DXT3, and GPU_SRGB8_A8_DXT5.
Referenced by blender::gpu::GLTexture::clear(), blender::gpu::GLUniformBuf::clear_to_zero(), blender::gpu::GLTexture::read(), blender::gpu::GLTexture::update_sub(), and blender::gpu::GLTexture::update_sub().
|
inline |
Definition at line 146 of file gl_texture.hh.
References BLI_assert_msg, GPU_DEPTH24_STENCIL8, GPU_DEPTH32F_STENCIL8, GPU_DEPTH_COMPONENT16, GPU_DEPTH_COMPONENT24, GPU_DEPTH_COMPONENT32F, GPU_R11F_G11F_B10F, GPU_R16, GPU_R16_SNORM, GPU_R16F, GPU_R16I, GPU_R16UI, GPU_R32F, GPU_R32I, GPU_R32UI, GPU_R8, GPU_R8_SNORM, GPU_R8I, GPU_R8UI, GPU_RG16, GPU_RG16_SNORM, GPU_RG16F, GPU_RG16I, GPU_RG16UI, GPU_RG32F, GPU_RG32I, GPU_RG32UI, GPU_RG8, GPU_RG8_SNORM, GPU_RG8I, GPU_RG8UI, GPU_RGB10_A2, GPU_RGB10_A2UI, GPU_RGB16, GPU_RGB16_SNORM, GPU_RGB16F, GPU_RGB16I, GPU_RGB16UI, GPU_RGB32F, GPU_RGB32I, GPU_RGB32UI, GPU_RGB8, GPU_RGB8_SNORM, GPU_RGB8I, GPU_RGB8UI, GPU_RGB9_E5, GPU_RGBA16, GPU_RGBA16_SNORM, GPU_RGBA16F, GPU_RGBA16I, GPU_RGBA16UI, GPU_RGBA32F, GPU_RGBA32I, GPU_RGBA32UI, GPU_RGBA8, GPU_RGBA8_DXT1, GPU_RGBA8_DXT3, GPU_RGBA8_DXT5, GPU_RGBA8_SNORM, GPU_RGBA8I, GPU_RGBA8UI, GPU_SRGB8, GPU_SRGB8_A8, GPU_SRGB8_A8_DXT1, GPU_SRGB8_A8_DXT3, and GPU_SRGB8_A8_DXT5.
Referenced by blender::gpu::GLUniformBuf::clear_to_zero(), blender::gpu::GLStateManager::image_bind(), blender::gpu::GLTexture::init_internal(), blender::gpu::GLTexture::init_internal(), and blender::gpu::GLTexture::init_internal().
|
inline |
Definition at line 314 of file gl_texture.hh.
References BLI_assert, GPU_TEXTURE_1D, GPU_TEXTURE_1D_ARRAY, GPU_TEXTURE_2D, GPU_TEXTURE_2D_ARRAY, GPU_TEXTURE_3D, GPU_TEXTURE_BUFFER, GPU_TEXTURE_CUBE, and GPU_TEXTURE_CUBE_ARRAY.
|
inline |
Definition at line 289 of file gl_texture.hh.
References BLI_assert, GPU_TEXTURE_1D, GPU_TEXTURE_1D_ARRAY, GPU_TEXTURE_2D, GPU_TEXTURE_2D_ARRAY, GPU_TEXTURE_3D, GPU_TEXTURE_BUFFER, GPU_TEXTURE_CUBE, and GPU_TEXTURE_CUBE_ARRAY.
Referenced by blender::gpu::GLTexture::init_internal(), blender::gpu::GLTexture::init_internal(), and blender::gpu::GLTexture::init_internal().
| eGPUTextureFormat blender::gpu::to_gpu_format | ( | const VkFormat | format | ) |
Definition at line 118 of file vk_common.cc.
References BLI_assert_unreachable, GPU_RGBA32F, and GPU_RGBA8.
Referenced by blender::gpu::VKContext::sync_backbuffer().
|
inline |
Definition at line 559 of file mtl_texture.hh.
References BLI_assert_unreachable, GPU_TEXTURE_1D, GPU_TEXTURE_1D_ARRAY, GPU_TEXTURE_2D, GPU_TEXTURE_2D_ARRAY, GPU_TEXTURE_3D, GPU_TEXTURE_BUFFER, GPU_TEXTURE_CUBE, and GPU_TEXTURE_CUBE_ARRAY.
|
inlinestatic |
Definition at line 46 of file mtl_query.mm.
References BLI_assert, and GPU_QUERY_OCCLUSION.
|
inlinestatic |
A function that maps GPUSamplerExtendMode values to their Metal enum counterparts.
Definition at line 2490 of file mtl_context.mm.
References BLI_assert_unreachable, GPU_SAMPLER_EXTEND_MODE_CLAMP_TO_BORDER, GPU_SAMPLER_EXTEND_MODE_EXTEND, GPU_SAMPLER_EXTEND_MODE_MIRRORED_REPEAT, and GPU_SAMPLER_EXTEND_MODE_REPEAT.
Referenced by blender::gpu::MSLGeneratorInterface::bake_shader_interface(), blender::gpu::MTLQueryPool::init(), and blender::gpu::MTLContext::sampler_state_cache_init().
|
static |
Definition at line 59 of file mtl_shader_generator.mm.
References BLI_assert_msg, MTL_DATATYPE_BOOL, MTL_DATATYPE_CHAR, MTL_DATATYPE_CHAR2, MTL_DATATYPE_CHAR3, MTL_DATATYPE_CHAR4, MTL_DATATYPE_FLOAT, MTL_DATATYPE_FLOAT2, MTL_DATATYPE_FLOAT3, MTL_DATATYPE_FLOAT3x3, MTL_DATATYPE_FLOAT4, MTL_DATATYPE_FLOAT4x4, MTL_DATATYPE_INT, MTL_DATATYPE_INT1010102_NORM, MTL_DATATYPE_INT2, MTL_DATATYPE_INT3, MTL_DATATYPE_INT4, MTL_DATATYPE_SHORT, MTL_DATATYPE_SHORT2, MTL_DATATYPE_SHORT3, MTL_DATATYPE_SHORT4, MTL_DATATYPE_UCHAR, MTL_DATATYPE_UCHAR2, MTL_DATATYPE_UCHAR3, MTL_DATATYPE_UCHAR4, MTL_DATATYPE_UINT, MTL_DATATYPE_UINT2, MTL_DATATYPE_UINT3, MTL_DATATYPE_UINT4, MTL_DATATYPE_USHORT, MTL_DATATYPE_USHORT2, MTL_DATATYPE_USHORT3, and MTL_DATATYPE_USHORT4.
|
static |
Definition at line 18 of file vk_image_view.cc.
Referenced by blender::gpu::VKImageView::VKImageView().
|
static |
Definition at line 175 of file vk_shader_compiler.cc.
References BLI_assert_msg, and stage.
Referenced by compile_ex().
|
static |
Definition at line 192 of file vk_shader.cc.
|
static |
Definition at line 88 of file vk_shader.cc.
References GPU_R11F_G11F_B10F, GPU_R16, GPU_R16F, GPU_R16I, GPU_R16UI, GPU_R32F, GPU_R32I, GPU_R32UI, GPU_R8, GPU_R8I, GPU_R8UI, GPU_RG16, GPU_RG16F, GPU_RG16I, GPU_RG16UI, GPU_RG32F, GPU_RG32I, GPU_RG32UI, GPU_RG8, GPU_RG8I, GPU_RG8UI, GPU_RGB10_A2, GPU_RGBA16, GPU_RGBA16F, GPU_RGBA16I, GPU_RGBA16UI, GPU_RGBA32F, GPU_RGBA32I, GPU_RGBA32UI, GPU_RGBA8, GPU_RGBA8I, and GPU_RGBA8UI.
|
inline |
Definition at line 749 of file mtl_shader_generator.hh.
References BLI_assert, blender::gpu::shader::FLAT, interp(), blender::gpu::shader::NO_PERSPECTIVE, and blender::gpu::shader::SMOOTH.
|
inline |
Definition at line 730 of file mtl_shader_generator.hh.
References BLI_assert, blender::gpu::shader::LINES, blender::gpu::shader::LINES_ADJACENCY, blender::gpu::shader::POINTS, blender::gpu::shader::TRIANGLES, and blender::gpu::shader::TRIANGLES_ADJACENCY.
|
inline |
Definition at line 715 of file mtl_shader_generator.hh.
References BLI_assert, blender::gpu::shader::LINE_STRIP, blender::gpu::shader::POINTS, and blender::gpu::shader::TRIANGLE_STRIP.
|
inline |
Definition at line 778 of file mtl_shader_generator.hh.
References BLI_assert, blender::gpu::shader::BOOL, blender::gpu::shader::CHAR, blender::gpu::shader::CHAR2, blender::gpu::shader::CHAR3, blender::gpu::shader::CHAR4, blender::gpu::shader::FLOAT, blender::gpu::shader::INT, blender::gpu::shader::IVEC2, blender::gpu::shader::IVEC3, blender::gpu::shader::IVEC4, blender::gpu::shader::MAT3, blender::gpu::shader::MAT4, blender::gpu::shader::SHORT, blender::gpu::shader::SHORT2, blender::gpu::shader::SHORT3, blender::gpu::shader::SHORT4, blender::gpu::shader::UCHAR, blender::gpu::shader::UCHAR2, blender::gpu::shader::UCHAR3, blender::gpu::shader::UCHAR4, blender::gpu::shader::UINT, blender::gpu::shader::USHORT, blender::gpu::shader::USHORT2, blender::gpu::shader::USHORT3, blender::gpu::shader::USHORT4, blender::gpu::shader::UVEC2, blender::gpu::shader::UVEC3, blender::gpu::shader::UVEC4, blender::gpu::shader::VEC2, blender::gpu::shader::VEC3, blender::gpu::shader::VEC3_101010I2, and blender::gpu::shader::VEC4.
| const char * blender::gpu::to_string | ( | const VkAttachmentLoadOp | vk_attachment_load_op | ) |
Definition at line 63 of file vk_to_string.cc.
References STRINGIFY, and STRINGIFY_ARG.
| const char * blender::gpu::to_string | ( | const VkAttachmentStoreOp | vk_attachment_store_op | ) |
Definition at line 81 of file vk_to_string.cc.
References STRINGIFY, and STRINGIFY_ARG.
| std::string blender::gpu::to_string | ( | const VkBufferCopy & | vk_buffer_copy, |
| int | indentation_level ) |
Definition at line 590 of file vk_to_string.cc.
References UNUSED_VARS.
| std::string blender::gpu::to_string | ( | const VkBufferImageCopy & | vk_buffer_image_copy, |
| int | indentation_level ) |
Definition at line 601 of file vk_to_string.cc.
References to_string().
| std::string blender::gpu::to_string | ( | const VkBufferMemoryBarrier & | vk_buffer_memory_barrier, |
| int | indentation_level ) |
Definition at line 623 of file vk_to_string.cc.
References to_string(), to_string_vk_access_flags(), and UNUSED_VARS.
| std::string blender::gpu::to_string | ( | const VkClearAttachment & | vk_clear_attachment, |
| int | indentation_level ) |
Definition at line 636 of file vk_to_string.cc.
References to_string_vk_image_aspect_flags(), and UNUSED_VARS.
| std::string blender::gpu::to_string | ( | const VkClearDepthStencilValue & | vk_clear_depth_stencil_value, |
| int | indentation_level ) |
Definition at line 646 of file vk_to_string.cc.
References UNUSED_VARS.
| std::string blender::gpu::to_string | ( | const VkClearRect & | vk_clear_rect, |
| int | indentation_level ) |
Definition at line 657 of file vk_to_string.cc.
References to_string().
| std::string blender::gpu::to_string | ( | const VkExtent2D & | vk_extent2_d, |
| int | indentation_level ) |
Definition at line 670 of file vk_to_string.cc.
References UNUSED_VARS.
| std::string blender::gpu::to_string | ( | const VkExtent3D & | vk_extent3_d, |
| int | indentation_level ) |
Definition at line 680 of file vk_to_string.cc.
References UNUSED_VARS.
| const char * blender::gpu::to_string | ( | const VkFilter | vk_filter | ) |
Definition at line 100 of file vk_to_string.cc.
References STRINGIFY, and STRINGIFY_ARG.
| std::string blender::gpu::to_string | ( | const VkImageBlit & | vk_image_blit, |
| int | indentation_level ) |
Definition at line 691 of file vk_to_string.cc.
References to_string().
| std::string blender::gpu::to_string | ( | const VkImageCopy & | vk_image_copy, |
| int | indentation_level ) |
Definition at line 706 of file vk_to_string.cc.
References to_string().
| const char * blender::gpu::to_string | ( | const VkImageLayout | vk_image_layout | ) |
Definition at line 115 of file vk_to_string.cc.
References STRINGIFY, and STRINGIFY_ARG.
| std::string blender::gpu::to_string | ( | const VkImageMemoryBarrier & | vk_image_memory_barrier, |
| int | indentation_level ) |
Definition at line 733 of file vk_to_string.cc.
References to_string(), and to_string_vk_access_flags().
| std::string blender::gpu::to_string | ( | const VkImageSubresourceLayers & | vk_image_subresource_layers, |
| int | indentation_level ) |
Definition at line 749 of file vk_to_string.cc.
References to_string_vk_image_aspect_flags(), and UNUSED_VARS.
| std::string blender::gpu::to_string | ( | const VkImageSubresourceRange & | vk_image_subresource_range, |
| int | indentation_level ) |
Definition at line 762 of file vk_to_string.cc.
References to_string_vk_image_aspect_flags(), and UNUSED_VARS.
| const char * blender::gpu::to_string | ( | const VkIndexType | vk_index_type | ) |
Definition at line 175 of file vk_to_string.cc.
References STRINGIFY, and STRINGIFY_ARG.
| std::string blender::gpu::to_string | ( | const VkMemoryBarrier & | vk_memory_barrier, |
| int | indentation_level ) |
Definition at line 776 of file vk_to_string.cc.
References to_string_vk_access_flags(), and UNUSED_VARS.
| const char * blender::gpu::to_string | ( | const VkObjectType | vk_object_type | ) |
Definition at line 190 of file vk_to_string.cc.
References STRINGIFY, and STRINGIFY_ARG.
| std::string blender::gpu::to_string | ( | const VkOffset2D & | vk_offset2_d, |
| int | indentation_level ) |
Definition at line 786 of file vk_to_string.cc.
References UNUSED_VARS.
| std::string blender::gpu::to_string | ( | const VkOffset3D & | vk_offset3_d, |
| int | indentation_level ) |
Definition at line 796 of file vk_to_string.cc.
References UNUSED_VARS.
| const char * blender::gpu::to_string | ( | const VkPipelineBindPoint | vk_pipeline_bind_point | ) |
Definition at line 288 of file vk_to_string.cc.
References STRINGIFY, and STRINGIFY_ARG.
| std::string blender::gpu::to_string | ( | const VkRect2D & | vk_rect2_d, |
| int | indentation_level ) |
Definition at line 807 of file vk_to_string.cc.
References to_string().
| std::string blender::gpu::to_string | ( | const VkRenderingAttachmentInfo & | vk_rendering_attachment_info, |
| int | indentation_level ) |
Definition at line 838 of file vk_to_string.cc.
References to_string(), and UNUSED_VARS.
| std::string blender::gpu::to_string | ( | const VkRenderingInfo & | vk_rendering_info, |
| int | indentation_level ) |
Definition at line 854 of file vk_to_string.cc.
References to_string(), and to_string_vk_rendering_flags().
| std::string blender::gpu::to_string | ( | const VkRenderPassBeginInfo & | vk_render_pass_begin_info, |
| int | indentation_level ) |
Definition at line 822 of file vk_to_string.cc.
References to_string().
| const char * blender::gpu::to_string | ( | const VkResolveModeFlagBits | vk_resolve_mode_flag_bits | ) |
Definition at line 303 of file vk_to_string.cc.
References STRINGIFY, and STRINGIFY_ARG.
| const char * blender::gpu::to_string | ( | const VkSubpassContents | vk_subpass_contents | ) |
Definition at line 327 of file vk_to_string.cc.
References STRINGIFY, and STRINGIFY_ARG.
| const char * blender::gpu::to_string | ( | ShaderStage | stage | ) |
Definition at line 52 of file mtl_shader.mm.
References ANY, COMPUTE, FRAGMENT, stage, and VERTEX.
Referenced by blender::gpu::render_graph::CommandBufferLog::begin_rendering(), blender::gpu::render_graph::CommandBufferLog::bind_descriptor_sets(), blender::gpu::render_graph::CommandBufferLog::bind_pipeline(), blender::gpu::render_graph::CommandBufferLog::blit_image(), blender::gpu::render_graph::CommandBufferLog::clear_attachments(), blender::gpu::render_graph::CommandBufferLog::clear_color_image(), blender::gpu::render_graph::CommandBufferLog::copy_buffer(), blender::gpu::render_graph::CommandBufferLog::copy_buffer_to_image(), blender::gpu::render_graph::CommandBufferLog::copy_image(), blender::gpu::render_graph::CommandBufferLog::copy_image_to_buffer(), blender::gpu::render_graph::VKRenderGraphLink::debug_print(), blender::gpu::render_graph::CommandBufferLog::dispatch_indirect(), blender::gpu::render_graph::CommandBufferLog::fill_buffer(), blender::gpu::MTLShader::finalize(), blender::gpu::GLShader::fragment_interface_declare(), blender::gpu::MTLShader::fragment_interface_declare(), blender::gpu::VKShader::fragment_interface_declare(), blender::gpu::MSLGeneratorInterface::generate_msl_fragment_struct(), blender::gpu::MSLGeneratorInterface::generate_msl_uniform_structs(), blender::gpu::VKShader::geometry_interface_declare(), blender::gpu::GLShader::geometry_layout_declare(), blender::gpu::render_graph::CommandBufferLog::pipeline_barrier(), print_interface(), print_interface_as_attributes(), print_interface_as_struct(), print_resource(), print_resource(), blender::gpu::GLShader::resources_declare(), blender::gpu::VKShader::resources_declare(), to_string(), to_string(), to_string(), to_string(), to_string(), to_string(), to_string(), to_string(), to_string(), to_string(), blender::gpu::render_graph::CommandBufferLog::update_buffer(), blender::gpu::GLShader::vertex_interface_declare(), blender::gpu::MTLShader::vertex_interface_declare(), and blender::gpu::VKShader::vertex_interface_declare().
| std::string blender::gpu::to_string | ( | VkBuffer | vk_handle | ) |
Definition at line 23 of file vk_to_string.cc.
References to_string_handle().
| std::string blender::gpu::to_string | ( | VkDescriptorSet | vk_handle | ) |
Definition at line 58 of file vk_to_string.cc.
References to_string_handle().
| std::string blender::gpu::to_string | ( | VkFramebuffer | vk_handle | ) |
Definition at line 43 of file vk_to_string.cc.
References to_string_handle().
| std::string blender::gpu::to_string | ( | VkImage | vk_handle | ) |
Definition at line 28 of file vk_to_string.cc.
References to_string_handle().
| std::string blender::gpu::to_string | ( | VkImageView | vk_handle | ) |
Definition at line 33 of file vk_to_string.cc.
References to_string_handle().
| std::string blender::gpu::to_string | ( | VkPipeline | vk_handle | ) |
Definition at line 53 of file vk_to_string.cc.
References to_string_handle().
| std::string blender::gpu::to_string | ( | VkPipelineLayout | vk_handle | ) |
Definition at line 48 of file vk_to_string.cc.
References to_string_handle().
| std::string blender::gpu::to_string | ( | VkRenderPass | vk_handle | ) |
Definition at line 38 of file vk_to_string.cc.
References to_string_handle().
|
static |
Portable printing of vulkan handles across platforms.
Definition at line 16 of file vk_to_string.cc.
Referenced by to_string(), to_string(), to_string(), to_string(), to_string(), to_string(), to_string(), and to_string().
|
inline |
Definition at line 764 of file mtl_shader_generator.hh.
References blender::gpu::shader::FLAT, interp(), blender::gpu::shader::NO_PERSPECTIVE, and blender::gpu::shader::SMOOTH.
| std::string blender::gpu::to_string_vk_access_flags | ( | const VkAccessFlags | vk_access_flags | ) |
Definition at line 342 of file vk_to_string.cc.
References result, and STRINGIFY.
Referenced by blender::gpu::render_graph::VKRenderGraphLink::debug_print(), to_string(), to_string(), and to_string().
| std::string blender::gpu::to_string_vk_dependency_flags | ( | const VkDependencyFlags | vk_dependency_flags | ) |
Definition at line 405 of file vk_to_string.cc.
| std::string blender::gpu::to_string_vk_image_aspect_flags | ( | const VkImageAspectFlags | vk_image_aspect_flags | ) |
Definition at line 427 of file vk_to_string.cc.
References result, and STRINGIFY.
Referenced by blender::gpu::render_graph::VKRenderGraphLink::debug_print(), to_string(), to_string(), and to_string().
| std::string blender::gpu::to_string_vk_pipeline_stage_flags | ( | const VkPipelineStageFlags | vk_pipeline_stage_flags | ) |
Definition at line 461 of file vk_to_string.cc.
References result, and STRINGIFY.
Referenced by blender::gpu::render_graph::CommandBufferLog::pipeline_barrier().
| std::string blender::gpu::to_string_vk_rendering_flags | ( | const VkRenderingFlags | vk_rendering_flags | ) |
Definition at line 524 of file vk_to_string.cc.
References result, and STRINGIFY.
Referenced by to_string().
| std::string blender::gpu::to_string_vk_shader_stage_flags | ( | const VkShaderStageFlags | vk_shader_stage_flags | ) |
Definition at line 554 of file vk_to_string.cc.
|
inlinestatic |
Definition at line 1085 of file gpu_texture_private.hh.
References BLI_assert_msg, GPU_COMP_F32, GPU_COMP_I16, GPU_COMP_I32, GPU_COMP_I8, GPU_COMP_U16, GPU_COMP_U32, GPU_COMP_U8, GPU_DEPTH_COMPONENT24, GPU_FETCH_FLOAT, GPU_FETCH_INT, GPU_FETCH_INT_TO_FLOAT, GPU_FETCH_INT_TO_FLOAT_UNIT, GPU_R16I, GPU_R16UI, GPU_R32F, GPU_R32I, GPU_R32UI, GPU_R8I, GPU_R8UI, GPU_RG16I, GPU_RG16UI, GPU_RG32F, GPU_RG32I, GPU_RG32UI, GPU_RG8I, GPU_RG8UI, GPU_RGBA16, GPU_RGBA16F, GPU_RGBA16I, GPU_RGBA16UI, GPU_RGBA32F, GPU_RGBA32I, GPU_RGBA32UI, GPU_RGBA8I, and GPU_RGBA8UI.
Referenced by blender::gpu::VKVertexBuffer::ensure_buffer_view(), and GPU_texture_create_from_vertbuf().
|
static |
Definition at line 250 of file vk_framebuffer.cc.
References BLI_assert_unreachable, GPU_LOADACTION_CLEAR, GPU_LOADACTION_DONT_CARE, and GPU_LOADACTION_LOAD.
Referenced by set_load_store().
|
static |
Definition at line 264 of file vk_framebuffer.cc.
References BLI_assert_unreachable, GPU_STOREACTION_DONT_CARE, and GPU_STOREACTION_STORE.
Referenced by set_load_store().
| VkClearColorValue blender::gpu::to_vk_clear_color_value | ( | const eGPUDataFormat | format, |
| const void * | data ) |
Definition at line 805 of file vk_common.cc.
References BLI_assert_unreachable, copy_color(), data, GPU_DATA_10_11_11_REV, GPU_DATA_2_10_10_10_REV, GPU_DATA_FLOAT, GPU_DATA_HALF_FLOAT, GPU_DATA_INT, GPU_DATA_UBYTE, GPU_DATA_UINT, GPU_DATA_UINT_24_8, and result.
Referenced by blender::gpu::VKTexture::clear().
| VkComponentSwizzle blender::gpu::to_vk_component_swizzle | ( | const char | swizzle | ) |
Definition at line 774 of file vk_common.cc.
References BLI_assert_unreachable.
Referenced by blender::gpu::VKImageView::VKImageView().
| VkCullModeFlags blender::gpu::to_vk_cull_mode_flags | ( | const eGPUFaceCullTest | cull_test | ) |
Definition at line 885 of file vk_common.cc.
References BLI_assert_unreachable, GPU_CULL_BACK, GPU_CULL_FRONT, and GPU_CULL_NONE.
Referenced by blender::gpu::VKPipelinePool::get_or_create_graphics_pipeline().
| VkDescriptorType blender::gpu::to_vk_descriptor_type | ( | const shader::ShaderCreateInfo::Resource & | resource | ) |
Definition at line 1009 of file vk_common.cc.
References blender::gpu::shader::ShaderCreateInfo::Resource::bind_type, BLI_assert_unreachable, blender::gpu::shader::ShaderCreateInfo::Resource::IMAGE, blender::gpu::shader::ShaderCreateInfo::Resource::image, blender::gpu::shader::ShaderCreateInfo::Resource::SAMPLER, blender::gpu::shader::ShaderCreateInfo::Resource::sampler, blender::gpu::shader::ShaderCreateInfo::Resource::STORAGE_BUFFER, to_vk_descriptor_type_image(), to_vk_descriptor_type_sampler(), blender::gpu::shader::ShaderCreateInfo::Image::type, blender::gpu::shader::ShaderCreateInfo::Sampler::type, and blender::gpu::shader::ShaderCreateInfo::Resource::UNIFORM_BUFFER.
|
static |
Definition at line 916 of file vk_common.cc.
References BLI_assert_msg, 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::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 to_vk_descriptor_type().
|
static |
Definition at line 960 of file vk_common.cc.
References 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, 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 to_vk_descriptor_type().
| VkFormat blender::gpu::to_vk_format | ( | const eGPUTextureFormat | format | ) |
Definition at line 131 of file vk_common.cc.
References GPU_DEPTH24_STENCIL8, GPU_DEPTH32F_STENCIL8, GPU_DEPTH_COMPONENT16, GPU_DEPTH_COMPONENT24, GPU_DEPTH_COMPONENT32F, GPU_R11F_G11F_B10F, GPU_R16, GPU_R16_SNORM, GPU_R16F, GPU_R16I, GPU_R16UI, GPU_R32F, GPU_R32I, GPU_R32UI, GPU_R8, GPU_R8_SNORM, GPU_R8I, GPU_R8UI, GPU_RG16, GPU_RG16_SNORM, GPU_RG16F, GPU_RG16I, GPU_RG16UI, GPU_RG32F, GPU_RG32I, GPU_RG32UI, GPU_RG8, GPU_RG8_SNORM, GPU_RG8I, GPU_RG8UI, GPU_RGB10_A2, GPU_RGB10_A2UI, GPU_RGB16, GPU_RGB16_SNORM, GPU_RGB16F, GPU_RGB16I, GPU_RGB16UI, GPU_RGB32F, GPU_RGB32I, GPU_RGB32UI, GPU_RGB8, GPU_RGB8_SNORM, GPU_RGB8I, GPU_RGB8UI, GPU_RGB9_E5, GPU_RGBA16, GPU_RGBA16_SNORM, GPU_RGBA16F, GPU_RGBA16I, GPU_RGBA16UI, GPU_RGBA32F, GPU_RGBA32I, GPU_RGBA32UI, GPU_RGBA8, GPU_RGBA8_DXT1, GPU_RGBA8_DXT3, GPU_RGBA8_DXT5, GPU_RGBA8_SNORM, GPU_RGBA8I, GPU_RGBA8UI, GPU_SRGB8, GPU_SRGB8_A8, GPU_SRGB8_A8_DXT1, GPU_SRGB8_A8_DXT3, and GPU_SRGB8_A8_DXT5.
Referenced by blender::gpu::VKVertexBuffer::ensure_buffer_view(), blender::gpu::VKFrameBuffer::rendering_ensure(), and blender::gpu::VKImageView::VKImageView().
| VkFormat blender::gpu::to_vk_format | ( | const GPUVertCompType | type, |
| const uint32_t | size, | ||
| GPUVertFetchMode | fetch_mode ) |
Definition at line 595 of file vk_common.cc.
References BLI_assert_unreachable, GPU_FETCH_FLOAT, GPU_FETCH_INT, GPU_FETCH_INT_TO_FLOAT, GPU_FETCH_INT_TO_FLOAT_UNIT, to_vk_format_float(), to_vk_format_int(), and to_vk_format_norm().
| VkFormat blender::gpu::to_vk_format | ( | const shader::Type | type | ) |
Definition at line 616 of file vk_common.cc.
References BLI_assert_unreachable, blender::gpu::shader::BOOL, blender::gpu::shader::CHAR, blender::gpu::shader::CHAR2, blender::gpu::shader::CHAR3, blender::gpu::shader::CHAR4, blender::gpu::shader::FLOAT, blender::gpu::shader::INT, blender::gpu::shader::IVEC2, blender::gpu::shader::IVEC3, blender::gpu::shader::IVEC4, blender::gpu::shader::MAT3, blender::gpu::shader::MAT4, blender::gpu::shader::SHORT, blender::gpu::shader::SHORT2, blender::gpu::shader::SHORT3, blender::gpu::shader::SHORT4, blender::gpu::shader::UCHAR, blender::gpu::shader::UCHAR2, blender::gpu::shader::UCHAR3, blender::gpu::shader::UCHAR4, blender::gpu::shader::UINT, blender::gpu::shader::USHORT, blender::gpu::shader::USHORT2, blender::gpu::shader::USHORT3, blender::gpu::shader::USHORT4, blender::gpu::shader::UVEC2, blender::gpu::shader::UVEC3, blender::gpu::shader::UVEC4, blender::gpu::shader::VEC2, blender::gpu::shader::VEC3, blender::gpu::shader::VEC3_101010I2, and blender::gpu::shader::VEC4.
|
static |
Definition at line 362 of file vk_common.cc.
References BLI_assert, BLI_assert_unreachable, GPU_COMP_F32, GPU_COMP_I10, GPU_COMP_I16, GPU_COMP_I32, GPU_COMP_I8, GPU_COMP_U16, GPU_COMP_U32, and GPU_COMP_U8.
Referenced by to_vk_format().
|
static |
Definition at line 468 of file vk_common.cc.
References BLI_assert, BLI_assert_unreachable, GPU_COMP_F32, GPU_COMP_I10, GPU_COMP_I16, GPU_COMP_I32, GPU_COMP_I8, GPU_COMP_U16, GPU_COMP_U32, and GPU_COMP_U8.
Referenced by to_vk_format().
|
static |
Definition at line 277 of file vk_common.cc.
References BLI_assert, BLI_assert_unreachable, GPU_COMP_F32, GPU_COMP_I10, GPU_COMP_I16, GPU_COMP_I32, GPU_COMP_I8, GPU_COMP_U16, GPU_COMP_U32, and GPU_COMP_U8.
Referenced by to_vk_format().
| VkImageAspectFlags blender::gpu::to_vk_image_aspect_flag_bits | ( | const eGPUFrameBufferBits | buffers | ) |
Definition at line 103 of file vk_common.cc.
References buffers, GPU_COLOR_BIT, GPU_DEPTH_BIT, GPU_STENCIL_BIT, and result.
| VkImageAspectFlags blender::gpu::to_vk_image_aspect_flag_bits | ( | const eGPUTextureFormat | format | ) |
Definition at line 14 of file vk_common.cc.
References BLI_assert_unreachable, GPU_DEPTH24_STENCIL8, GPU_DEPTH32F_STENCIL8, GPU_DEPTH_COMPONENT16, GPU_DEPTH_COMPONENT24, GPU_DEPTH_COMPONENT32F, GPU_R11F_G11F_B10F, GPU_R16, GPU_R16_SNORM, GPU_R16F, GPU_R16I, GPU_R16UI, GPU_R32F, GPU_R32I, GPU_R32UI, GPU_R8, GPU_R8_SNORM, GPU_R8I, GPU_R8UI, GPU_RG16, GPU_RG16_SNORM, GPU_RG16F, GPU_RG16I, GPU_RG16UI, GPU_RG32F, GPU_RG32I, GPU_RG32UI, GPU_RG8, GPU_RG8_SNORM, GPU_RG8I, GPU_RG8UI, GPU_RGB10_A2, GPU_RGB10_A2UI, GPU_RGB16, GPU_RGB16_SNORM, GPU_RGB16F, GPU_RGB16I, GPU_RGB16UI, GPU_RGB32F, GPU_RGB32I, GPU_RGB32UI, GPU_RGB8, GPU_RGB8_SNORM, GPU_RGB8I, GPU_RGB8UI, GPU_RGB9_E5, GPU_RGBA16, GPU_RGBA16_SNORM, GPU_RGBA16F, GPU_RGBA16I, GPU_RGBA16UI, GPU_RGBA32F, GPU_RGBA32I, GPU_RGBA32UI, GPU_RGBA8, GPU_RGBA8_DXT1, GPU_RGBA8_DXT3, GPU_RGBA8_DXT5, GPU_RGBA8_SNORM, GPU_RGBA8I, GPU_RGBA8UI, GPU_SRGB8, GPU_SRGB8_A8, GPU_SRGB8_A8_DXT1, GPU_SRGB8_A8_DXT3, and GPU_SRGB8_A8_DXT5.
Referenced by blender::gpu::VKTexture::clear(), blender::gpu::VKTexture::clear_depth_stencil(), blender::gpu::VKTexture::copy_to(), blender::gpu::VKTexture::copy_to(), blender::gpu::VKTexture::generate_mipmap(), blender::gpu::VKTexture::read_sub(), blender::gpu::VKFrameBuffer::rendering_ensure(), blender::gpu::VKTexture::update_sub(), and blender::gpu::VKImageView::VKImageView().
|
static |
Definition at line 30 of file vk_texture.cc.
Referenced by blender::gpu::VKTexture::read_sub(), and blender::gpu::VKTexture::update_sub().
|
static |
Definition at line 432 of file vk_texture.cc.
References ELEM, GPU_FORMAT_SRGB, GPU_TEXTURE_CUBE, GPU_TEXTURE_CUBE_ARRAY, GPU_TEXTURE_USAGE_ATTACHMENT, and result.
| VkImageType blender::gpu::to_vk_image_type | ( | const eGPUTextureType | type | ) |
Definition at line 682 of file vk_common.cc.
References BLI_assert_unreachable, GPU_TEXTURE_1D, GPU_TEXTURE_1D_ARRAY, GPU_TEXTURE_2D, GPU_TEXTURE_2D_ARRAY, GPU_TEXTURE_3D, GPU_TEXTURE_ARRAY, GPU_TEXTURE_BUFFER, GPU_TEXTURE_CUBE, and GPU_TEXTURE_CUBE_ARRAY.
Referenced by blender::gpu::VKTexture::read().
|
static |
Definition at line 390 of file vk_texture.cc.
References GPU_FORMAT_COMPRESSED, GPU_FORMAT_DEPTH, GPU_FORMAT_SRGB, GPU_FORMAT_STENCIL, GPU_TEXTURE_USAGE_ATTACHMENT, GPU_TEXTURE_USAGE_HOST_READ, GPU_TEXTURE_USAGE_SHADER_READ, GPU_TEXTURE_USAGE_SHADER_WRITE, and result.
| VkImageViewType blender::gpu::to_vk_image_view_type | ( | const eGPUTextureType | type, |
| const eImageViewUsage | view_type, | ||
| VKImageViewArrayed | arrayed ) |
Definition at line 711 of file vk_common.cc.
References ARRAYED, Attachment, GPU_TEXTURE_1D, GPU_TEXTURE_1D_ARRAY, GPU_TEXTURE_2D, GPU_TEXTURE_2D_ARRAY, GPU_TEXTURE_3D, GPU_TEXTURE_ARRAY, GPU_TEXTURE_BUFFER, GPU_TEXTURE_CUBE, GPU_TEXTURE_CUBE_ARRAY, NOT_ARRAYED, and result.
Referenced by blender::gpu::VKImageView::VKImageView().
| VkIndexType blender::gpu::to_vk_index_type | ( | const GPUIndexBufType | index_type | ) |
Definition at line 839 of file vk_common.cc.
References BLI_assert_unreachable, GPU_INDEX_U16, and GPU_INDEX_U32.
Referenced by blender::gpu::VKIndexBuffer::vk_index_type().
Definition at line 70 of file vk_common.hh.
References BLI_assert_unreachable, T, and VK_EQ_TYPEID.
Referenced by blender::gpu::debug::object_label().
| VkPrimitiveTopology blender::gpu::to_vk_primitive_topology | ( | const GPUPrimType | prim_type | ) |
Definition at line 853 of file vk_common.cc.
References BLI_assert_unreachable, GPU_PRIM_LINE_LOOP, GPU_PRIM_LINE_STRIP, GPU_PRIM_LINE_STRIP_ADJ, GPU_PRIM_LINES, GPU_PRIM_LINES_ADJ, GPU_PRIM_NONE, GPU_PRIM_POINTS, GPU_PRIM_TRI_FAN, GPU_PRIM_TRI_STRIP, GPU_PRIM_TRIS, and GPU_PRIM_TRIS_ADJ.
Referenced by blender::gpu::VKShader::ensure_and_get_graphics_pipeline().
| VkQueryType blender::gpu::to_vk_query_type | ( | const GPUQueryType | query_type | ) |
Definition at line 672 of file vk_common.cc.
References BLI_assert_unreachable, and GPU_QUERY_OCCLUSION.
Referenced by blender::gpu::VKQueryPool::init().
| VkSamplerAddressMode blender::gpu::to_vk_sampler_address_mode | ( | const GPUSamplerExtendMode | extend_mode | ) |
Definition at line 899 of file vk_common.cc.
References BLI_assert_unreachable, GPU_SAMPLER_EXTEND_MODE_CLAMP_TO_BORDER, GPU_SAMPLER_EXTEND_MODE_EXTEND, GPU_SAMPLER_EXTEND_MODE_MIRRORED_REPEAT, and GPU_SAMPLER_EXTEND_MODE_REPEAT.
Referenced by blender::gpu::VKSampler::create().
|
static |
Definition at line 81 of file vk_data_conversion.cc.
References FLOAT3_TO_FLOAT4, FLOAT3_TO_HALF4, FLOAT_TO_B10F_G11F_R11F, FLOAT_TO_DEPTH_COMPONENT24, FLOAT_TO_HALF, FLOAT_TO_SNORM16, FLOAT_TO_SNORM8, FLOAT_TO_SRGBA8, FLOAT_TO_UNORM16, FLOAT_TO_UNORM8, GPU_DEPTH24_STENCIL8, GPU_DEPTH32F_STENCIL8, GPU_DEPTH_COMPONENT16, GPU_DEPTH_COMPONENT24, GPU_DEPTH_COMPONENT32F, GPU_R11F_G11F_B10F, GPU_R16, GPU_R16_SNORM, GPU_R16F, GPU_R16I, GPU_R16UI, GPU_R32F, GPU_R32I, GPU_R32UI, GPU_R8, GPU_R8_SNORM, GPU_R8I, GPU_R8UI, GPU_RG16, GPU_RG16_SNORM, GPU_RG16F, GPU_RG16I, GPU_RG16UI, GPU_RG32F, GPU_RG32I, GPU_RG32UI, GPU_RG8, GPU_RG8_SNORM, GPU_RG8I, GPU_RG8UI, GPU_RGB10_A2, GPU_RGB10_A2UI, GPU_RGB16, GPU_RGB16_SNORM, GPU_RGB16F, GPU_RGB16I, GPU_RGB16UI, GPU_RGB32F, GPU_RGB32I, GPU_RGB32UI, GPU_RGB8, GPU_RGB8_SNORM, GPU_RGB8I, GPU_RGB8UI, GPU_RGB9_E5, GPU_RGBA16, GPU_RGBA16_SNORM, GPU_RGBA16F, GPU_RGBA16I, GPU_RGBA16UI, GPU_RGBA32F, GPU_RGBA32I, GPU_RGBA32UI, GPU_RGBA8, GPU_RGBA8_DXT1, GPU_RGBA8_DXT3, GPU_RGBA8_DXT5, GPU_RGBA8_SNORM, GPU_RGBA8I, GPU_RGBA8UI, GPU_SRGB8, GPU_SRGB8_A8, GPU_SRGB8_A8_DXT1, GPU_SRGB8_A8_DXT3, GPU_SRGB8_A8_DXT5, PASS_THROUGH, and UNSUPPORTED.
Referenced by host_to_device().
|
static |
Definition at line 351 of file vk_data_conversion.cc.
References GPU_DEPTH24_STENCIL8, GPU_DEPTH32F_STENCIL8, GPU_DEPTH_COMPONENT16, GPU_DEPTH_COMPONENT24, GPU_DEPTH_COMPONENT32F, GPU_R11F_G11F_B10F, GPU_R16, GPU_R16_SNORM, GPU_R16F, GPU_R16I, GPU_R16UI, GPU_R32F, GPU_R32I, GPU_R32UI, GPU_R8, GPU_R8_SNORM, GPU_R8I, GPU_R8UI, GPU_RG16, GPU_RG16_SNORM, GPU_RG16F, GPU_RG16I, GPU_RG16UI, GPU_RG32F, GPU_RG32I, GPU_RG32UI, GPU_RG8, GPU_RG8_SNORM, GPU_RG8I, GPU_RG8UI, GPU_RGB10_A2, GPU_RGB10_A2UI, GPU_RGB16, GPU_RGB16_SNORM, GPU_RGB16F, GPU_RGB16I, GPU_RGB16UI, GPU_RGB32F, GPU_RGB32I, GPU_RGB32UI, GPU_RGB8, GPU_RGB8_SNORM, GPU_RGB8I, GPU_RGB8UI, GPU_RGB9_E5, GPU_RGBA16, GPU_RGBA16_SNORM, GPU_RGBA16F, GPU_RGBA16I, GPU_RGBA16UI, GPU_RGBA32F, GPU_RGBA32I, GPU_RGBA32UI, GPU_RGBA8, GPU_RGBA8_DXT1, GPU_RGBA8_DXT3, GPU_RGBA8_DXT5, GPU_RGBA8_SNORM, GPU_RGBA8I, GPU_RGBA8UI, GPU_SRGB8, GPU_SRGB8_A8, GPU_SRGB8_A8_DXT1, GPU_SRGB8_A8_DXT3, GPU_SRGB8_A8_DXT5, PASS_THROUGH, and UNSUPPORTED.
Referenced by host_to_device().
|
static |
Definition at line 191 of file vk_data_conversion.cc.
References GPU_DEPTH24_STENCIL8, GPU_DEPTH32F_STENCIL8, GPU_DEPTH_COMPONENT16, GPU_DEPTH_COMPONENT24, GPU_DEPTH_COMPONENT32F, GPU_R11F_G11F_B10F, GPU_R16, GPU_R16_SNORM, GPU_R16F, GPU_R16I, GPU_R16UI, GPU_R32F, GPU_R32I, GPU_R32UI, GPU_R8, GPU_R8_SNORM, GPU_R8I, GPU_R8UI, GPU_RG16, GPU_RG16_SNORM, GPU_RG16F, GPU_RG16I, GPU_RG16UI, GPU_RG32F, GPU_RG32I, GPU_RG32UI, GPU_RG8, GPU_RG8_SNORM, GPU_RG8I, GPU_RG8UI, GPU_RGB10_A2, GPU_RGB10_A2UI, GPU_RGB16, GPU_RGB16_SNORM, GPU_RGB16F, GPU_RGB16I, GPU_RGB16UI, GPU_RGB32F, GPU_RGB32I, GPU_RGB32UI, GPU_RGB8, GPU_RGB8_SNORM, GPU_RGB8I, GPU_RGB8UI, GPU_RGB9_E5, GPU_RGBA16, GPU_RGBA16_SNORM, GPU_RGBA16F, GPU_RGBA16I, GPU_RGBA16UI, GPU_RGBA32F, GPU_RGBA32I, GPU_RGBA32UI, GPU_RGBA8, GPU_RGBA8_DXT1, GPU_RGBA8_DXT3, GPU_RGBA8_DXT5, GPU_RGBA8_SNORM, GPU_RGBA8I, GPU_RGBA8UI, GPU_SRGB8, GPU_SRGB8_A8, GPU_SRGB8_A8_DXT1, GPU_SRGB8_A8_DXT3, GPU_SRGB8_A8_DXT5, I32_TO_I16, I32_TO_I8, PASS_THROUGH, and UNSUPPORTED.
Referenced by host_to_device().
|
static |
Definition at line 509 of file vk_data_conversion.cc.
References ELEM, GPU_RGB10_A2, GPU_RGB10_A2UI, PASS_THROUGH, and UNSUPPORTED.
Referenced by host_to_device().
|
static |
Definition at line 501 of file vk_data_conversion.cc.
References GPU_R11F_G11F_B10F, PASS_THROUGH, and UNSUPPORTED.
Referenced by host_to_device().
|
static |
Definition at line 426 of file vk_data_conversion.cc.
References GPU_DEPTH24_STENCIL8, GPU_DEPTH32F_STENCIL8, GPU_DEPTH_COMPONENT16, GPU_DEPTH_COMPONENT24, GPU_DEPTH_COMPONENT32F, GPU_R11F_G11F_B10F, GPU_R16, GPU_R16_SNORM, GPU_R16F, GPU_R16I, GPU_R16UI, GPU_R32F, GPU_R32I, GPU_R32UI, GPU_R8, GPU_R8_SNORM, GPU_R8I, GPU_R8UI, GPU_RG16, GPU_RG16_SNORM, GPU_RG16F, GPU_RG16I, GPU_RG16UI, GPU_RG32F, GPU_RG32I, GPU_RG32UI, GPU_RG8, GPU_RG8_SNORM, GPU_RG8I, GPU_RG8UI, GPU_RGB10_A2, GPU_RGB10_A2UI, GPU_RGB16, GPU_RGB16_SNORM, GPU_RGB16F, GPU_RGB16I, GPU_RGB16UI, GPU_RGB32F, GPU_RGB32I, GPU_RGB32UI, GPU_RGB8, GPU_RGB8_SNORM, GPU_RGB8I, GPU_RGB8UI, GPU_RGB9_E5, GPU_RGBA16, GPU_RGBA16_SNORM, GPU_RGBA16F, GPU_RGBA16I, GPU_RGBA16UI, GPU_RGBA32F, GPU_RGBA32I, GPU_RGBA32UI, GPU_RGBA8, GPU_RGBA8_DXT1, GPU_RGBA8_DXT3, GPU_RGBA8_DXT5, GPU_RGBA8_SNORM, GPU_RGBA8I, GPU_RGBA8UI, GPU_SRGB8, GPU_SRGB8_A8, GPU_SRGB8_A8_DXT1, GPU_SRGB8_A8_DXT3, GPU_SRGB8_A8_DXT5, PASS_THROUGH, and UNSUPPORTED.
Referenced by host_to_device().
|
static |
Definition at line 270 of file vk_data_conversion.cc.
References GPU_DEPTH24_STENCIL8, GPU_DEPTH32F_STENCIL8, GPU_DEPTH_COMPONENT16, GPU_DEPTH_COMPONENT24, GPU_DEPTH_COMPONENT32F, GPU_R11F_G11F_B10F, GPU_R16, GPU_R16_SNORM, GPU_R16F, GPU_R16I, GPU_R16UI, GPU_R32F, GPU_R32I, GPU_R32UI, GPU_R8, GPU_R8_SNORM, GPU_R8I, GPU_R8UI, GPU_RG16, GPU_RG16_SNORM, GPU_RG16F, GPU_RG16I, GPU_RG16UI, GPU_RG32F, GPU_RG32I, GPU_RG32UI, GPU_RG8, GPU_RG8_SNORM, GPU_RG8I, GPU_RG8UI, GPU_RGB10_A2, GPU_RGB10_A2UI, GPU_RGB16, GPU_RGB16_SNORM, GPU_RGB16F, GPU_RGB16I, GPU_RGB16UI, GPU_RGB32F, GPU_RGB32I, GPU_RGB32UI, GPU_RGB8, GPU_RGB8_SNORM, GPU_RGB8I, GPU_RGB8UI, GPU_RGB9_E5, GPU_RGBA16, GPU_RGBA16_SNORM, GPU_RGBA16F, GPU_RGBA16I, GPU_RGBA16UI, GPU_RGBA32F, GPU_RGBA32I, GPU_RGBA32UI, GPU_RGBA8, GPU_RGBA8_DXT1, GPU_RGBA8_DXT3, GPU_RGBA8_DXT5, GPU_RGBA8_SNORM, GPU_RGBA8I, GPU_RGBA8UI, GPU_SRGB8, GPU_SRGB8_A8, GPU_SRGB8_A8_DXT1, GPU_SRGB8_A8_DXT3, GPU_SRGB8_A8_DXT5, PASS_THROUGH, UI32_TO_UI16, UI32_TO_UI8, UINT_TO_DEPTH_COMPONENT24, UNORM32_TO_FLOAT, and UNSUPPORTED.
Referenced by host_to_device().
Definition at line 603 of file vk_data_conversion.cc.
Referenced by convert().
|
inline |
Definition at line 34 of file vk_batch.hh.
References batch.
Referenced by blender::gpu::VKBackend::compute_dispatch_indirect().
|
inlinestatic |
Definition at line 117 of file gpu_context_private.hh.
|
inlinestatic |
Definition at line 39 of file gpu_drawlist_private.hh.
Definition at line 188 of file gpu_state_private.hh.
|
inlinestatic |
Definition at line 266 of file gpu_framebuffer_private.hh.
|
inlinestatic |
Definition at line 361 of file gpu_texture_private.hh.
Definition at line 162 of file gpu_shader_private.hh.
|
inlinestatic |
Definition at line 63 of file gpu_storage_buffer_private.hh.
References storage_buf().
|
inlinestatic |
Definition at line 332 of file gpu_texture_private.hh.
|
inlinestatic |
Definition at line 65 of file gpu_uniform_buffer_private.hh.
|
inlinestatic |
Definition at line 153 of file vk_framebuffer.hh.
|
inlinestatic |
Definition at line 113 of file gpu_context_private.hh.
Referenced by blender::gpu::VKContext::active_framebuffer_get(), blender::gpu::MTLDrawList::append(), blender::gpu::VKDrawList::append(), blender::gpu::VKShaderCompiler::batch_is_ready(), blender::gpu::MTLVertBuf::bind_as_texture(), blender::gpu::VKFrameBuffer::blit_to(), blender::gpu::MTLTexture::clear(), blender::gpu::VKFrameBuffer::clear(), blender::gpu::VKStorageBuffer::copy_sub(), blender::gpu::VKTexture::copy_to(), blender::gpu::MTLParallelShaderCompiler::create_compile_threads(), blender::gpu::GLBatch::draw_indirect(), blender::gpu::MTLImmediate::end(), blender::gpu::VKImmediate::end(), GPU_context_active_set(), GPU_context_begin_frame(), GPU_context_discard(), GPU_context_end_frame(), GPU_draw_list_append(), GPU_draw_list_discard(), GPU_draw_list_submit(), GPU_fence_free(), GPU_fence_signal(), GPU_fence_wait(), GPU_framebuffer_bind(), GPU_framebuffer_bind_loadstore(), GPU_framebuffer_bind_no_srgb(), GPU_framebuffer_blit(), GPU_framebuffer_check_valid(), GPU_framebuffer_clear(), GPU_framebuffer_config_array(), GPU_framebuffer_default_size(), GPU_framebuffer_free(), GPU_framebuffer_get_name(), GPU_framebuffer_multi_clear(), GPU_framebuffer_multi_viewports_set(), GPU_framebuffer_py_reference_get(), GPU_framebuffer_py_reference_set(), GPU_framebuffer_read_color(), GPU_framebuffer_read_depth(), GPU_framebuffer_recursive_downsample(), GPU_framebuffer_subpass_transition_array(), gpu_framebuffer_texture_attach_ex(), GPU_framebuffer_texture_detach(), GPU_framebuffer_viewport_get(), GPU_framebuffer_viewport_reset(), GPU_framebuffer_viewport_set(), GPU_offscreen_bind(), GPU_offscreen_draw_to_screen(), GPU_pixel_buffer_free(), GPU_shader_bind(), GPU_shader_constant_bool(), GPU_shader_constant_bool_ex(), GPU_shader_constant_float(), GPU_shader_constant_float_ex(), GPU_shader_constant_int(), GPU_shader_constant_int_ex(), GPU_shader_constant_uint(), GPU_shader_constant_uint_ex(), GPU_shader_free(), GPU_shader_get_name(), GPU_shader_get_program(), GPU_shader_get_ssbo_vertex_fetch_num_verts_per_prim(), GPU_shader_set_parent(), GPU_shader_transform_feedback_disable(), GPU_shader_transform_feedback_enable(), GPU_shader_uniform_float_ex(), GPU_shader_uniform_int_ex(), GPU_shader_uses_ssbo_vertex_fetch(), GPU_shader_warm_cache(), GPU_storagebuf_bind(), GPU_storagebuf_clear(), GPU_storagebuf_copy_sub_from_vertbuf(), GPU_storagebuf_free(), GPU_storagebuf_read(), GPU_storagebuf_sync_as_indirect_buffer(), GPU_storagebuf_sync_to_host(), GPU_storagebuf_unbind(), GPU_storagebuf_update(), GPU_texture_create_view(), GPU_texture_image_bind(), GPU_texture_image_unbind(), GPU_texture_py_reference_get(), GPU_texture_py_reference_set(), GPU_uniformbuf_bind(), GPU_uniformbuf_bind_as_ssbo(), GPU_uniformbuf_clear_to_zero(), GPU_uniformbuf_free(), GPU_uniformbuf_unbind(), GPU_uniformbuf_update(), blender::gpu::VKStateManager::image_bind(), blender::gpu::VKStateManager::image_unbind(), blender::gpu::VKBatch::index_buffer_get(), blender::gpu::GLTexture::init_internal(), blender::gpu::MTLTexture::init_internal(), blender::gpu::VKTexture::init_internal(), blender::gpu::VKTexture::init_internal(), blender::gpu::Texture::init_view(), blender::gpu::VKBatch::instance_buffer_get(), blender::gpu::GLBatch::multi_draw_indirect(), blender::gpu::VKBatch::multi_draw_indirect(), blender::gpu::MTLParallelShaderCompiler::precompile_specializations(), blender::gpu::VKFrameBuffer::read(), blender::gpu::VKFrameBuffer::rendering_ensure(), blender::gpu::MTLDrawList::submit(), blender::gpu::GLFrameBuffer::subpass_transition_impl(), blender::gpu::VKFrameBuffer::subpass_transition_impl(), blender::gpu::MTLFrameBuffer::update_attachments(), blender::gpu::GLVertArray::update_bindings(), blender::gpu::VKVertexAttributeObject::update_bindings(), blender::gpu::VKVertexAttributeObject::update_bindings(), blender::gpu::VKDescriptorSetTracker::update_descriptor_set(), blender::gpu::VKContext::update_pipeline_data(), blender::gpu::VKContext::update_pipeline_data(), blender::gpu::VKFrameBuffer::update_srgb(), blender::gpu::MTLTexture::update_sub(), blender::gpu::VKTexture::update_sub(), and blender::gpu::VKBatch::vertex_buffer_get().
|
inlinestatic |
Definition at line 35 of file gpu_drawlist_private.hh.
Definition at line 184 of file gpu_state_private.hh.
|
inlinestatic |
Definition at line 262 of file gpu_framebuffer_private.hh.
|
inlinestatic |
Definition at line 357 of file gpu_texture_private.hh.
Definition at line 158 of file gpu_shader_private.hh.
|
inlinestatic |
Definition at line 59 of file gpu_storage_buffer_private.hh.
References storage_buf().
|
inlinestatic |
Definition at line 328 of file gpu_texture_private.hh.
|
inlinestatic |
Definition at line 61 of file gpu_uniform_buffer_private.hh.
|
inlinestatic |
Definition at line 47 of file vk_index_buffer.hh.
|
inlinestatic |
Definition at line 33 of file vk_pixel_buffer.hh.
Definition at line 150 of file vk_shader.hh.
Definition at line 155 of file vk_shader.hh.
| BLI_INLINE VKStorageBuffer * blender::gpu::unwrap | ( | StorageBuf * | storage_buffer | ) |
Definition at line 53 of file vk_storage_buffer.hh.
| BLI_INLINE VKTexture * blender::gpu::unwrap | ( | Texture * | tex | ) |
Definition at line 164 of file vk_texture.hh.
References tex.
| BLI_INLINE VKVertexBuffer * blender::gpu::unwrap | ( | VertBuf * | vertex_buffer | ) |
Definition at line 69 of file vk_vertex_buffer.hh.
|
inlineconstexpr |
Definition at line 770 of file gpu_texture_private.hh.
References ATTR_FALLTHROUGH, BLI_assert_unreachable, ELEM, GPU_DATA_10_11_11_REV, GPU_DATA_2_10_10_10_REV, GPU_DATA_FLOAT, GPU_DATA_HALF_FLOAT, GPU_DATA_INT, GPU_DATA_UBYTE, GPU_DATA_UINT, GPU_DATA_UINT_24_8, GPU_DEPTH24_STENCIL8, GPU_DEPTH32F_STENCIL8, GPU_DEPTH_COMPONENT16, GPU_DEPTH_COMPONENT24, GPU_DEPTH_COMPONENT32F, GPU_R11F_G11F_B10F, GPU_R16, GPU_R16_SNORM, GPU_R16F, GPU_R16I, GPU_R16UI, GPU_R32F, GPU_R32I, GPU_R32UI, GPU_R8, GPU_R8_SNORM, GPU_R8I, GPU_R8UI, GPU_RG16, GPU_RG16_SNORM, GPU_RG16F, GPU_RG16I, GPU_RG16UI, GPU_RG32F, GPU_RG32I, GPU_RG32UI, GPU_RG8, GPU_RG8_SNORM, GPU_RG8I, GPU_RG8UI, GPU_RGB10_A2, GPU_RGB10_A2UI, GPU_RGB16, GPU_RGB16_SNORM, GPU_RGB16F, GPU_RGB16I, GPU_RGB16UI, GPU_RGB32F, GPU_RGB32I, GPU_RGB32UI, GPU_RGB8, GPU_RGB8_SNORM, GPU_RGB8I, GPU_RGB8UI, GPU_RGB9_E5, GPU_RGBA16, GPU_RGBA16_SNORM, GPU_RGBA16F, GPU_RGBA16I, GPU_RGBA16UI, GPU_RGBA32F, GPU_RGBA32I, GPU_RGBA32UI, GPU_RGBA8, GPU_RGBA8_DXT1, GPU_RGBA8_DXT3, GPU_RGBA8_DXT5, GPU_RGBA8_SNORM, GPU_RGBA8I, GPU_RGBA8UI, GPU_SRGB8, GPU_SRGB8_A8, GPU_SRGB8_A8_DXT1, GPU_SRGB8_A8_DXT3, and GPU_SRGB8_A8_DXT5.
Referenced by blender::gpu::GLTexture::clear(), host_to_device(), blender::gpu::GLTexture::read(), blender::gpu::MTLTexture::read(), blender::gpu::tests::texture_create_upload_read(), blender::gpu::tests::texture_create_upload_read_pixel(), blender::gpu::tests::texture_create_upload_read_with_bias(), blender::gpu::GLTexture::update_sub(), blender::gpu::GLTexture::update_sub(), and blender::gpu::MTLTexture::update_sub().
|
static |
Returns enabled vertex pointers as a bit-flag (one bit per attribute).
Definition at line 27 of file gl_vertex_array.cc.
References blender::gpu::ShaderInterface::attr_get(), BLI_assert, ELEM, GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_FETCH_INT, GPU_FETCH_INT_TO_FLOAT, GPU_FETCH_INT_TO_FLOAT_UNIT, GPU_vertformat_attr_name_get(), GPUVertAttr::size, and to_gl().
Referenced by blender::gpu::GLVertArray::update_bindings().
|
static |
Definition at line 27 of file vk_buffer.cc.
References BLI_assert_msg, GPU_USAGE_DEVICE_ONLY, GPU_USAGE_DYNAMIC, GPU_USAGE_FLAG_BUFFER_TEXTURE_ONLY, GPU_USAGE_STATIC, and GPU_USAGE_STREAM.
Referenced by blender::gpu::VKBuffer::create().
|
static |
Definition at line 43 of file vk_buffer.cc.
Referenced by blender::gpu::VKBuffer::create().
|
static |
Definition at line 48 of file vk_buffer.cc.
Referenced by blender::gpu::VKBuffer::create().
|
inlinestatic |
Definition at line 109 of file gpu_context_private.hh.
Referenced by blender::gpu::MTLBatch::bind(), blender::gpu::MTLImmediate::end(), GPU_context_active_get(), GPU_context_create(), GPU_draw_list_create(), GPU_fence_create(), GPU_framebuffer_active_get(), GPU_framebuffer_back_get(), GPU_framebuffer_create(), GPU_pixel_buffer_create(), GPU_shader_create_ex(), GPU_shader_create_from_info(), GPU_shader_get_bound(), GPU_storagebuf_create_ex(), GPU_texture_create_view(), GPU_uniformbuf_create_ex(), GPU_uniformbuf_create_from_list(), blender::gpu::GLTexture::~GLTexture(), and blender::gpu::MTLContext::~MTLContext().
|
inlinestatic |
Definition at line 31 of file gpu_drawlist_private.hh.
Definition at line 180 of file gpu_state_private.hh.
|
inlinestatic |
Definition at line 258 of file gpu_framebuffer_private.hh.
|
inlinestatic |
Definition at line 353 of file gpu_texture_private.hh.
Definition at line 154 of file gpu_shader_private.hh.
|
inlinestatic |
Definition at line 55 of file gpu_storage_buffer_private.hh.
References storage_buf().
|
inlinestatic |
Definition at line 324 of file gpu_texture_private.hh.
|
inlinestatic |
Definition at line 57 of file gpu_uniform_buffer_private.hh.
| BLI_INLINE Texture * blender::gpu::wrap | ( | VKTexture * | texture | ) |
Definition at line 169 of file vk_texture.hh.
References texture.
| BLI_INLINE UniformBuf * blender::gpu::wrap | ( | VKUniformBuffer * | uniform_buffer | ) |
Definition at line 51 of file vk_uniform_buffer.hh.
|
static |
Definition at line 105 of file vk_shader_compiler.cc.
References cache_dir_get(), blender::gpu::VKShaderModule::compilation_result, G, G_DEBUG_GPU_RENDERDOC, SEP_STR, and blender::gpu::VKShaderModule::sources_hash.
Referenced by compile_ex().
|
staticconstexpr |
Offset when searching for bindings.
When shaders combine images and samplers, the images have to be offset to find the correct shader input. Both textures and images are stored in the uniform list and their ID can be overlapping.
Definition at line 33 of file vk_state_manager.hh.
Referenced by blender::gpu::VKShaderInterface::init().
|
constexpr |
Definition at line 29 of file vk_immediate.hh.
Referenced by blender::gpu::GLImmediate::begin(), blender::gpu::GLImmediate::GLImmediate(), and new_buffer_size().
| const MTLSamplerState blender::gpu::DEFAULT_SAMPLER_STATE = {GPUSamplerState::default_sampler() } |
Definition at line 172 of file mtl_texture.hh.
Referenced by blender::gpu::MTLComputeState::bind_compute_sampler(), blender::gpu::MTLRenderPassState::bind_fragment_sampler(), blender::gpu::MTLRenderPassState::bind_vertex_sampler(), blender::gpu::MTLContext::ensure_texture_bindings(), blender::gpu::MTLContext::ensure_texture_bindings(), and blender::gpu::MTLContext::MTLContext().
| thread_local NSAutoreleasePool* blender::gpu::g_autoreleasepool = nil |
Definition at line 36 of file mtl_backend.mm.
Referenced by blender::gpu::MTLBackend::is_inside_render_boundary(), blender::gpu::MTLBackend::render_begin(), and blender::gpu::MTLBackend::render_end().
| thread_local int blender::gpu::g_autoreleasepool_depth = 0 |
Definition at line 37 of file mtl_backend.mm.
Referenced by blender::gpu::MTLBackend::render_begin(), and blender::gpu::MTLBackend::render_end().
|
static |
Definition at line 780 of file gpu_shader.cc.
Referenced by blender::gpu::Shader::set_framebuffer_srgb_target(), blender::gpu::Shader::set_srgb_uniform(), and blender::gpu::Shader::srgb_uniform_dirty_get().
|
static |
Definition at line 779 of file gpu_shader.cc.
Referenced by blender::gpu::Shader::set_framebuffer_srgb_target(), and blender::gpu::Shader::set_srgb_uniform().
| MTLParallelShaderCompiler* blender::gpu::g_shared_parallel_shader_compiler = nullptr |
Definition at line 1831 of file mtl_shader.mm.
Referenced by get_shared_parallel_shader_compiler(), and release_shared_parallel_shader_compiler().
| std::mutex blender::gpu::g_shared_parallel_shader_compiler_mutex |
Definition at line 1832 of file mtl_shader.mm.
Referenced by get_shared_parallel_shader_compiler(), and release_shared_parallel_shader_compiler().
| GPUCapabilities blender::gpu::GCaps |
Definition at line 22 of file gpu_capabilities.cc.
Referenced by blender::gpu::VKBackend::capabilities_init(), detect_workarounds(), GPU_clear_viewport_workaround(), GPU_compilation_subprocess_override_set(), GPU_crappy_amd_driver(), GPU_depth_blitting_workaround(), GPU_extension_get(), GPU_extensions_len(), GPU_geometry_shader_support(), GPU_hdr_support(), GPU_max_batch_indices(), GPU_max_batch_vertices(), GPU_max_compute_shader_storage_blocks(), GPU_max_images(), GPU_max_samplers(), GPU_max_shader_storage_buffer_bindings(), GPU_max_storage_buffer_size(), GPU_max_texture_3d_size(), GPU_max_texture_layers(), GPU_max_texture_size(), GPU_max_textures(), GPU_max_textures_frag(), GPU_max_textures_geom(), GPU_max_textures_vert(), GPU_max_uniforms_frag(), GPU_max_uniforms_vert(), GPU_max_varying_floats(), GPU_max_vertex_attribs(), GPU_max_work_group_count(), GPU_max_work_group_size(), GPU_mem_stats_supported(), GPU_minimum_per_vertex_stride(), GPU_mip_render_workaround(), GPU_shader_draw_parameters_support(), GPU_stencil_clasify_buffer_workaround(), GPU_stencil_export_support(), GPU_texture_view_support(), GPU_transform_feedback_support(), GPU_use_hq_normals_workaround(), GPU_use_main_context_workaround(), and GPU_use_parallel_compilation().
| GPUPlatformGlobal blender::gpu::GPG |
Definition at line 29 of file gpu_platform.cc.
Referenced by blender::gpu::DummyBackend::DummyBackend(), GPU_platform_architecture(), GPU_platform_devices_list(), GPU_platform_gpu_name(), GPU_platform_renderer(), GPU_platform_support_level(), GPU_platform_support_level_key(), GPU_platform_vendor(), GPU_platform_version(), GPU_type_matches_ex(), and blender::gpu::VKBackend::platform_init().
|
static |
Definition at line 40 of file vk_backend.cc.
Referenced by missing_capabilities_get().
|
static |
Definition at line 22 of file vk_immediate.cc.
Referenced by blender::gpu::VKBackend::is_supported(), blender::gpu::Shader::print_log(), blender::gpu::VKPipelinePool::read_from_disk(), blender::gpu::VKImmediate::reset(), and blender::gpu::VKPipelinePool::write_to_disk().
|
constexpr |
Definition at line 843 of file vk_data_conversion.cc.
Referenced by convert().
|
constexpr |
Definition at line 844 of file vk_data_conversion.cc.
Referenced by convert().
|
static |
Definition at line 135 of file mtl_texture.hh.
|
static |
Definition at line 134 of file mtl_texture.hh.
Referenced by blender::gpu::MTLFrameBuffer::add_color_attachment(), blender::gpu::MTLFrameBuffer::add_depth_attachment(), and blender::gpu::MTLFrameBuffer::add_stencil_attachment().
|
constexpr |
Definition at line 262 of file vk_device.cc.
Referenced by blender::gpu::VKDevice::vendor_name().
|
constexpr |
Definition at line 264 of file vk_device.cc.
Referenced by blender::gpu::VKDevice::vendor_name().
|
constexpr |
Definition at line 263 of file vk_device.cc.
Referenced by blender::gpu::VKDevice::vendor_name().
|
constexpr |
Definition at line 261 of file vk_device.cc.
Referenced by blender::gpu::VKDevice::vendor_name().
|
constexpr |
Definition at line 260 of file vk_device.cc.
Referenced by blender::gpu::VKDevice::vendor_name().
|
constexpr |
Value for invisible elements in a GPU_PRIM_POINTS index buffer.
Definition at line 22 of file GPU_index_buffer.hh.
Referenced by GPU_indexbuf_init_ex().
|
constexpr |
Definition at line 845 of file vk_data_conversion.cc.
|
constexpr |
Definition at line 846 of file vk_data_conversion.cc.
|
constexpr |
Definition at line 847 of file vk_data_conversion.cc.
|
static |
Definition at line 13 of file mtl_query.mm.
Referenced by blender::gpu::MTLQueryPool::begin_query(), and blender::gpu::MTLQueryPool::get_occlusion_result().
|
static |
Definition at line 17 of file mtl_query.mm.
Referenced by blender::gpu::MTLQueryPool::begin_query().