gitextract_k9sxd0lm/ ├── .clang-tidy ├── .gitattributes ├── .github/ │ └── workflows/ │ ├── cmake_linux.yml │ ├── cmake_macos.yml │ └── cmake_windows.yml ├── .gitignore ├── .gitmodules ├── CMakeLists.txt ├── LICENSE ├── OPCODE_CORE.md ├── OPCODE_EXT.md ├── README.md ├── example/ │ ├── CMakeLists.txt │ ├── main.cpp │ └── shaders/ │ ├── simple.frag │ ├── simple.frag.spv │ └── simple.frag.spv.txt ├── shadertoy/ │ ├── CMakeLists.txt │ ├── assets/ │ │ ├── shaders/ │ │ │ ├── Nt3BzM.frag │ │ │ ├── XdlSDs.frag │ │ │ ├── basic.frag │ │ │ ├── fstyD4.frag │ │ │ └── ftdfWn.frag │ │ └── wrapper.frag │ ├── compiler.cpp │ ├── compiler.h │ ├── main.cpp │ ├── renderer.cpp │ ├── renderer.h │ ├── resourcelimits.cpp │ ├── resourcelimits.h │ ├── settingpanel.cpp │ ├── settingpanel.h │ ├── settings.h │ ├── third_party/ │ │ ├── glad/ │ │ │ ├── include/ │ │ │ │ ├── KHR/ │ │ │ │ │ └── khrplatform.h │ │ │ │ └── glad/ │ │ │ │ └── glad.h │ │ │ └── src/ │ │ │ └── glad.c │ │ ├── glfw/ │ │ │ ├── include/ │ │ │ │ └── GLFW/ │ │ │ │ ├── glfw3.h │ │ │ │ └── glfw3native.h │ │ │ ├── lib-macos-universal/ │ │ │ │ └── libglfw3.a │ │ │ ├── lib-mingw-w64/ │ │ │ │ ├── libglfw3.a │ │ │ │ └── libglfw3dll.a │ │ │ └── lib-vc2022/ │ │ │ ├── glfw3.lib │ │ │ ├── glfw3_mt.lib │ │ │ └── glfw3dll.lib │ │ ├── imgui/ │ │ │ └── imgui/ │ │ │ ├── imconfig.h │ │ │ ├── imgui.cpp │ │ │ ├── imgui.h │ │ │ ├── imgui_demo.cpp │ │ │ ├── imgui_draw.cpp │ │ │ ├── imgui_impl_glfw.cpp │ │ │ ├── imgui_impl_glfw.h │ │ │ ├── imgui_impl_opengl3.cpp │ │ │ ├── imgui_impl_opengl3.h │ │ │ ├── imgui_impl_opengl3_loader.h │ │ │ ├── imgui_internal.h │ │ │ ├── imgui_tables.cpp │ │ │ ├── imgui_widgets.cpp │ │ │ ├── imstb_rectpack.h │ │ │ ├── imstb_textedit.h │ │ │ └── imstb_truetype.h │ │ └── stb/ │ │ └── include/ │ │ └── stb/ │ │ ├── stb_image.h │ │ └── stb_image_write.h │ ├── threadpool.h │ ├── timer.cpp │ └── timer.h ├── src/ │ ├── CMakeLists.txt │ ├── decoder.cpp │ ├── decoder.h │ ├── ext/ │ │ ├── GLSL.std.450.h │ │ └── GLSL.std.450.inc │ ├── image.cpp │ ├── image.h │ ├── interface.cpp │ ├── interface.h │ ├── logger.cpp │ ├── logger.h │ ├── module.cpp │ ├── module.h │ ├── opcodes.inc │ ├── opstrings.h │ ├── runtime.cpp │ ├── runtime.h │ ├── spirv.h │ ├── spvm.cpp │ ├── spvm.h │ └── utils.h └── test/ ├── CMakeLists.txt ├── assets/ │ ├── arithmetic_0.frag │ ├── arithmetic_0.frag.spv │ ├── arithmetic_0.frag.spv.txt │ ├── arithmetic_1.frag │ ├── arithmetic_1.frag.spv │ ├── arithmetic_1.frag.spv.txt │ ├── array.frag │ ├── array.frag.spv │ ├── array.frag.spv.txt │ ├── assert.glsl │ ├── bit.frag │ ├── bit.frag.spv │ ├── bit.frag.spv.txt │ ├── built_in.vert │ ├── built_in.vert.spv │ ├── built_in.vert.spv.txt │ ├── composite.frag │ ├── composite.frag.spv │ ├── composite.frag.spv.txt │ ├── control_flow.frag │ ├── control_flow.frag.spv │ ├── control_flow.frag.spv.txt │ ├── conversion.frag │ ├── conversion.frag.spv │ ├── conversion.frag.spv.txt │ ├── derivative.frag │ ├── derivative.frag.spv │ ├── derivative.frag.spv.txt │ ├── function.frag │ ├── function.frag.spv │ ├── function.frag.spv.txt │ ├── glsl_std_450_0.frag │ ├── glsl_std_450_0.frag.spv │ ├── glsl_std_450_0.frag.spv.txt │ ├── glsl_std_450_1.frag │ ├── glsl_std_450_1.frag.spv │ ├── glsl_std_450_1.frag.spv.txt │ ├── glsl_std_450_2.frag │ ├── glsl_std_450_2.frag.spv │ ├── glsl_std_450_2.frag.spv.txt │ ├── image.frag │ ├── image.frag.spv │ ├── image.frag.spv.txt │ ├── location.frag │ ├── location.frag.spv │ ├── location.frag.spv.txt │ ├── relational_logical.frag │ ├── relational_logical.frag.spv │ ├── relational_logical.frag.spv.txt │ ├── uniform_block.vert │ ├── uniform_block.vert.spv │ └── uniform_block.vert.spv.txt ├── main.cpp ├── test.h ├── test_core.cpp ├── test_ext.cpp ├── test_image.cpp └── tools/ └── glsl.py