From 67898c6505c9180b5a5a31457f11d29b41fa91ba Mon Sep 17 00:00:00 2001 From: Fox Caminiti Date: Mon, 15 Aug 2022 10:08:07 -0400 Subject: fixes --- prenderer.cpp | 28 ++-------------------------- 1 file changed, 2 insertions(+), 26 deletions(-) (limited to 'prenderer.cpp') diff --git a/prenderer.cpp b/prenderer.cpp index 940cb0a..a93fa90 100644 --- a/prenderer.cpp +++ b/prenderer.cpp @@ -18,8 +18,6 @@ CheckQueue(render_queue RenderInfo, uint16 Index); static void CalculateAnchorOffset(project_layer *Layer, real32 Value, uint16 Dir) { - v2 Result = {}; - transform_info TransformInfo; source *Source = Layer->Source; real32 Rad = (Layer->rotation.CurrentValue.f * (PI / 180)); @@ -136,7 +134,7 @@ static void QueueCurrentFrame(project_data *File, comp_buffer *CompBuffer, project_state *State) { IsRendering = true; - render_queue RenderInfo = {File, State, CompBuffer}; + // render_queue RenderInfo = {File, State, CompBuffer}; for (int16 i = 0; i < File->NumberOfLayers; i++) { @@ -401,25 +399,16 @@ AVX2_RenderLayer(transform_info T, comp_buffer *Buffer, rectangle RenderRegion) __m256 One = _mm256_set1_ps(1); __m256 Two = _mm256_set1_ps(2); __m256 Zero = _mm256_set1_ps(0); - // __m256 UMin = _mm256_set1_ps(0.0f - (1 / T.LayerWidth)); - // __m256 VMin = _mm256_set1_ps(0.0f - (1 / T.LayerHeight)); - // __m256 UMax = _mm256_set1_ps(1.0f + (1 / T.LayerWidth)); - __m256 VMax = _mm256_set1_ps(1.0f - (1 / T.LayerHeight)); __m256 ZeroPoint25 = _mm256_set1_ps(0.25); __m256 ZeroPointFive = _mm256_set1_ps(0.5); - __m256i Zeroi = _mm256_set1_epi32(0); __m256i Onei = _mm256_set1_epi32(1); __m256 Four = _mm256_set1_ps(4); - __m256 Sixteen = _mm256_set1_ps(16); __m256i FF = _mm256_set1_epi32(0xFF); - __m256i Full = _mm256_set1_epi32(0xFFFFFFFF); __m256i BottomTwoBits = _mm256_set1_epi32(0x03); __m256i Fouri = _mm256_set1_epi32(4); __m256i Sixteeni = _mm256_set1_epi32(16); - __m256i SixtyFouri = _mm256_set1_epi32(64); __m256 Real255 = _mm256_set1_ps(255.0f); - __m256i Int255 = _mm256_set1_epi32(255); __m256 Norm255 = _mm256_set1_ps(1/255.0f); // __m256i White = _mm256_setr_epi32(0xFFFFFFFF, 0, 0, 0, 0xFFFFFFFF, 0, 0, 0); // __m256i White2 = _mm256_set1_epi32(0xFFFFFFFF); @@ -523,8 +512,7 @@ AVX2_RenderLayer(transform_info T, comp_buffer *Buffer, rectangle RenderRegion) __m256i TexXIntPlusOne = _mm256_add_epi32(TexXInt, _mm256_and_si256(_mm256_cmpgt_epi32(LayerWidthMinusOne, TexXInt), Onei)); __m256i TexYInt = _mm256_cvttps_epi32(TexYFull); __m256i TexYIntPlusOne = _mm256_add_epi32(TexYInt, _mm256_and_si256(_mm256_cmpgt_epi32(LayerHeightMinusOne, TexYInt), Onei)); - if (T.LayerWidth == 50 && _mm256_cvtsi256_si32(TexYIntPlusOne) == 49) - int pp = 0; + // NOTE(fox): The comparison is for when we're on the last pixel of the texel. __m256 TexX = _mm256_sub_ps(TexXFull, _mm256_cvtepi32_ps(TexXInt)); @@ -793,16 +781,13 @@ SSE2_RenderLayer(transform_info T, comp_buffer *Buffer, rectangle RenderRegion) __m128 Two = _mm_set1_ps(2); __m128 Zero = _mm_set1_ps(0); __m128 ZeroPointFive = _mm_set1_ps(0.5); - __m128i Zeroi = _mm_set1_epi32(0); __m128i Onei = _mm_set1_epi32(1); __m128 Four = _mm_set1_ps(4); - __m128 Sixteen = _mm_set1_ps(16); __m128i FF = _mm_set1_epi32(0xFF); __m128i BottomTwoBits = _mm_set1_epi32(0x03); __m128i Fouri = _mm_set1_epi32(4); __m128i Sixteeni = _mm_set1_epi32(16); __m128 Reg255 = _mm_set1_ps(255.0f); - __m128i Int255 = _mm_set1_epi32(255); __m128 Norm255 = _mm_set1_ps(1/255.0f); // NOTE(fox): Each loop operates on 4 pixels, 4 horizontal by 1 vertical. @@ -1122,9 +1107,6 @@ Fallback_RenderLayer(transform_info T, comp_buffer *Buffer, rectangle RenderRegi uint16 WidthP, HeightP; Bitmap_CalcPackedDimensions(Buffer->Width, Buffer->Height, &WidthP, &HeightP); - uint8 *Row = ((uint8 *)Buffer->PackedBuffer + WidthP*Buffer->BytesPerPixel*(int16)(LayerBounds.Min.y) ); - - uint32 Channel = (T.LayerWidth * T.LayerHeight); real32 Normalized255 = 1 / 255.0f; for (int16 Y = LayerBounds.Min.y; Y < LayerBounds.Max.y; Y++) @@ -1149,12 +1131,6 @@ Fallback_RenderLayer(transform_info T, comp_buffer *Buffer, rectangle RenderRegi uint32 TexYInt = (uint32)TexYFull; real32 TexY = TexYFull - TexYInt; - if(T.LayerWidth == 50) - real32 pp = 0; - - if(TexYInt > 47 && T.LayerWidth == 50) - real32 pp = 0; - real32 TexXInv = 1 - TexX; real32 TexYInv = 1 - TexY; real32 TexBothXInv = TexXInv * TexY; -- cgit v1.2.3