Commit: 54f50bd3ccef1fd7b7e3e587f59376c067a066d8
Author: Lukas Stockner
Date:   Wed Jul 4 15:00:12 2018 +0200
Branches: temp-udim-images
https://developer.blender.org/rB54f50bd3ccef1fd7b7e3e587f59376c067a066d8

Merge remote-tracking branch 'origin/blender2.8' into udim

===================================================================



===================================================================

diff --cc source/blender/blenloader/intern/versioning_280.c
index d47ef0c872d,757e17ce82b..3d2a43c68dd
--- a/source/blender/blenloader/intern/versioning_280.c
+++ b/source/blender/blenloader/intern/versioning_280.c
@@@ -1532,26 -1533,50 +1534,72 @@@ void blo_do_versions_280(FileData *fd, 
                        }
                }
  
+               if (!DNA_struct_elem_find(fd->filesdna, "RigidBodyWorld", 
"RigidBodyWorld_Shared", "*shared")) {
+                       for (Scene *scene = bmain->scene.first; scene; scene = 
scene->id.next) {
+                               RigidBodyWorld *rbw = scene->rigidbody_world;
+ 
+                               if (rbw == NULL) {
+                                       continue;
+                               }
+ 
+                               if (rbw->shared == NULL) {
+                                       rbw->shared = 
MEM_callocN(sizeof(*rbw->shared), "RigidBodyWorld_Shared");
+                               }
+ 
+                               /* Move shared pointers from deprecated 
location to current location */
+                               rbw->shared->pointcache = rbw->pointcache;
+                               rbw->shared->ptcaches = rbw->ptcaches;
+ 
+                               rbw->pointcache = NULL;
+                               BLI_listbase_clear(&rbw->ptcaches);
+ 
+                               if (rbw->shared->pointcache == NULL) {
+                                       rbw->shared->pointcache = 
BKE_ptcache_add(&(rbw->shared->ptcaches));
+                               }
+ 
+                       }
+               }
+ 
+               if (!DNA_struct_elem_find(fd->filesdna, "SoftBody", 
"SoftBody_Shared", "*shared")) {
+                       for (Object *ob = bmain->object.first; ob; ob = 
ob->id.next) {
+                               SoftBody *sb = ob->soft;
+                               if (sb == NULL) {
+                                       continue;
+                               }
+                               if (sb->shared == NULL) {
+                                       sb->shared = 
MEM_callocN(sizeof(*sb->shared), "SoftBody_Shared");
+                               }
+ 
+                               /* Move shared pointers from deprecated 
location to current location */
+                               sb->shared->pointcache = sb->pointcache;
+                               sb->shared->ptcaches = sb->ptcaches;
+ 
+                               sb->pointcache = NULL;
+                               BLI_listbase_clear(&sb->ptcaches);
+                       }
+               }
+ 
 +              if (!DNA_struct_elem_find(fd->filesdna, "Image", "short", 
"num_tiles")) {
 +                      for (Image *ima = bmain->image.first; ima; ima = 
ima->id.next) {
 +                              ImageTile *tile = 
MEM_callocN(sizeof(ImageTile), "Image Tiles");
 +                              tile->ok = 1;
 +                              BLI_addtail(&ima->tiles, tile);
 +                      }
 +              }
 +
 +              if (!DNA_struct_elem_find(fd->filesdna, "SpaceImage", "int", 
"tile_grid_shape[2]")) {
 +                      for (bScreen *screen = bmain->screen.first; screen; 
screen = screen->id.next) {
 +                              for (ScrArea *sa = screen->areabase.first; sa; 
sa = sa->next) {
 +                                      for (SpaceLink *sl = 
sa->spacedata.first; sl; sl = sl->next) {
 +                                              if (sl->spacetype == 
SPACE_IMAGE) {
 +                                                      SpaceImage *sima = 
(SpaceImage *)sl;
 +                                                      
sima->tile_grid_shape[0] = 1;
 +                                                      
sima->tile_grid_shape[1] = 1;
 +                                              }
 +                                      }
 +                              }
 +                      }
 +              }
++
        }
  }
diff --cc source/blender/editors/sculpt_paint/paint_image.c
index 2766cdf8eb5,7f71270c52d..c367589e01b
--- a/source/blender/editors/sculpt_paint/paint_image.c
+++ b/source/blender/editors/sculpt_paint/paint_image.c
@@@ -583,11 -587,12 +587,12 @@@ static void paint_stroke_done(const bCo
                                float color[3];
  
                                srgb_to_linearrgb_v3_v3(color, 
BKE_brush_color_get(scene, brush));
 -                              paint_2d_bucket_fill(C, color, brush, 
pop->prevmouse, pop->custom_paint);
 +                              paint_2d_bucket_fill(C, color, brush, 
pop->startmouse, pop->prevmouse, pop->custom_paint);
                        }
                        else {
-                               paint_proj_stroke(C, pop->custom_paint, 
pop->startmouse, pop->prevmouse, paint_stroke_flipped(stroke),
-                                                 1.0, 0.0, 
BKE_brush_size_get(scene, brush));
+                               paint_proj_stroke(
+                                       C, pop->custom_paint, pop->startmouse, 
pop->prevmouse, paint_stroke_flipped(stroke),
+                                       1.0, 0.0, BKE_brush_size_get(scene, 
brush));
                                /* two redraws, one for GPU update, one for 
notification */
                                paint_proj_redraw(C, pop->custom_paint, false);
                                paint_proj_redraw(C, pop->custom_paint, true);
diff --cc source/blender/editors/sculpt_paint/paint_image_2d.c
index 99134687cbc,da08766b322..62daf39e278
--- a/source/blender/editors/sculpt_paint/paint_image_2d.c
+++ b/source/blender/editors/sculpt_paint/paint_image_2d.c
@@@ -464,8 -442,9 +464,9 @@@ static ImBuf *brush_painter_imbuf_new(B
  }
  
  /* update rectangular section of the brush image */
- static void brush_painter_imbuf_update(BrushPainter *painter, ImagePaintTile 
*tile, ImBuf *oldtexibuf,
-                                        int origx, int origy, int w, int h, 
int xt, int yt)
+ static void brush_painter_imbuf_update(
 -        BrushPainter *painter, ImBuf *oldtexibuf,
++        BrushPainter *painter, ImagePaintTile *tile, ImBuf *oldtexibuf,
+         int origx, int origy, int w, int h, int xt, int yt)
  {
        Scene *scene = painter->scene;
        Brush *brush = painter->brush;
@@@ -703,11 -682,12 +705,12 @@@ static void brush_painter_2d_refresh_ca
                else if (!((brush->flag & BRUSH_ANCHORED) || update_color))
                        do_partial_update = true;
  
-               brush_painter_2d_tex_mapping(s, tile->canvas, diameter, 
tile->start_paintpos, pos, mouse,
-                                            brush->mtex.brush_map_mode, 
&painter->tex_mapping);
+               brush_painter_2d_tex_mapping(
 -                      s, diameter, painter->startpaintpos, pos, mouse,
++                      s, tile->canvas, diameter, tile->start_paintpos, pos, 
mouse,
+                       brush->mtex.brush_map_mode, &painter->tex_mapping);
        }
  
 -      if (painter->cache.is_maskbrush) {
 +      if (cache->is_maskbrush) {
                bool renew_maxmask = false;
                bool do_partial_update_mask = false;
                /* invalidate case for all mapping modes */
@@@ -736,11 -716,12 +739,12 @@@
                                cache->tex_mask = NULL;
                        }
  
-                       brush_painter_2d_tex_mapping(s, tile->canvas, diameter, 
tile->start_paintpos, pos, mouse,
-                                                    
brush->mask_mtex.brush_map_mode, &painter->mask_mapping);
+                       brush_painter_2d_tex_mapping(
 -                              s, diameter, painter->startpaintpos, pos, mouse,
++                              s, tile->canvas, diameter, 
tile->start_paintpos, pos, mouse,
+                               brush->mask_mtex.brush_map_mode, 
&painter->mask_mapping);
  
                        if (do_partial_update_mask)
 -                              
brush_painter_mask_imbuf_partial_update(painter, pos, diameter);
 +                              
brush_painter_mask_imbuf_partial_update(painter, tile, pos, diameter);
                        else
                                cache->tex_mask = 
brush_painter_mask_ibuf_new(painter, diameter);
                        cache->last_mask_rotation = mask_rotation;
@@@ -930,9 -865,10 +934,10 @@@ static void paint_2d_lift_soften(ImageP
        in_off[1] = pos[1];
        out_off[0] = out_off[1] = 0;
  
 -      if (!tile) {
 +      if (!paint_tile) {
-               IMB_rectclip(ibuf, ibufb, &in_off[0], &in_off[1], &out_off[0],
-                            &out_off[1], &dim[0], &dim[1]);
+               IMB_rectclip(
+                       ibuf, ibufb, &in_off[0], &in_off[1], &out_off[0],
+                       &out_off[1], &dim[0], &dim[1]);
  
                if ((dim[0] == 0) || (dim[1] == 0))
                        return;
@@@ -963,9 -899,10 +968,10 @@@
  
                        for (yk = 0; yk < kernel->side; yk++) {
                                for (xk = 0; xk < kernel->side; xk++) {
-                                       count += paint_2d_ibuf_add_if(ibuf, xi 
+ xk - kernel->pixel_len,
-                                                                      yi + yk 
- kernel->pixel_len, outrgb, paint_tile,
-                                                                      
kernel->wdata[xk + yk * kernel->side]);
+                                       count += paint_2d_ibuf_add_if(
+                                               ibuf, xi + xk - 
kernel->pixel_len,
 -                                              yi + yk - kernel->pixel_len, 
outrgb, tile,
++                                              yi + yk - kernel->pixel_len, 
outrgb, paint_tile,
+                                               kernel->wdata[xk + yk * 
kernel->side]);
                                }
                        }
  
@@@ -1061,13 -998,14 +1067,14 @@@ static void paint_2d_lift_smear(ImBuf *
        int a, tot;
  
        paint_2d_set_region(region, 0, 0, pos[0], pos[1], ibufb->x, ibufb->y);
 -      tot = paint_2d_torus_split_region(region, ibufb, ibuf, tile);
 +      tot = paint_2d_torus_split_region(region, ibufb, ibuf, paint_tile);
  
        for (a = 0; a < tot; a++)
-               IMB_rectblend(ibufb, ibufb, ibuf, NULL, NULL, NULL, 0, 
region[a].destx, region[a].desty,
-                             region[a].destx, region[a].desty,
-                             region[a].srcx, region[a].srcy,
-                             region[a].width, region[a].height, 
IMB_BLEND_COPY, false);
+               IMB_rectblend(
+                       ibufb, ibufb, ibuf, NULL, NULL, NULL, 0, 
region[a].destx, region[a].desty,
+                       region[a].destx, region[a].desty,
+                       region[a].srcx, region[a].srcy,
+                       region[a].width, region[a].height, IMB_BLEND_COPY, 
false);
  }
  
  static ImBuf *paint_2d_lift_clone(ImBuf *ibuf, ImBuf *ibufb, int *pos)
@@@ -1092,14 -1032,16 +1101,15 @@@ static void paint_2d_convert_brushco(Im
        ipos[1] = (int)floorf((pos[1] - ibufb->y / 2));
  }
  
- static void paint_2d_do_making_brush(ImagePaintState *s,
-                                      ImagePaintTile *tile,
-                                      ImagePaintRegion *region,
-                                      ImBuf *frombuf,
-                                      float mask_max,
-                                      short blend,
-                                      int tilex, int tiley,
-                                      int tilew, int tileh)
+ static void paint_2d_do_making_brush(
+         ImagePaintState *s,
++        ImagePaintTile *tile,
+         ImagePaintRegion *region,
 -        unsigned short *curveb,
 -        unsigned short *texmaskb,
+         ImBuf *frombuf,
+         float mask_max,
+         short blend,
+         int tilex, int tiley,
+         int tilew, int tileh)
  {
        ImBuf tmpbuf;
        IMB_initImBuf(&tmpbuf, IMAPAINT_TILE_SIZE, IMAPAINT_TILE_SIZE, 32, 0);
@@@ -1113,18 -1055,19 +1123,19 @@@
                        int origx = region->destx - tx * IMAPAINT_TILE_SIZE;
                        int origy = region->desty - ty * IMAPAINT_TILE_SIZE;
  
 -                      if (s->canvas->rect_float)
 -                              tmpbuf.rect_float = 
image_undo_find_tile(undo_tiles, s->image, s->canvas, tx, ty, &mask, false);
 +                      if (tile->canvas->rect_float)
 +                              tmpbuf.rect_float = 
image_undo_find_tile(undo_tiles, s->image, tile->canvas, tx, ty, &mask, false);
                        else
 -                              tmpbuf.rect = image_undo_find_tile(undo_tiles, 
s->image, s->canvas, tx, ty, &mask, false);
 +                              tmpbuf.rect = image_undo_find_tile(undo_tiles, 
s->image, tile->canvas, tx, ty, &mask, false);
  
-                       IMB_rectblend(tile->canvas, &tmpbuf, frombuf, mask,
-                                     tile->cache.curve_mask, 
tile->cache.tex_mask, mask_max,
-                                     region->destx, region->desty,
-                                     origx, origy,
-                                     region->srcx, region->srcy,
-                                     region->width, region->height,
-                                     blend, ((s->brush->flag & 
BRUSH_ACCUMULATE) != 0)

@@ Diff output truncated at 10240 characters. @@

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to