Changeset View
Changeset View
Standalone View
Standalone View
source/blender/gpu/metal/mtl_texture.mm
| Show First 20 Lines • Show All 1,927 Lines • ▼ Show 20 Lines | void gpu::MTLTexture::reset() | ||||
| /* Delete associated METAL resources. */ | /* Delete associated METAL resources. */ | ||||
| if (texture_ != nil) { | if (texture_ != nil) { | ||||
| [texture_ release]; | [texture_ release]; | ||||
| texture_ = nil; | texture_ = nil; | ||||
| is_baked_ = false; | is_baked_ = false; | ||||
| is_dirty_ = true; | is_dirty_ = true; | ||||
| } | } | ||||
| if (texture_no_srgb_ != nil) { | |||||
| [texture_no_srgb_ release]; | |||||
| texture_no_srgb_ = nil; | |||||
| } | |||||
| if (mip_swizzle_view_ != nil) { | if (mip_swizzle_view_ != nil) { | ||||
| [mip_swizzle_view_ release]; | [mip_swizzle_view_ release]; | ||||
| mip_swizzle_view_ = nil; | mip_swizzle_view_ = nil; | ||||
| } | } | ||||
| if (texture_buffer_ != nil) { | if (texture_buffer_ != nil) { | ||||
| [texture_buffer_ release]; | [texture_buffer_ release]; | ||||
| } | } | ||||
| Show All 15 Lines | void gpu::MTLTexture::reset() | ||||
| BLI_assert(texture_ == nil); | BLI_assert(texture_ == nil); | ||||
| BLI_assert(mip_swizzle_view_ == nil); | BLI_assert(mip_swizzle_view_ == nil); | ||||
| } | } | ||||
| /** \} */ | /** \} */ | ||||
| /* -------------------------------------------------------------------- */ | /* -------------------------------------------------------------------- */ | ||||
| /** \name SRGB Handling. | |||||
| * \{ */ | |||||
| bool MTLTexture::is_format_srgb() | |||||
| { | |||||
| return (format_ == GPU_SRGB8_A8); | |||||
| } | |||||
| id<MTLTexture> MTLTexture::get_non_srgb_handle() | |||||
| { | |||||
| id<MTLTexture> base_tex = get_metal_handle_base(); | |||||
| BLI_assert(base_tex != nil); | |||||
| if (texture_no_srgb_ == nil) { | |||||
| texture_no_srgb_ = [base_tex newTextureViewWithPixelFormat:MTLPixelFormatRGBA8Unorm]; | |||||
| } | |||||
| return texture_no_srgb_; | |||||
| } | |||||
| /** \} */ | |||||
| /* -------------------------------------------------------------------- */ | |||||
| /** \name Pixel Buffer | /** \name Pixel Buffer | ||||
| * \{ */ | * \{ */ | ||||
| MTLPixelBuffer::MTLPixelBuffer(uint size) : PixelBuffer(size) | MTLPixelBuffer::MTLPixelBuffer(uint size) : PixelBuffer(size) | ||||
| { | { | ||||
| MTLContext *ctx = MTLContext::get(); | MTLContext *ctx = MTLContext::get(); | ||||
| BLI_assert(ctx); | BLI_assert(ctx); | ||||
| /* Ensure buffer satisfies the alignment of 256 bytes for copying | /* Ensure buffer satisfies the alignment of 256 bytes for copying | ||||
| ▲ Show 20 Lines • Show All 62 Lines • Show Last 20 Lines | |||||