diff --git a/.idea/editor.xml b/.idea/editor.xml
index 33921db..8d0e15e 100644
--- a/.idea/editor.xml
+++ b/.idea/editor.xml
@@ -246,22 +246,100 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/CMakeLists.txt b/CMakeLists.txt
index fbff8b8..8a6ef01 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -5,18 +5,27 @@ set(CMAKE_CXX_STANDARD 23)
include(FetchContent)
-variable_watch($ENV{VULKAN_SDK})
find_package(Vulkan REQUIRED COMPONENTS volk)
find_library(SLANG_LIB NAMES slang HINTS "$ENV{VULKAN_SDK}/lib")
find_path(SLANG_INCLUDE_DIR NAMES slang/slang.h HINTS "$ENV{VULKAN_SDK}/include")
+find_file(SLANG_DLL NAMES slang.dll HINTS "$ENV{VULKAN_SDK}/bin")
if(SLANG_LIB AND SLANG_INCLUDE_DIR)
add_library(slang_sdk SHARED IMPORTED)
set_target_properties(slang_sdk PROPERTIES
- IMPORTED_LOCATION "${SLANG_LIB}"
+ IMPORTED_IMPLIB "${SLANG_LIB}"
INTERFACE_INCLUDE_DIRECTORIES "${SLANG_INCLUDE_DIR}"
)
+
+ # If we found the DLL, set it as the location;
+ # otherwise, on non-Windows systems, SLANG_LIB is the location.
+ if(WIN32 AND SLANG_DLL)
+ set_target_properties(slang_sdk PROPERTIES IMPORTED_LOCATION "${SLANG_DLL}")
+ else()
+ set_target_properties(slang_sdk PROPERTIES IMPORTED_LOCATION "${SLANG_LIB}")
+ endif()
+
message(STATUS "Slang found via VULKAN_SDK: ${SLANG_LIB}")
else()
message(FATAL_ERROR "VULKAN_SDK env var is set, but Slang wasn't found inside it!")
diff --git a/shaders/shader.slang b/shaders/shader.slang
index 6606636..0b8b06a 100644
--- a/shaders/shader.slang
+++ b/shaders/shader.slang
@@ -29,7 +29,7 @@ static const float2 square[6] = {
VSOutput main(VSInput input, uint vertex_index : SV_VertexID) {
VSOutput output;
- float2 vertex_pos = square[vertex_index];
+ float2 vertex_pos = square[vertex_index % 6];
float2 final_pos = (vertex_pos * input.scale) + input.pos;
output.pos = float4(final_pos, 0.0, 1.0);