From 1685b1dba44e02ce1faace4a5de6d6cd0d98ef90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Foucault?= Date: Thu, 24 Feb 2022 14:56:02 +0100 Subject: [PATCH] OCIO: Fix mip length in texture creation Also add an assert to avoid reproducing the error in the future. --- intern/opencolorio/ocio_impl_glsl.cc | 4 ++-- source/blender/gpu/intern/gpu_texture.cc | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/intern/opencolorio/ocio_impl_glsl.cc b/intern/opencolorio/ocio_impl_glsl.cc index c5b0c597abd..e3d44ae9d55 100644 --- a/intern/opencolorio/ocio_impl_glsl.cc +++ b/intern/opencolorio/ocio_impl_glsl.cc @@ -324,7 +324,7 @@ static bool addGPULut2D(OCIO_GPUTextures &textures, GPU_R16F; OCIO_GPULutTexture lut; - lut.texture = GPU_texture_create_2d(texture_name, width, height, 0, format, values); + lut.texture = GPU_texture_create_2d(texture_name, width, height, 1, format, values); if (lut.texture == nullptr) { return false; } @@ -356,7 +356,7 @@ static bool addGPULut3D(OCIO_GPUTextures &textures, OCIO_GPULutTexture lut; lut.texture = GPU_texture_create_3d( - texture_name, edgelen, edgelen, edgelen, 0, GPU_RGB16F, GPU_DATA_FLOAT, values); + texture_name, edgelen, edgelen, edgelen, 1, GPU_RGB16F, GPU_DATA_FLOAT, values); if (lut.texture == nullptr) { return false; } diff --git a/source/blender/gpu/intern/gpu_texture.cc b/source/blender/gpu/intern/gpu_texture.cc index da5f08f003e..762b819036c 100644 --- a/source/blender/gpu/intern/gpu_texture.cc +++ b/source/blender/gpu/intern/gpu_texture.cc @@ -192,6 +192,7 @@ static inline GPUTexture *gpu_texture_create(const char *name, eGPUDataFormat data_format, const void *pixels) { + BLI_assert(mips > 0); Texture *tex = GPUBackend::get()->texture_alloc(name); bool success = false; switch (type) {