*/}}
Преглед изворни кода

Always write segmented info

YimingWu пре 1 дан
родитељ
комит
2da4ffa705
1 измењених фајлова са 3 додато и 4 уклоњено
  1. 3 4
      ouroperations.c

+ 3 - 4
ouroperations.c

@@ -4635,7 +4635,7 @@ void ourset_LayerImage(OurLayer* l, void* pdata, uint32_t size){
     LA_LEAVE_GLES_CONTEXT;
 }
 int ourget_LayerImageShouldSegment(OurLayer* unused){
-    return Our->SegmentedWrite;
+    return Our->SegmentedWrite || (Our->CompressionMethod);
 }
 void writetestpngfiles(void* data, int size, int i){
     char buf[128]; sprintf(buf,"p%d.png",i);
@@ -4689,10 +4689,9 @@ void ourget_LayerImageSegmented(OurLayer* l, int* r_chunks, uint32_t* r_sizes, v
     logPrint(" for size %dx%d",Our->ImageW,segy);
 }
 void* ourget_LayerImageSegmentedInfo(OurLayer* l, int* r_size, int* r_is_copy){
-    if(!Our->SegmentedWrite){ *r_is_copy=0; *r_size=0; return 0; }
-
-    int threads = our_ProcessorCount(); TNS_CLAMP(threads, 1, 32);
+    if((!Our->SegmentedWrite) && (!Our->CompressionMethod)){ *r_is_copy=0; *r_size=0; return 0; }
     int X,Y,W,H; our_GetFinalDimension(0,0,0,&X,&Y,&W,&H); l->ReadSegmented.Width=W; l->ReadSegmented.Height=H;
+    int threads = our_ProcessorCount(); TNS_CLAMP(threads, 1, 32);
     int useh=H/threads; l->ReadSegmented.Count=threads; 
     for(int i=0;i<threads-1;i++){ l->ReadSegmented.H[i]=useh; } l->ReadSegmented.H[threads-1]=H-useh*(threads-1);