summaryrefslogtreecommitdiff
path: root/pkgs/lwjgl/patches/3.3.4
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/lwjgl/patches/3.3.4')
-rw-r--r--pkgs/lwjgl/patches/3.3.4/0001-build-use-pkg-config-for-linux-dependencies.patch4
-rw-r--r--pkgs/lwjgl/patches/3.3.4/0002-build-allow-local-kotlin.patch4
-rw-r--r--pkgs/lwjgl/patches/3.3.4/0003-build-allow-linking-against-system-libffi.patch4
-rw-r--r--pkgs/lwjgl/patches/3.3.4/0004-build-add-dbus-as-dependency-for-nfd_portal.patch4
-rw-r--r--pkgs/lwjgl/patches/3.3.4/0005-build-allow-setting-pkg-config-prefix-suffix.patch4
-rw-r--r--pkgs/lwjgl/patches/3.3.4/0006-feat-stb-update-stb_image_resize-to-2.10.patch446
6 files changed, 456 insertions, 10 deletions
diff --git a/pkgs/lwjgl/patches/3.3.4/0001-build-use-pkg-config-for-linux-dependencies.patch b/pkgs/lwjgl/patches/3.3.4/0001-build-use-pkg-config-for-linux-dependencies.patch
index 092cf1d..3bfe79c 100644
--- a/pkgs/lwjgl/patches/3.3.4/0001-build-use-pkg-config-for-linux-dependencies.patch
+++ b/pkgs/lwjgl/patches/3.3.4/0001-build-use-pkg-config-for-linux-dependencies.patch
@@ -1,7 +1,7 @@
-From 44e2d7fdaf32809e9b50d63834fc834dccb7752d Mon Sep 17 00:00:00 2001
+From ef65728903729e2b3c0fe3ddf621b7738b937785 Mon Sep 17 00:00:00 2001
From: Seth Flynn <[email protected]>
Date: Wed, 5 Mar 2025 16:20:59 -0500
-Subject: [PATCH 1/5] build: use pkg-config for linux dependencies
+Subject: [PATCH 1/6] build: use pkg-config for linux dependencies
Adapted from https://cgit.freebsd.org/ports/commit/?id=680dc7bb031d0f708c2dd38f055ec8d63ee68b8a
---
diff --git a/pkgs/lwjgl/patches/3.3.4/0002-build-allow-local-kotlin.patch b/pkgs/lwjgl/patches/3.3.4/0002-build-allow-local-kotlin.patch
index 3d230ce..361cdf6 100644
--- a/pkgs/lwjgl/patches/3.3.4/0002-build-allow-local-kotlin.patch
+++ b/pkgs/lwjgl/patches/3.3.4/0002-build-allow-local-kotlin.patch
@@ -1,7 +1,7 @@
-From 36e6e8bb83e94c92f29ef94c59fc3119b8ba425d Mon Sep 17 00:00:00 2001
+From ed2815bff5eadbe5128dc66cd689ff88e93bc19c Mon Sep 17 00:00:00 2001
From: Seth Flynn <[email protected]>
Date: Wed, 5 Mar 2025 16:34:50 -0500
-Subject: [PATCH 2/5] build: allow local kotlin
+Subject: [PATCH 2/6] build: allow local kotlin
Adapted from https://cgit.freebsd.org/ports/commit/?id=680dc7bb031d0f708c2dd38f055ec8d63ee68b8a
---
diff --git a/pkgs/lwjgl/patches/3.3.4/0003-build-allow-linking-against-system-libffi.patch b/pkgs/lwjgl/patches/3.3.4/0003-build-allow-linking-against-system-libffi.patch
index 2271e5f..6d21fb1 100644
--- a/pkgs/lwjgl/patches/3.3.4/0003-build-allow-linking-against-system-libffi.patch
+++ b/pkgs/lwjgl/patches/3.3.4/0003-build-allow-linking-against-system-libffi.patch
@@ -1,7 +1,7 @@
-From ff06851e13461c0b9e2f258caf6a2ead16bad700 Mon Sep 17 00:00:00 2001
+From bda441991252b42dc09504b87379108cfe24f1fb Mon Sep 17 00:00:00 2001
From: Seth Flynn <[email protected]>
Date: Wed, 5 Mar 2025 16:43:57 -0500
-Subject: [PATCH 3/5] build: allow linking against system libffi
+Subject: [PATCH 3/6] build: allow linking against system libffi
Adapted from https://cgit.freebsd.org/ports/commit/?id=680dc7bb031d0f708c2dd38f055ec8d63ee68b8a
---
diff --git a/pkgs/lwjgl/patches/3.3.4/0004-build-add-dbus-as-dependency-for-nfd_portal.patch b/pkgs/lwjgl/patches/3.3.4/0004-build-add-dbus-as-dependency-for-nfd_portal.patch
index 77a673a..dbaf5ac 100644
--- a/pkgs/lwjgl/patches/3.3.4/0004-build-add-dbus-as-dependency-for-nfd_portal.patch
+++ b/pkgs/lwjgl/patches/3.3.4/0004-build-add-dbus-as-dependency-for-nfd_portal.patch
@@ -1,7 +1,7 @@
-From 258c919591e2aa16fded26c637c8130a27c9feab Mon Sep 17 00:00:00 2001
+From 22ba346a5804650d15077b0d25496e63394da8a2 Mon Sep 17 00:00:00 2001
From: Seth Flynn <[email protected]>
Date: Wed, 5 Mar 2025 17:10:20 -0500
-Subject: [PATCH 4/5] build: add dbus as dependency for nfd_portal
+Subject: [PATCH 4/6] build: add dbus as dependency for nfd_portal
---
config/linux/build.xml | 10 ++++++++++
diff --git a/pkgs/lwjgl/patches/3.3.4/0005-build-allow-setting-pkg-config-prefix-suffix.patch b/pkgs/lwjgl/patches/3.3.4/0005-build-allow-setting-pkg-config-prefix-suffix.patch
index 2ef60d8..85897cd 100644
--- a/pkgs/lwjgl/patches/3.3.4/0005-build-allow-setting-pkg-config-prefix-suffix.patch
+++ b/pkgs/lwjgl/patches/3.3.4/0005-build-allow-setting-pkg-config-prefix-suffix.patch
@@ -1,7 +1,7 @@
-From 508b031f7edf480f6a8966c8779e395658d206c5 Mon Sep 17 00:00:00 2001
+From 3d717be7217b8d08529a1740fd4392da66103b74 Mon Sep 17 00:00:00 2001
From: Seth Flynn <[email protected]>
Date: Thu, 6 Mar 2025 02:31:35 -0500
-Subject: [PATCH 5/5] build: allow setting pkg-config prefix & suffix
+Subject: [PATCH 5/6] build: allow setting pkg-config prefix & suffix
---
config/linux/build.xml | 19 +++++++++++++------
diff --git a/pkgs/lwjgl/patches/3.3.4/0006-feat-stb-update-stb_image_resize-to-2.10.patch b/pkgs/lwjgl/patches/3.3.4/0006-feat-stb-update-stb_image_resize-to-2.10.patch
new file mode 100644
index 0000000..6772716
--- /dev/null
+++ b/pkgs/lwjgl/patches/3.3.4/0006-feat-stb-update-stb_image_resize-to-2.10.patch
@@ -0,0 +1,446 @@
+From 785c35771d54ee2d5f598e8a888ba6135e20f62e Mon Sep 17 00:00:00 2001
+From: Ioannis Tsakpinis <[email protected]>
+Date: Mon, 26 Aug 2024 20:50:29 +0300
+Subject: [PATCH 6/6] feat(stb) update stb_image_resize to 2.10
+
+(cherry picked from commit cf7e0ef7189292e5213a0cd7d39064b7a38f1efa)
+---
+ .../lwjgl/stb/src/main/c/stb_image_resize2.h | 161 ++++++++++--------
+ 1 file changed, 86 insertions(+), 75 deletions(-)
+
+diff --git a/modules/lwjgl/stb/src/main/c/stb_image_resize2.h b/modules/lwjgl/stb/src/main/c/stb_image_resize2.h
+index bce18d54c..061843e3f 100644
+--- a/modules/lwjgl/stb/src/main/c/stb_image_resize2.h
++++ b/modules/lwjgl/stb/src/main/c/stb_image_resize2.h
+@@ -1,4 +1,4 @@
+-/* stb_image_resize2 - v2.09 - public domain image resizing
++/* stb_image_resize2 - v2.10 - public domain image resizing
+
+ by Jeff Roberts (v2) and Jorge L Rodriguez
+ http://github.com/nothings/stb
+@@ -328,16 +328,18 @@
+ Nathan Reed: warning fixes for 1.0
+
+ REVISIONS
++ 2.10 (2024-07-27) fix the defines GCC and mingw for loop unroll control,
++ fix MSVC 32-bit arm half float routines.
+ 2.09 (2024-06-19) fix the defines for 32-bit ARM GCC builds (was selecting
+ hardware half floats).
+ 2.08 (2024-06-10) fix for RGB->BGR three channel flips and add SIMD (thanks
+ to Ryan Salsbury), fix for sub-rect resizes, use the
+ pragmas to control unrolling when they are available.
+- 2.07 (2024-05-24) fix for slow final split during threaded conversions of very
+- wide scanlines when downsampling (caused by extra input
+- converting), fix for wide scanline resamples with many
++ 2.07 (2024-05-24) fix for slow final split during threaded conversions of very
++ wide scanlines when downsampling (caused by extra input
++ converting), fix for wide scanline resamples with many
+ splits (int overflow), fix GCC warning.
+- 2.06 (2024-02-10) fix for identical width/height 3x or more down-scaling
++ 2.06 (2024-02-10) fix for identical width/height 3x or more down-scaling
+ undersampling a single row on rare resize ratios (about 1%).
+ 2.05 (2024-02-07) fix for 2 pixel to 1 pixel resizes with wrap (thanks Aras),
+ fix for output callback (thanks Julien Koenen).
+@@ -1205,18 +1207,18 @@ static stbir__inline stbir_uint8 stbir__linear_to_srgb_uchar(float in)
+ #define STBIR_STREAMOUT_PTR( star ) star __restrict
+ #define STBIR_NO_UNROLL( ptr ) __assume(ptr) // this oddly keeps msvc from unrolling a loop
+ #if _MSC_VER >= 1900
+- #define STBIR_NO_UNROLL_LOOP_START __pragma(loop( no_vector ))
++ #define STBIR_NO_UNROLL_LOOP_START __pragma(loop( no_vector ))
+ #else
+- #define STBIR_NO_UNROLL_LOOP_START
++ #define STBIR_NO_UNROLL_LOOP_START
+ #endif
+ #elif defined( __clang__ )
+ #define STBIR_STREAMOUT_PTR( star ) star __restrict__
+- #define STBIR_NO_UNROLL( ptr ) __asm__ (""::"r"(ptr))
++ #define STBIR_NO_UNROLL( ptr ) __asm__ (""::"r"(ptr))
+ #if ( __clang_major__ >= 4 ) || ( ( __clang_major__ >= 3 ) && ( __clang_minor__ >= 5 ) )
+ #define STBIR_NO_UNROLL_LOOP_START _Pragma("clang loop unroll(disable)") _Pragma("clang loop vectorize(disable)")
+ #else
+ #define STBIR_NO_UNROLL_LOOP_START
+- #endif
++ #endif
+ #elif defined( __GNUC__ )
+ #define STBIR_STREAMOUT_PTR( star ) star __restrict__
+ #define STBIR_NO_UNROLL( ptr ) __asm__ (""::"r"(ptr))
+@@ -1225,12 +1227,17 @@ static stbir__inline stbir_uint8 stbir__linear_to_srgb_uchar(float in)
+ #else
+ #define STBIR_NO_UNROLL_LOOP_START
+ #endif
++ #define STBIR_NO_UNROLL_LOOP_START_INF_FOR
+ #else
+ #define STBIR_STREAMOUT_PTR( star ) star
+ #define STBIR_NO_UNROLL( ptr )
+ #define STBIR_NO_UNROLL_LOOP_START
+ #endif
+
++#ifndef STBIR_NO_UNROLL_LOOP_START_INF_FOR
++#define STBIR_NO_UNROLL_LOOP_START_INF_FOR STBIR_NO_UNROLL_LOOP_START
++#endif
++
+ #ifdef STBIR_NO_SIMD // force simd off for whatever reason
+
+ // force simd off overrides everything else, so clear it all
+@@ -2420,24 +2427,6 @@ static stbir__inline stbir_uint8 stbir__linear_to_srgb_uchar(float in)
+ stbir__simdi_store( output,final );
+ }
+
+-#elif defined(STBIR_WASM) || (defined(STBIR_NEON) && defined(_MSC_VER) && (defined(_M_ARM) || defined(__arm__))) // WASM or 32-bit ARM on MSVC/clang
+-
+- static stbir__inline void stbir__half_to_float_SIMD(float * output, stbir__FP16 const * input)
+- {
+- for (int i=0; i<8; i++)
+- {
+- output[i] = stbir__half_to_float(input[i]);
+- }
+- }
+-
+- static stbir__inline void stbir__float_to_half_SIMD(stbir__FP16 * output, float const * input)
+- {
+- for (int i=0; i<8; i++)
+- {
+- output[i] = stbir__float_to_half(input[i]);
+- }
+- }
+-
+ #elif defined(STBIR_NEON) && defined(_MSC_VER) && defined(_M_ARM64) && !defined(__clang__) // 64-bit ARM on MSVC (not clang)
+
+ static stbir__inline void stbir__half_to_float_SIMD(float * output, stbir__FP16 const * input)
+@@ -2492,6 +2481,23 @@ static stbir__inline stbir_uint8 stbir__linear_to_srgb_uchar(float in)
+ return vget_lane_f16(vcvt_f16_f32(vdupq_n_f32(f)), 0);
+ }
+
++#elif defined(STBIR_WASM) || (defined(STBIR_NEON) && (defined(_MSC_VER) || defined(_M_ARM) || defined(__arm__))) // WASM or 32-bit ARM on MSVC/clang
++
++ static stbir__inline void stbir__half_to_float_SIMD(float * output, stbir__FP16 const * input)
++ {
++ for (int i=0; i<8; i++)
++ {
++ output[i] = stbir__half_to_float(input[i]);
++ }
++ }
++ static stbir__inline void stbir__float_to_half_SIMD(stbir__FP16 * output, float const * input)
++ {
++ for (int i=0; i<8; i++)
++ {
++ output[i] = stbir__float_to_half(input[i]);
++ }
++ }
++
+ #endif
+
+
+@@ -2545,6 +2551,7 @@ static const STBIR__SIMDI_CONST(STBIR_topscale, 0x02000000);
+ #define STBIR_SIMD_STREAMOUT_PTR( star ) STBIR_STREAMOUT_PTR( star )
+ #define STBIR_SIMD_NO_UNROLL(ptr) STBIR_NO_UNROLL(ptr)
+ #define STBIR_SIMD_NO_UNROLL_LOOP_START STBIR_NO_UNROLL_LOOP_START
++#define STBIR_SIMD_NO_UNROLL_LOOP_START_INF_FOR STBIR_NO_UNROLL_LOOP_START_INF_FOR
+
+ #ifdef STBIR_MEMCPY
+ #undef STBIR_MEMCPY
+@@ -2584,7 +2591,7 @@ static void stbir_simd_memcpy( void * dest, void const * src, size_t bytes )
+ stbir__simdf_store( d, x );
+ d = (char*)( ( ( (size_t)d ) + 16 ) & ~15 );
+
+- STBIR_SIMD_NO_UNROLL_LOOP_START
++ STBIR_SIMD_NO_UNROLL_LOOP_START_INF_FOR
+ for(;;)
+ {
+ STBIR_SIMD_NO_UNROLL(d);
+@@ -2617,7 +2624,7 @@ static void stbir_simd_memcpy( void * dest, void const * src, size_t bytes )
+ stbir__simdfX_store( d + 12*stbir__simdfX_float_count, x3 );
+ d = (char*)( ( ( (size_t)d ) + (16*stbir__simdfX_float_count) ) & ~((16*stbir__simdfX_float_count)-1) );
+
+- STBIR_SIMD_NO_UNROLL_LOOP_START
++ STBIR_SIMD_NO_UNROLL_LOOP_START_INF_FOR
+ for(;;)
+ {
+ STBIR_SIMD_NO_UNROLL(d);
+@@ -2682,12 +2689,15 @@ static void stbir_overlapping_memcpy( void * dest, void const * src, size_t byte
+ #define STBIR_SIMD_STREAMOUT_PTR( star ) STBIR_STREAMOUT_PTR( star )
+ #define STBIR_SIMD_NO_UNROLL(ptr)
+ #define STBIR_SIMD_NO_UNROLL_LOOP_START
++#define STBIR_SIMD_NO_UNROLL_LOOP_START_INF_FOR
+
+ #endif // SSE2
+
+
+ #ifdef STBIR_PROFILE
+
++#ifndef STBIR_PROFILE_FUNC
++
+ #if defined(_x86_64) || defined( __x86_64__ ) || defined( _M_X64 ) || defined(__x86_64) || defined(__SSE2__) || defined(STBIR_SSE) || defined( _M_IX86_FP ) || defined(__i386) || defined( __i386__ ) || defined( _M_IX86 ) || defined( _X86_ )
+
+ #ifdef _MSC_VER
+@@ -2727,8 +2737,9 @@ static void stbir_overlapping_memcpy( void * dest, void const * src, size_t byte
+
+ #error Unknown platform for profiling.
+
+-#endif //x64 and
++#endif // x64, arm
+
++#endif // STBIR_PROFILE_FUNC
+
+ #define STBIR_ONLY_PROFILE_GET_SPLIT_INFO ,stbir__per_split_info * split_info
+ #define STBIR_ONLY_PROFILE_SET_SPLIT_INFO ,split_info
+@@ -3606,9 +3617,9 @@ static void stbir__cleanup_gathered_coefficients( stbir_edge edge, stbir__filter
+ filter_info->widest = widest;
+ }
+
+-#undef STBIR_RENORM_TYPE
++#undef STBIR_RENORM_TYPE
+
+-static int stbir__pack_coefficients( int num_contributors, stbir__contributors* contributors, float * coefficents, int coefficient_width, int widest, int row0, int row1 )
++static int stbir__pack_coefficients( int num_contributors, stbir__contributors* contributors, float * coefficents, int coefficient_width, int widest, int row0, int row1 )
+ {
+ #define STBIR_MOVE_1( dest, src ) { STBIR_NO_UNROLL(dest); ((stbir_uint32*)(dest))[0] = ((stbir_uint32*)(src))[0]; }
+ #define STBIR_MOVE_2( dest, src ) { STBIR_NO_UNROLL(dest); ((stbir_uint64*)(dest))[0] = ((stbir_uint64*)(src))[0]; }
+@@ -3929,7 +3940,7 @@ static void stbir__calculate_filters( stbir__sampler * samp, stbir__sampler * ot
+ for (k = gn0 ; k <= gn1 ; k++ )
+ {
+ float gc = *g_coeffs++;
+-
++
+ // skip zero and denormals - must skip zeros to avoid adding coeffs beyond scatter_coefficient_width
+ // (which happens when pivoting from horizontal, which might have dummy zeros)
+ if ( ( ( gc >= stbir__small_float ) || ( gc <= -stbir__small_float ) ) )
+@@ -4430,7 +4441,7 @@ static void stbir__simple_flip_3ch( float * decode_buffer, int width_times_chann
+
+ #ifdef STBIR_SIMD
+ #ifdef stbir__simdf_swiz2 // do we have two argument swizzles?
+- end_decode -= 12;
++ end_decode -= 12;
+ STBIR_NO_UNROLL_LOOP_START
+ while( decode <= end_decode )
+ {
+@@ -4441,13 +4452,13 @@ static void stbir__simple_flip_3ch( float * decode_buffer, int width_times_chann
+ stbir__simdf_load( b, decode+4 );
+ stbir__simdf_load( c, decode+8 );
+
+- na = stbir__simdf_swiz2( a, b, 2, 1, 0, 5 );
+- b = stbir__simdf_swiz2( a, b, 4, 3, 6, 7 );
+- nb = stbir__simdf_swiz2( b, c, 0, 1, 4, 3 );
+- c = stbir__simdf_swiz2( b, c, 2, 7, 6, 5 );
++ na = stbir__simdf_swiz2( a, b, 2, 1, 0, 5 );
++ b = stbir__simdf_swiz2( a, b, 4, 3, 6, 7 );
++ nb = stbir__simdf_swiz2( b, c, 0, 1, 4, 3 );
++ c = stbir__simdf_swiz2( b, c, 2, 7, 6, 5 );
+
+ stbir__simdf_store( decode, na );
+- stbir__simdf_store( decode+4, nb );
++ stbir__simdf_store( decode+4, nb );
+ stbir__simdf_store( decode+8, c );
+ decode += 12;
+ }
+@@ -4469,18 +4480,18 @@ static void stbir__simple_flip_3ch( float * decode_buffer, int width_times_chann
+ stbir__simdf_load( f, decode+15 );
+ stbir__simdf_load( g, decode+18 );
+
+- a = stbir__simdf_swiz( a, 2, 1, 0, 3 );
+- b = stbir__simdf_swiz( b, 2, 1, 0, 3 );
+- c = stbir__simdf_swiz( c, 2, 1, 0, 3 );
+- d = stbir__simdf_swiz( d, 2, 1, 0, 3 );
+- e = stbir__simdf_swiz( e, 2, 1, 0, 3 );
+- f = stbir__simdf_swiz( f, 2, 1, 0, 3 );
+- g = stbir__simdf_swiz( g, 2, 1, 0, 3 );
++ a = stbir__simdf_swiz( a, 2, 1, 0, 3 );
++ b = stbir__simdf_swiz( b, 2, 1, 0, 3 );
++ c = stbir__simdf_swiz( c, 2, 1, 0, 3 );
++ d = stbir__simdf_swiz( d, 2, 1, 0, 3 );
++ e = stbir__simdf_swiz( e, 2, 1, 0, 3 );
++ f = stbir__simdf_swiz( f, 2, 1, 0, 3 );
++ g = stbir__simdf_swiz( g, 2, 1, 0, 3 );
+
+- // stores overlap, need to be in order,
++ // stores overlap, need to be in order,
+ stbir__simdf_store( decode, a );
+ i21 = decode[21];
+- stbir__simdf_store( decode+3, b );
++ stbir__simdf_store( decode+3, b );
+ i23 = decode[23];
+ stbir__simdf_store( decode+6, c );
+ stbir__simdf_store( decode+9, d );
+@@ -6508,11 +6519,11 @@ static void stbir__set_sampler(stbir__sampler * samp, stbir_filter filter, stbir
+ samp->coefficient_width = stbir__get_coefficient_width(samp, samp->is_gather, user_data);
+
+ // filter_pixel_width is the conservative size in pixels of input that affect an output pixel.
+- // In rare cases (only with 2 pix to 1 pix with the default filters), it's possible that the
+- // filter will extend before or after the scanline beyond just one extra entire copy of the
+- // scanline (we would hit the edge twice). We don't let you do that, so we clamp the total
+- // width to 3x the total of input pixel (once for the scanline, once for the left side
+- // overhang, and once for the right side). We only do this for edge mode, since the other
++ // In rare cases (only with 2 pix to 1 pix with the default filters), it's possible that the
++ // filter will extend before or after the scanline beyond just one extra entire copy of the
++ // scanline (we would hit the edge twice). We don't let you do that, so we clamp the total
++ // width to 3x the total of input pixel (once for the scanline, once for the left side
++ // overhang, and once for the right side). We only do this for edge mode, since the other
+ // modes can just re-edge clamp back in again.
+ if ( edge == STBIR_EDGE_WRAP )
+ if ( samp->filter_pixel_width > ( scale_info->input_full_size * 3 ) )
+@@ -6521,11 +6532,11 @@ static void stbir__set_sampler(stbir__sampler * samp, stbir_filter filter, stbir
+ // This is how much to expand buffers to account for filters seeking outside
+ // the image boundaries.
+ samp->filter_pixel_margin = samp->filter_pixel_width / 2;
+-
+- // filter_pixel_margin is the amount that this filter can overhang on just one side of either
+- // end of the scanline (left or the right). Since we only allow you to overhang 1 scanline's
+- // worth of pixels, we clamp this one side of overhang to the input scanline size. Again,
+- // this clamping only happens in rare cases with the default filters (2 pix to 1 pix).
++
++ // filter_pixel_margin is the amount that this filter can overhang on just one side of either
++ // end of the scanline (left or the right). Since we only allow you to overhang 1 scanline's
++ // worth of pixels, we clamp this one side of overhang to the input scanline size. Again,
++ // this clamping only happens in rare cases with the default filters (2 pix to 1 pix).
+ if ( edge == STBIR_EDGE_WRAP )
+ if ( samp->filter_pixel_margin > scale_info->input_full_size )
+ samp->filter_pixel_margin = scale_info->input_full_size;
+@@ -7198,8 +7209,8 @@ static stbir__info * stbir__alloc_internal_mem_and_build_samplers( stbir__sample
+ info->ring_buffer_num_entries = conservative_split_output_size;
+ STBIR_ASSERT( info->ring_buffer_num_entries <= info->alloc_ring_buffer_num_entries );
+
+- // a few of the horizontal gather functions read past the end of the decode (but mask it out),
+- // so put in normal values so no snans or denormals accidentally sneak in (also, in the ring
++ // a few of the horizontal gather functions read past the end of the decode (but mask it out),
++ // so put in normal values so no snans or denormals accidentally sneak in (also, in the ring
+ // buffer for vertical first)
+ for( i = 0 ; i < splits ; i++ )
+ {
+@@ -8197,7 +8208,7 @@ static void STBIR__CODER_NAME( stbir__decode_uint8_linear_scaled )( float * deco
+ if ( width_times_channels >= 16 )
+ {
+ decode_end -= 16;
+- STBIR_NO_UNROLL_LOOP_START
++ STBIR_NO_UNROLL_LOOP_START_INF_FOR
+ for(;;)
+ {
+ #ifdef STBIR_SIMD8
+@@ -8296,7 +8307,7 @@ static void STBIR__CODER_NAME( stbir__encode_uint8_linear_scaled )( void * outpu
+ {
+ float const * end_encode_m8 = encode + width_times_channels - stbir__simdfX_float_count*2;
+ end_output -= stbir__simdfX_float_count*2;
+- STBIR_NO_UNROLL_LOOP_START
++ STBIR_NO_UNROLL_LOOP_START_INF_FOR
+ for(;;)
+ {
+ stbir__simdfX e0, e1;
+@@ -8414,7 +8425,7 @@ static void STBIR__CODER_NAME(stbir__decode_uint8_linear)( float * decodep, int
+ if ( width_times_channels >= 16 )
+ {
+ decode_end -= 16;
+- STBIR_NO_UNROLL_LOOP_START
++ STBIR_NO_UNROLL_LOOP_START_INF_FOR
+ for(;;)
+ {
+ #ifdef STBIR_SIMD8
+@@ -8507,7 +8518,7 @@ static void STBIR__CODER_NAME( stbir__encode_uint8_linear )( void * outputp, int
+ {
+ float const * end_encode_m8 = encode + width_times_channels - stbir__simdfX_float_count*2;
+ end_output -= stbir__simdfX_float_count*2;
+- STBIR_SIMD_NO_UNROLL_LOOP_START
++ STBIR_SIMD_NO_UNROLL_LOOP_START_INF_FOR
+ for(;;)
+ {
+ stbir__simdfX e0, e1;
+@@ -8710,7 +8721,7 @@ static void STBIR__CODER_NAME( stbir__encode_uint8_srgb )( void * outputp, int w
+ {
+ float const * end_encode_m16 = encode + width_times_channels - 16;
+ end_output -= 16;
+- STBIR_SIMD_NO_UNROLL_LOOP_START
++ STBIR_SIMD_NO_UNROLL_LOOP_START_INF_FOR
+ for(;;)
+ {
+ stbir__simdf f0, f1, f2, f3;
+@@ -8813,7 +8824,7 @@ static void STBIR__CODER_NAME( stbir__encode_uint8_srgb4_linearalpha )( void * o
+ {
+ float const * end_encode_m16 = encode + width_times_channels - 16;
+ end_output -= 16;
+- STBIR_SIMD_NO_UNROLL_LOOP_START
++ STBIR_SIMD_NO_UNROLL_LOOP_START_INF_FOR
+ for(;;)
+ {
+ stbir__simdf f0, f1, f2, f3;
+@@ -8905,7 +8916,7 @@ static void STBIR__CODER_NAME( stbir__encode_uint8_srgb2_linearalpha )( void * o
+ {
+ float const * end_encode_m16 = encode + width_times_channels - 16;
+ end_output -= 16;
+- STBIR_SIMD_NO_UNROLL_LOOP_START
++ STBIR_SIMD_NO_UNROLL_LOOP_START_INF_FOR
+ for(;;)
+ {
+ stbir__simdf f0, f1, f2, f3;
+@@ -8968,7 +8979,7 @@ static void STBIR__CODER_NAME(stbir__decode_uint16_linear_scaled)( float * decod
+ if ( width_times_channels >= 8 )
+ {
+ decode_end -= 8;
+- STBIR_NO_UNROLL_LOOP_START
++ STBIR_NO_UNROLL_LOOP_START_INF_FOR
+ for(;;)
+ {
+ #ifdef STBIR_SIMD8
+@@ -9057,7 +9068,7 @@ static void STBIR__CODER_NAME(stbir__encode_uint16_linear_scaled)( void * output
+ {
+ float const * end_encode_m8 = encode + width_times_channels - stbir__simdfX_float_count*2;
+ end_output -= stbir__simdfX_float_count*2;
+- STBIR_SIMD_NO_UNROLL_LOOP_START
++ STBIR_SIMD_NO_UNROLL_LOOP_START_INF_FOR
+ for(;;)
+ {
+ stbir__simdfX e0, e1;
+@@ -9173,7 +9184,7 @@ static void STBIR__CODER_NAME(stbir__decode_uint16_linear)( float * decodep, int
+ if ( width_times_channels >= 8 )
+ {
+ decode_end -= 8;
+- STBIR_NO_UNROLL_LOOP_START
++ STBIR_NO_UNROLL_LOOP_START_INF_FOR
+ for(;;)
+ {
+ #ifdef STBIR_SIMD8
+@@ -9258,7 +9269,7 @@ static void STBIR__CODER_NAME(stbir__encode_uint16_linear)( void * outputp, int
+ {
+ float const * end_encode_m8 = encode + width_times_channels - stbir__simdfX_float_count*2;
+ end_output -= stbir__simdfX_float_count*2;
+- STBIR_SIMD_NO_UNROLL_LOOP_START
++ STBIR_SIMD_NO_UNROLL_LOOP_START_INF_FOR
+ for(;;)
+ {
+ stbir__simdfX e0, e1;
+@@ -9356,7 +9367,7 @@ static void STBIR__CODER_NAME(stbir__decode_half_float_linear)( float * decodep,
+ {
+ stbir__FP16 const * end_input_m8 = input + width_times_channels - 8;
+ decode_end -= 8;
+- STBIR_NO_UNROLL_LOOP_START
++ STBIR_NO_UNROLL_LOOP_START_INF_FOR
+ for(;;)
+ {
+ STBIR_NO_UNROLL(decode);
+@@ -9441,7 +9452,7 @@ static void STBIR__CODER_NAME( stbir__encode_half_float_linear )( void * outputp
+ {
+ float const * end_encode_m8 = encode + width_times_channels - 8;
+ end_output -= 8;
+- STBIR_SIMD_NO_UNROLL_LOOP_START
++ STBIR_SIMD_NO_UNROLL_LOOP_START_INF_FOR
+ for(;;)
+ {
+ STBIR_SIMD_NO_UNROLL(encode);
+@@ -9527,7 +9538,7 @@ static void STBIR__CODER_NAME(stbir__decode_float_linear)( float * decodep, int
+ {
+ float const * end_input_m16 = input + width_times_channels - 16;
+ decode_end -= 16;
+- STBIR_NO_UNROLL_LOOP_START
++ STBIR_NO_UNROLL_LOOP_START_INF_FOR
+ for(;;)
+ {
+ STBIR_NO_UNROLL(decode);
+@@ -9652,7 +9663,7 @@ static void STBIR__CODER_NAME( stbir__encode_float_linear )( void * outputp, int
+ {
+ float const * end_encode_m8 = encode + width_times_channels - ( stbir__simdfX_float_count * 2 );
+ end_output -= ( stbir__simdfX_float_count * 2 );
+- STBIR_SIMD_NO_UNROLL_LOOP_START
++ STBIR_SIMD_NO_UNROLL_LOOP_START_INF_FOR
+ for(;;)
+ {
+ stbir__simdfX e0, e1;
+--
+2.48.1
+