|
@@ -4635,7 +4635,7 @@ void ourset_LayerImage(OurLayer* l, void* pdata, uint32_t size){
|
|
|
LA_LEAVE_GLES_CONTEXT;
|
|
LA_LEAVE_GLES_CONTEXT;
|
|
|
}
|
|
}
|
|
|
int ourget_LayerImageShouldSegment(OurLayer* unused){
|
|
int ourget_LayerImageShouldSegment(OurLayer* unused){
|
|
|
- return Our->SegmentedWrite;
|
|
|
|
|
|
|
+ return Our->SegmentedWrite || (Our->CompressionMethod);
|
|
|
}
|
|
}
|
|
|
void writetestpngfiles(void* data, int size, int i){
|
|
void writetestpngfiles(void* data, int size, int i){
|
|
|
char buf[128]; sprintf(buf,"p%d.png",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);
|
|
logPrint(" for size %dx%d",Our->ImageW,segy);
|
|
|
}
|
|
}
|
|
|
void* ourget_LayerImageSegmentedInfo(OurLayer* l, int* r_size, int* r_is_copy){
|
|
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 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;
|
|
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);
|
|
for(int i=0;i<threads-1;i++){ l->ReadSegmented.H[i]=useh; } l->ReadSegmented.H[threads-1]=H-useh*(threads-1);
|
|
|
|
|
|