Revert "GPU: Create and use new GPU_texture_read_rect utility."
authormano-wii <germano.costa@ig.com.br>
Tue, 25 Jun 2019 23:26:46 +0000 (20:26 -0300)
committermano-wii <germano.costa@ig.com.br>
Tue, 25 Jun 2019 23:26:46 +0000 (20:26 -0300)
This reverts commit e061cb44378efaf159a30fb1c5834db48ffb2bb3.
This function is problematic on some operating systems.

# Conflicts:
# source/blender/draw/intern/draw_manager.c
# source/blender/gpu/GPU_texture.h
# source/blender/gpu/intern/gpu_texture.c

source/blender/gpu/GPU_texture.h
source/blender/gpu/intern/gpu_texture.c

index 4397234..2b61d99 100644 (file)
@@ -214,10 +214,6 @@ void GPU_texture_update_sub(GPUTexture *tex,
                             int depth);
 
 void *GPU_texture_read(GPUTexture *tex, eGPUDataFormat gpu_data_format, int miplvl);
-void GPU_texture_read_rect(GPUTexture *tex,
-                           eGPUDataFormat gpu_data_format,
-                           const struct rcti *rect,
-                           void *r_buf);
 
 void GPU_invalid_tex_init(void);
 void GPU_invalid_tex_bind(int mode);
index 54e93c3..6a92832 100644 (file)
@@ -1485,40 +1485,6 @@ void *GPU_texture_read(GPUTexture *tex, eGPUDataFormat gpu_data_format, int mipl
   return buf;
 }
 
-void GPU_texture_read_rect(GPUTexture *tex,
-                           eGPUDataFormat gpu_data_format,
-                           const rcti *rect,
-                           void *r_buf)
-{
-  gpu_validate_data_format(tex->format, gpu_data_format);
-
-  GPUFrameBuffer *cur_fb = GPU_framebuffer_active_get();
-  GPUFrameBuffer *tmp_fb = GPU_framebuffer_create();
-  GPU_framebuffer_texture_attach(tmp_fb, tex, 0, 0);
-
-  GPU_framebuffer_bind(tmp_fb);
-  glReadBuffer(GL_COLOR_ATTACHMENT0);
-
-  GLenum data_format = gpu_get_gl_dataformat(tex->format, &tex->format_flag);
-  GLenum data_type = gpu_get_gl_datatype(gpu_data_format);
-
-  glReadPixels(rect->xmin,
-               rect->ymin,
-               BLI_rcti_size_x(rect),
-               BLI_rcti_size_y(rect),
-               data_format,
-               data_type,
-               r_buf);
-
-  if (cur_fb) {
-    GPU_framebuffer_bind(cur_fb);
-  }
-  else {
-    GPU_framebuffer_restore();
-  }
-  GPU_framebuffer_free(tmp_fb);
-}
-
 void GPU_texture_update(GPUTexture *tex, eGPUDataFormat data_format, const void *pixels)
 {
   GPU_texture_update_sub(tex, data_format, pixels, 0, 0, 0, tex->w, tex->h, tex->d);