diff --git a/CMakeLists.txt b/CMakeLists.txt
index f5fa4e2c4d..27223d7f66 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -498,7 +498,6 @@ sdl_glob_sources(
"${SDL3_SOURCE_DIR}/src/thread/*.c"
"${SDL3_SOURCE_DIR}/src/time/*.c"
"${SDL3_SOURCE_DIR}/src/timer/*.c"
- "${SDL3_SOURCE_DIR}/src/video/*.c"
"${SDL3_SOURCE_DIR}/src/video/yuv2rgb/*.c"
)
if(MSVC AND TARGET SDL3-shared)
@@ -514,6 +513,12 @@ if(MSVC AND TARGET SDL3-shared)
endif()
endif()
+# Exclude intrinsinc modules from general builds
+file(GLOB video_sources "${SDL3_SOURCE_DIR}/src/video/*.c")
+list(FILTER video_sources EXCLUDE REGEX "SDL_blit_A_avx2.c$")
+list(FILTER video_sources EXCLUDE REGEX "SDL_blit_A_sse4_1.c$")
+sdl_glob_sources(${video_sources})
+
if(USE_INTELCC)
# warning #39: division by zero
# warning #239: floating point underflow
@@ -739,7 +744,7 @@ if(SDL_ASSEMBLY)
cmake_pop_check_state()
if(COMPILER_SUPPORTS_SSE4_1)
set(HAVE_SSE4_1 TRUE)
- sdl_glob_sources("${SDL3_SOURCE_DIR}/src/video/intrin/SDL_blit_A_sse4_1.c")
+ sdl_glob_sources("${SDL3_SOURCE_DIR}/src/video/SDL_blit_A_sse4_1.c")
endif()
endif()
if(SDL_SSE4_2)
@@ -803,7 +808,7 @@ if(SDL_ASSEMBLY)
return 0;
}" COMPILER_SUPPORTS_AVX2)
cmake_pop_check_state()
- sdl_glob_sources("${SDL3_SOURCE_DIR}/src/video/intrin/SDL_blit_A_*.c")
+ sdl_glob_sources("${SDL3_SOURCE_DIR}/src/video/SDL_blit_A_*.c")
if(COMPILER_SUPPORTS_AVX2)
set(HAVE_AVX2 TRUE)
endif()
diff --git a/VisualC-GDK/SDL/SDL.vcxproj b/VisualC-GDK/SDL/SDL.vcxproj
index 6c47cbaf10..28c678bb52 100644
--- a/VisualC-GDK/SDL/SDL.vcxproj
+++ b/VisualC-GDK/SDL/SDL.vcxproj
@@ -529,8 +529,6 @@
-
-
@@ -553,6 +551,8 @@
+
+
@@ -819,13 +819,13 @@
$(IntDir)$(TargetName)_cpp.pch
$(IntDir)$(TargetName)_cpp.pch
-
-
+
+
diff --git a/VisualC-GDK/SDL/SDL.vcxproj.filters b/VisualC-GDK/SDL/SDL.vcxproj.filters
index 873aa2e51f..06543fe5df 100644
--- a/VisualC-GDK/SDL/SDL.vcxproj.filters
+++ b/VisualC-GDK/SDL/SDL.vcxproj.filters
@@ -458,11 +458,11 @@
-
- video\intrin
+
+ video
-
- video\intrin
+
+ video
diff --git a/VisualC/SDL/SDL.vcxproj b/VisualC/SDL/SDL.vcxproj
index 914895231d..be171d4b3e 100644
--- a/VisualC/SDL/SDL.vcxproj
+++ b/VisualC/SDL/SDL.vcxproj
@@ -429,8 +429,6 @@
-
-
@@ -459,6 +457,8 @@
+
+
@@ -684,6 +684,8 @@
+
+
diff --git a/VisualC/SDL/SDL.vcxproj.filters b/VisualC/SDL/SDL.vcxproj.filters
index 82944ba417..5d10b7e74f 100644
--- a/VisualC/SDL/SDL.vcxproj.filters
+++ b/VisualC/SDL/SDL.vcxproj.filters
@@ -871,11 +871,11 @@
-
- video\intrin
+
+ video
-
- video\intrin
+
+ video
@@ -1525,11 +1525,11 @@
stdlib
-
- video\intrin
+
+ video
-
- video\intrin
+
+ video
diff --git a/src/video/SDL_blit_A.c b/src/video/SDL_blit_A.c
index 7a5757100e..6fb762d775 100644
--- a/src/video/SDL_blit_A.c
+++ b/src/video/SDL_blit_A.c
@@ -25,10 +25,10 @@
#include "SDL_blit.h"
#ifdef SDL_SSE4_1_INTRINSICS
-#include "intrin/SDL_blit_A_sse4.1.h"
+#include "SDL_blit_A_sse4_1.h"
#endif
#ifdef SDL_AVX2_INTRINSICS
-#include "intrin/SDL_blit_A_avx2.h"
+#include "SDL_blit_A_avx2.h"
#endif
#if defined(SDL_SSE4_1_INTRINSICS) || defined(SDL_AVX2_INTRINSICS)
#include "SDL3/SDL_cpuinfo.h"
diff --git a/src/video/intrin/SDL_blit_A_avx2.c b/src/video/SDL_blit_A_avx2.c
similarity index 98%
rename from src/video/intrin/SDL_blit_A_avx2.c
rename to src/video/SDL_blit_A_avx2.c
index e9ebaa994a..ccb65f783e 100644
--- a/src/video/intrin/SDL_blit_A_avx2.c
+++ b/src/video/SDL_blit_A_avx2.c
@@ -4,8 +4,8 @@
#ifdef SDL_AVX2_INTRINSICS
-#include "../SDL_blit.h"
-#include "SDL_blit_A_sse4.1.h"
+#include "SDL_blit.h"
+#include "SDL_blit_A_sse4_1.h"
#if !defined(_MSC_VER) || (defined(_MSC_VER) && defined(__clang__))
__attribute__((target("avx2")))
diff --git a/src/video/intrin/SDL_blit_A_avx2.h b/src/video/SDL_blit_A_avx2.h
similarity index 100%
rename from src/video/intrin/SDL_blit_A_avx2.h
rename to src/video/SDL_blit_A_avx2.h
diff --git a/src/video/intrin/SDL_blit_A_sse4_1.c b/src/video/SDL_blit_A_sse4_1.c
similarity index 99%
rename from src/video/intrin/SDL_blit_A_sse4_1.c
rename to src/video/SDL_blit_A_sse4_1.c
index 2e7d913916..3cc852e5da 100644
--- a/src/video/intrin/SDL_blit_A_sse4_1.c
+++ b/src/video/SDL_blit_A_sse4_1.c
@@ -4,7 +4,7 @@
#ifdef SDL_SSE4_1_INTRINSICS
-#include "../SDL_blit.h"
+#include "SDL_blit.h"
#if !defined(_MSC_VER) || (defined(_MSC_VER) && defined(__clang__))
__attribute__((target("sse4.1")))
diff --git a/src/video/intrin/SDL_blit_A_sse4.1.h b/src/video/SDL_blit_A_sse4_1.h
similarity index 100%
rename from src/video/intrin/SDL_blit_A_sse4.1.h
rename to src/video/SDL_blit_A_sse4_1.h