diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2020-07-27 14:37:14 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2020-07-27 14:37:22 +0300 |
commit | 0b04f0e4e63ff88e493bedb6bd9ea4fe5b3557ca (patch) | |
tree | be7c2a550cdd64c8d4c27ce030df7d75b13320d0 /source/blender/gpu/intern/gpu_texture.c | |
parent | bfeb94ecccbf9222ef46294db88ca678e3c529fc (diff) |
GPU: Fix crash and missing texture due to recent C++ port
Fix T79306 DRW: small issues with yesterday commits modifying TEXTARGET
Fix T79303 Image texture node crashes EEVEE when connected to a shader output
Diffstat (limited to 'source/blender/gpu/intern/gpu_texture.c')
-rw-r--r-- | source/blender/gpu/intern/gpu_texture.c | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/source/blender/gpu/intern/gpu_texture.c b/source/blender/gpu/intern/gpu_texture.c index e3d0dcdf65b..88424cb4cec 100644 --- a/source/blender/gpu/intern/gpu_texture.c +++ b/source/blender/gpu/intern/gpu_texture.c @@ -1186,18 +1186,24 @@ GPUTexture *GPU_texture_create_buffer(eGPUTextureFormat tex_format, const GLuint return tex; } -static GLenum convert_target_to_gl(int target) -{ - static const GLenum table[] = { - [TEXTARGET_2D] = GL_TEXTURE_2D, - [TEXTARGET_CUBE_MAP] = GL_TEXTURE_CUBE_MAP, - [TEXTARGET_2D_ARRAY] = GL_TEXTURE_2D_ARRAY, - [TEXTARGET_TILE_MAPPING] = GL_TEXTURE_1D_ARRAY, - }; - return table[target]; +static GLenum convert_target_to_gl(eGPUTextureTarget target) +{ + switch (target) { + case TEXTARGET_2D: + return GL_TEXTURE_2D; + case TEXTARGET_CUBE_MAP: + return GL_TEXTURE_CUBE_MAP; + case TEXTARGET_2D_ARRAY: + return GL_TEXTURE_2D_ARRAY; + case TEXTARGET_TILE_MAPPING: + return GL_TEXTURE_1D_ARRAY; + default: + BLI_assert(0); + return GL_TEXTURE_2D; + } } -GPUTexture *GPU_texture_from_bindcode(int target, int bindcode) +GPUTexture *GPU_texture_from_bindcode(eGPUTextureTarget target, int bindcode) { GLenum textarget = convert_target_to_gl(target); |