diff options
author | Fox Caminiti <fox@foxcam.net> | 2022-07-27 11:00:45 -0400 |
---|---|---|
committer | Fox Caminiti <fox@foxcam.net> | 2022-07-27 11:00:45 -0400 |
commit | 83ce428d8bb5f4a762abf879adec076bc34cf36a (patch) | |
tree | c1500f027d9eec514ba1a2912e7a4763e7be26b2 /threading.cpp | |
parent | c6bd84c356b6aaa029b9708d7b99a4aba1673b6b (diff) |
full support for odd-dimension bitmaps and comps
Diffstat (limited to 'threading.cpp')
-rw-r--r-- | threading.cpp | 19 |
1 files changed, 1 insertions, 18 deletions
diff --git a/threading.cpp b/threading.cpp index 07584bd..39e7b75 100644 --- a/threading.cpp +++ b/threading.cpp @@ -7,10 +7,6 @@ PushRect(rectangle RenderRegion) SDL_SemPost(Semaphore); } -internal void -AVX2_RenderLayer(transform_info TransformInfo, pixel_buffer *Buffer, rectangle RenderRegion); -internal void -Fallback_RenderLayer(transform_info TransformInfo, pixel_buffer *Buffer, rectangle RenderRegion); internal bool32 CheckQueue(render_queue RenderInfo, uint16 Index) @@ -22,20 +18,7 @@ CheckQueue(render_queue RenderInfo, uint16 Index) if (__atomic_compare_exchange_n(&NextEntryToDo, &OriginalEntry, NextEntryToDo + 1, true, __ATOMIC_RELEASE, __ATOMIC_ACQUIRE)) { render_entry *Entry = Entries + OriginalEntry; Assert(Entry->RenderRegion.Max.x != 0); - for (int16 i = 0; i < RenderInfo.State->NumberOfLayersToRender; i++) { - int16 Idx = RenderInfo.State->LayersToRender[i]; -#if ARM - Fallback_RenderLayer(RenderInfo.File->Layer[Idx]->TransformInfo, RenderInfo.CompBuffer, Entry->RenderRegion); - // RenderLayerNeon(RenderInfo.File->Layer[Idx], RenderInfo.CompBuffer, Entry->RenderRegion); -#else - // printf("(RENDERING) Thread %i, region X%i Y%i\n", Index, Entry->RenderRegion.Min.x/240, Entry->RenderRegion.Min.y/135); - if (AVXEnabled) - AVX2_RenderLayer(RenderInfo.File->Layer[Idx]->TransformInfo, RenderInfo.CompBuffer, Entry->RenderRegion); - else - Fallback_RenderLayer(RenderInfo.File->Layer[Idx]->TransformInfo, RenderInfo.CompBuffer, Entry->RenderRegion); -#endif - } - + RenderLayers(RenderInfo, Entry->RenderRegion); // printf("(FINISHED) Thread %i, region X%i Y%i\n", Index, Entry->RenderRegion.Min.x/240, Entry->RenderRegion.Min.y/135); __atomic_add_fetch(&CompletedJobs, 1, __ATOMIC_ACQ_REL); Result = 1; |