Compare commits
2 Commits
86b36f27c6
...
09706507cf
| Author | SHA1 | Date | |
|---|---|---|---|
| 09706507cf | |||
| 1ccb591959 |
@@ -24,7 +24,6 @@ CMakeUserPresets.json
|
|||||||
*.bin
|
*.bin
|
||||||
*.out
|
*.out
|
||||||
*.spv
|
*.spv
|
||||||
*.spv.h
|
|
||||||
|
|
||||||
# Runtime data
|
# Runtime data
|
||||||
pids
|
pids
|
||||||
|
|||||||
Vendored
+2
-2
@@ -41,8 +41,8 @@
|
|||||||
"LD_LIBRARY_PATH": "/home/caleb/.local/share/vulkan-sdk/1.4.357.1/x86_64/lib/VulkanLoader/lib:/home/caleb/.local/share/vulkan-sdk/1.4.357.1/x86_64/lib",
|
"LD_LIBRARY_PATH": "/home/caleb/.local/share/vulkan-sdk/1.4.357.1/x86_64/lib/VulkanLoader/lib:/home/caleb/.local/share/vulkan-sdk/1.4.357.1/x86_64/lib",
|
||||||
"VK_ADD_LAYER_PATH": "/home/caleb/.local/share/vulkan-sdk/1.4.357.1/x86_64/share/vulkan/explicit_layer.d"
|
"VK_ADD_LAYER_PATH": "/home/caleb/.local/share/vulkan-sdk/1.4.357.1/x86_64/share/vulkan/explicit_layer.d"
|
||||||
},
|
},
|
||||||
"cmake.buildDirectory": "${workspaceFolder}/build",
|
"cmake.useCMakePresets": "always",
|
||||||
"cmake.generator": "Ninja",
|
"cmake.copyCompileCommands": "${workspaceFolder}/build/compile_commands.json",
|
||||||
"cmake.configureOnOpen": true,
|
"cmake.configureOnOpen": true,
|
||||||
"files.associations": {
|
"files.associations": {
|
||||||
".clang-format": "yaml",
|
".clang-format": "yaml",
|
||||||
|
|||||||
+1
-3
@@ -1,4 +1,4 @@
|
|||||||
cmake_minimum_required(VERSION 3.22.2)
|
cmake_minimum_required(VERSION 3.25.2)
|
||||||
|
|
||||||
set(NAME sophia)
|
set(NAME sophia)
|
||||||
|
|
||||||
@@ -15,8 +15,6 @@ endif()
|
|||||||
|
|
||||||
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||||
message(STATUS "Debug build: enabling debug logging")
|
message(STATUS "Debug build: enabling debug logging")
|
||||||
else()
|
|
||||||
add_compile_definitions(NDEBUG)
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
||||||
|
|||||||
@@ -0,0 +1,66 @@
|
|||||||
|
{
|
||||||
|
"version": 6,
|
||||||
|
"configurePresets": [
|
||||||
|
{
|
||||||
|
"name": "base",
|
||||||
|
"hidden": true,
|
||||||
|
"generator": "Ninja",
|
||||||
|
"binaryDir": "${sourceDir}/build/${presetName}",
|
||||||
|
"cacheVariables": {
|
||||||
|
"CMAKE_EXPORT_COMPILE_COMMANDS": "ON"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "debug",
|
||||||
|
"displayName": "Debug",
|
||||||
|
"inherits": "base",
|
||||||
|
"cacheVariables": {
|
||||||
|
"CMAKE_BUILD_TYPE": "Debug"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "release",
|
||||||
|
"displayName": "Release (with debug info)",
|
||||||
|
"inherits": "base",
|
||||||
|
"cacheVariables": {
|
||||||
|
"CMAKE_BUILD_TYPE": "RelWithDebInfo"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "asan",
|
||||||
|
"displayName": "Debug + AddressSanitizer/UBSan",
|
||||||
|
"inherits": "debug",
|
||||||
|
"cacheVariables": {
|
||||||
|
"CMAKE_CXX_FLAGS": "-fsanitize=address,undefined -fno-omit-frame-pointer",
|
||||||
|
"CMAKE_C_FLAGS": "-fsanitize=address,undefined -fno-omit-frame-pointer"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "tsan",
|
||||||
|
"displayName": "Debug + ThreadSanitizer",
|
||||||
|
"inherits": "debug",
|
||||||
|
"cacheVariables": {
|
||||||
|
"CMAKE_CXX_FLAGS": "-fsanitize=thread",
|
||||||
|
"CMAKE_C_FLAGS": "-fsanitize=thread"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"buildPresets": [
|
||||||
|
{
|
||||||
|
"name": "debug",
|
||||||
|
"configurePreset": "debug"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "release",
|
||||||
|
"configurePreset": "release"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "asan",
|
||||||
|
"configurePreset": "asan"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "tsan",
|
||||||
|
"configurePreset": "tsan"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -8,17 +8,21 @@ COMING SOON
|
|||||||
|
|
||||||
### Dependencies
|
### Dependencies
|
||||||
|
|
||||||
- [cmake](https://cmake.org/)
|
- [cmake](https://cmake.org/) 3.25+
|
||||||
|
- [Ninja](https://ninja-build.org/)
|
||||||
- [Vulkan SDK](https://vulkan.lunarg.com/) - With validation layers
|
- [Vulkan SDK](https://vulkan.lunarg.com/) - With validation layers
|
||||||
|
|
||||||
### Build instructions
|
### Build instructions
|
||||||
|
|
||||||
|
Builds use the presets in `CMakePresets.json` (`debug`, `release`), each in its own `build/<preset>` directory:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug
|
cmake --preset debug
|
||||||
cd build
|
cmake --build --preset debug
|
||||||
make -j
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Or with the dev helper: `dev build [preset] [--fresh]`.
|
||||||
|
|
||||||
## Third Party libraries used
|
## Third Party libraries used
|
||||||
|
|
||||||
- [GLFW](https://github.com/glfw/glfw) - Window and input handling
|
- [GLFW](https://github.com/glfw/glfw) - Window and input handling
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ WAIT_FOR_PROCESS = "wait_for_process"
|
|||||||
class DevHelper:
|
class DevHelper:
|
||||||
SHADER_EXTENSIONS = (".vert", ".frag", ".comp", ".geom", ".tesc", ".tese")
|
SHADER_EXTENSIONS = (".vert", ".frag", ".comp", ".geom", ".tesc", ".tese")
|
||||||
PROJECT_NAME = "sophia"
|
PROJECT_NAME = "sophia"
|
||||||
|
DEFAULT_PRESET = "debug"
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.last_exit_status = 0
|
self.last_exit_status = 0
|
||||||
@@ -39,9 +40,29 @@ class DevHelper:
|
|||||||
return method(*rest, **kwargs)
|
return method(*rest, **kwargs)
|
||||||
|
|
||||||
# Primary command wrappers
|
# Primary command wrappers
|
||||||
|
|
||||||
|
##
|
||||||
|
# Configures and builds a CMake preset (see CMakePresets.json).
|
||||||
|
# dev build [preset] [--fresh]
|
||||||
|
# The preset defaults to debug and builds into build/<preset>. --fresh
|
||||||
|
# discards the preset's CMake cache before configuring.
|
||||||
def build(self, *args, **kwargs):
|
def build(self, *args, **kwargs):
|
||||||
command = f"rm -rf build && cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug"
|
preset, fresh = self._parse_preset_args(args, "build")
|
||||||
self._exec_in_root(command, replace=True)
|
self._build_preset(preset, fresh)
|
||||||
|
|
||||||
|
##
|
||||||
|
# Builds the debug preset (incrementally), then runs the testbed from
|
||||||
|
# build/debug. Any arguments are passed through to the testbed.
|
||||||
|
# dev testbed [args...]
|
||||||
|
def testbed(self, *args, **kwargs):
|
||||||
|
preset = self.DEFAULT_PRESET
|
||||||
|
self._build_preset(preset, fresh=False)
|
||||||
|
|
||||||
|
preset_dir = os.path.join(self._project_root(), "build", preset)
|
||||||
|
binary = os.path.join(preset_dir, "bin", "testbed")
|
||||||
|
print(f"Running: {shlex.join([binary, *args])}")
|
||||||
|
os.chdir(preset_dir)
|
||||||
|
os.execv(binary, [binary, *args])
|
||||||
|
|
||||||
##
|
##
|
||||||
# Checks out a branch named after a Gitea issue URL.
|
# Checks out a branch named after a Gitea issue URL.
|
||||||
@@ -149,6 +170,52 @@ class DevHelper:
|
|||||||
if not name.startswith("_") and name != "call" and callable(getattr(DevHelper, name))
|
if not name.startswith("_") and name != "call" and callable(getattr(DevHelper, name))
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def _parse_preset_args(self, args, command):
|
||||||
|
preset = None
|
||||||
|
fresh = False
|
||||||
|
for arg in args:
|
||||||
|
if arg == "--fresh":
|
||||||
|
fresh = True
|
||||||
|
elif arg.startswith("-"):
|
||||||
|
raise ValueError(f"Unknown option: {arg}")
|
||||||
|
elif preset is None:
|
||||||
|
preset = arg
|
||||||
|
else:
|
||||||
|
raise ValueError(f"Usage: dev {command} [preset] [--fresh]")
|
||||||
|
|
||||||
|
preset = preset or self.DEFAULT_PRESET
|
||||||
|
presets = self._configure_presets()
|
||||||
|
if preset not in presets:
|
||||||
|
raise ValueError(f"Unknown preset: {preset} (available: {', '.join(presets)})")
|
||||||
|
return preset, fresh
|
||||||
|
|
||||||
|
def _configure_presets(self):
|
||||||
|
with open(os.path.join(self._project_root(), "CMakePresets.json")) as f:
|
||||||
|
presets = json.load(f)["configurePresets"]
|
||||||
|
return [preset["name"] for preset in presets if not preset.get("hidden")]
|
||||||
|
|
||||||
|
def _build_preset(self, preset, fresh):
|
||||||
|
configure = ["cmake", "--preset", preset]
|
||||||
|
if fresh:
|
||||||
|
configure.append("--fresh")
|
||||||
|
self._run_in_root(configure)
|
||||||
|
self._copy_compile_commands(preset)
|
||||||
|
self._run_in_root(["cmake", "--build", "--preset", preset])
|
||||||
|
|
||||||
|
# Editor tooling reads build/compile_commands.json, so point it at the
|
||||||
|
# most recently configured preset.
|
||||||
|
def _copy_compile_commands(self, preset):
|
||||||
|
build_dir = os.path.join(self._project_root(), "build")
|
||||||
|
source = os.path.join(build_dir, preset, "compile_commands.json")
|
||||||
|
if os.path.isfile(source):
|
||||||
|
shutil.copyfile(source, os.path.join(build_dir, "compile_commands.json"))
|
||||||
|
|
||||||
|
def _run_in_root(self, command):
|
||||||
|
print(f"Running: {shlex.join(command)}")
|
||||||
|
result = subprocess.run(command, cwd=self._project_root())
|
||||||
|
if result.returncode != 0:
|
||||||
|
sys.exit(result.returncode)
|
||||||
|
|
||||||
def _parse_issue_url(self, url):
|
def _parse_issue_url(self, url):
|
||||||
match = re.match(r"^(https?://[^/]+)/([^/]+)/([^/]+)/issues/(\d+)", url)
|
match = re.match(r"^(https?://[^/]+)/([^/]+)/([^/]+)/issues/(\d+)", url)
|
||||||
if match is None:
|
if match is None:
|
||||||
|
|||||||
@@ -0,0 +1,100 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <array>
|
||||||
|
#include <cstdint>
|
||||||
|
|
||||||
|
namespace sophia::shaders {
|
||||||
|
|
||||||
|
inline constexpr std::array<uint32_t, 355> fullscreen_vert_spv = {
|
||||||
|
0x07230203, 0x00010000, 0x000d000b, 0x00000032,
|
||||||
|
0x00000000, 0x00020011, 0x00000001, 0x0006000b,
|
||||||
|
0x00000001, 0x4c534c47, 0x6474732e, 0x3035342e,
|
||||||
|
0x00000000, 0x0003000e, 0x00000000, 0x00000001,
|
||||||
|
0x0008000f, 0x00000000, 0x00000004, 0x6e69616d,
|
||||||
|
0x00000000, 0x00000018, 0x00000022, 0x0000002c,
|
||||||
|
0x00030003, 0x00000002, 0x000001c2, 0x000a0004,
|
||||||
|
0x475f4c47, 0x4c474f4f, 0x70635f45, 0x74735f70,
|
||||||
|
0x5f656c79, 0x656e696c, 0x7269645f, 0x69746365,
|
||||||
|
0x00006576, 0x00080004, 0x475f4c47, 0x4c474f4f,
|
||||||
|
0x6e695f45, 0x64756c63, 0x69645f65, 0x74636572,
|
||||||
|
0x00657669, 0x00040005, 0x00000004, 0x6e69616d,
|
||||||
|
0x00000000, 0x00050005, 0x0000000c, 0x69736f70,
|
||||||
|
0x6e6f6974, 0x00000073, 0x00030005, 0x00000015,
|
||||||
|
0x00736f70, 0x00060005, 0x00000018, 0x565f6c67,
|
||||||
|
0x65747265, 0x646e4978, 0x00007865, 0x00060005,
|
||||||
|
0x00000020, 0x505f6c67, 0x65567265, 0x78657472,
|
||||||
|
0x00000000, 0x00060006, 0x00000020, 0x00000000,
|
||||||
|
0x505f6c67, 0x7469736f, 0x006e6f69, 0x00070006,
|
||||||
|
0x00000020, 0x00000001, 0x505f6c67, 0x746e696f,
|
||||||
|
0x657a6953, 0x00000000, 0x00070006, 0x00000020,
|
||||||
|
0x00000002, 0x435f6c67, 0x4470696c, 0x61747369,
|
||||||
|
0x0065636e, 0x00070006, 0x00000020, 0x00000003,
|
||||||
|
0x435f6c67, 0x446c6c75, 0x61747369, 0x0065636e,
|
||||||
|
0x00030005, 0x00000022, 0x00000000, 0x00030005,
|
||||||
|
0x0000002c, 0x00007675, 0x00040047, 0x00000018,
|
||||||
|
0x0000000b, 0x0000002a, 0x00030047, 0x00000020,
|
||||||
|
0x00000002, 0x00050048, 0x00000020, 0x00000000,
|
||||||
|
0x0000000b, 0x00000000, 0x00050048, 0x00000020,
|
||||||
|
0x00000001, 0x0000000b, 0x00000001, 0x00050048,
|
||||||
|
0x00000020, 0x00000002, 0x0000000b, 0x00000003,
|
||||||
|
0x00050048, 0x00000020, 0x00000003, 0x0000000b,
|
||||||
|
0x00000004, 0x00040047, 0x0000002c, 0x0000001e,
|
||||||
|
0x00000000, 0x00020013, 0x00000002, 0x00030021,
|
||||||
|
0x00000003, 0x00000002, 0x00030016, 0x00000006,
|
||||||
|
0x00000020, 0x00040017, 0x00000007, 0x00000006,
|
||||||
|
0x00000002, 0x00040015, 0x00000008, 0x00000020,
|
||||||
|
0x00000000, 0x0004002b, 0x00000008, 0x00000009,
|
||||||
|
0x00000006, 0x0004001c, 0x0000000a, 0x00000007,
|
||||||
|
0x00000009, 0x00040020, 0x0000000b, 0x00000006,
|
||||||
|
0x0000000a, 0x0004003b, 0x0000000b, 0x0000000c,
|
||||||
|
0x00000006, 0x0004002b, 0x00000006, 0x0000000d,
|
||||||
|
0xbf800000, 0x0005002c, 0x00000007, 0x0000000e,
|
||||||
|
0x0000000d, 0x0000000d, 0x0004002b, 0x00000006,
|
||||||
|
0x0000000f, 0x3f800000, 0x0005002c, 0x00000007,
|
||||||
|
0x00000010, 0x0000000f, 0x0000000d, 0x0005002c,
|
||||||
|
0x00000007, 0x00000011, 0x0000000d, 0x0000000f,
|
||||||
|
0x0005002c, 0x00000007, 0x00000012, 0x0000000f,
|
||||||
|
0x0000000f, 0x0009002c, 0x0000000a, 0x00000013,
|
||||||
|
0x0000000e, 0x00000010, 0x00000011, 0x00000011,
|
||||||
|
0x00000010, 0x00000012, 0x00040020, 0x00000014,
|
||||||
|
0x00000007, 0x00000007, 0x00040015, 0x00000016,
|
||||||
|
0x00000020, 0x00000001, 0x00040020, 0x00000017,
|
||||||
|
0x00000001, 0x00000016, 0x0004003b, 0x00000017,
|
||||||
|
0x00000018, 0x00000001, 0x00040020, 0x0000001a,
|
||||||
|
0x00000006, 0x00000007, 0x00040017, 0x0000001d,
|
||||||
|
0x00000006, 0x00000004, 0x0004002b, 0x00000008,
|
||||||
|
0x0000001e, 0x00000001, 0x0004001c, 0x0000001f,
|
||||||
|
0x00000006, 0x0000001e, 0x0006001e, 0x00000020,
|
||||||
|
0x0000001d, 0x00000006, 0x0000001f, 0x0000001f,
|
||||||
|
0x00040020, 0x00000021, 0x00000003, 0x00000020,
|
||||||
|
0x0004003b, 0x00000021, 0x00000022, 0x00000003,
|
||||||
|
0x0004002b, 0x00000016, 0x00000023, 0x00000000,
|
||||||
|
0x0004002b, 0x00000006, 0x00000025, 0x00000000,
|
||||||
|
0x00040020, 0x00000029, 0x00000003, 0x0000001d,
|
||||||
|
0x00040020, 0x0000002b, 0x00000003, 0x00000007,
|
||||||
|
0x0004003b, 0x0000002b, 0x0000002c, 0x00000003,
|
||||||
|
0x0004002b, 0x00000006, 0x0000002e, 0x3f000000,
|
||||||
|
0x00050036, 0x00000002, 0x00000004, 0x00000000,
|
||||||
|
0x00000003, 0x000200f8, 0x00000005, 0x0004003b,
|
||||||
|
0x00000014, 0x00000015, 0x00000007, 0x0003003e,
|
||||||
|
0x0000000c, 0x00000013, 0x0004003d, 0x00000016,
|
||||||
|
0x00000019, 0x00000018, 0x00050041, 0x0000001a,
|
||||||
|
0x0000001b, 0x0000000c, 0x00000019, 0x0004003d,
|
||||||
|
0x00000007, 0x0000001c, 0x0000001b, 0x0003003e,
|
||||||
|
0x00000015, 0x0000001c, 0x0004003d, 0x00000007,
|
||||||
|
0x00000024, 0x00000015, 0x00050051, 0x00000006,
|
||||||
|
0x00000026, 0x00000024, 0x00000000, 0x00050051,
|
||||||
|
0x00000006, 0x00000027, 0x00000024, 0x00000001,
|
||||||
|
0x00070050, 0x0000001d, 0x00000028, 0x00000026,
|
||||||
|
0x00000027, 0x00000025, 0x0000000f, 0x00050041,
|
||||||
|
0x00000029, 0x0000002a, 0x00000022, 0x00000023,
|
||||||
|
0x0003003e, 0x0000002a, 0x00000028, 0x0004003d,
|
||||||
|
0x00000007, 0x0000002d, 0x00000015, 0x0005008e,
|
||||||
|
0x00000007, 0x0000002f, 0x0000002d, 0x0000002e,
|
||||||
|
0x00050050, 0x00000007, 0x00000030, 0x0000002e,
|
||||||
|
0x0000002e, 0x00050081, 0x00000007, 0x00000031,
|
||||||
|
0x0000002f, 0x00000030, 0x0003003e, 0x0000002c,
|
||||||
|
0x00000031, 0x000100fd, 0x00010038,
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace sophia::shaders
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <array>
|
||||||
|
#include <cstdint>
|
||||||
|
|
||||||
|
namespace sophia::shaders {
|
||||||
|
|
||||||
|
inline constexpr std::array<uint32_t, 143> model_render_system_frag_spv = {
|
||||||
|
0x07230203, 0x00010000, 0x000d000b, 0x00000013, 0x00000000, 0x00020011,
|
||||||
|
0x00000001, 0x0006000b, 0x00000001, 0x4c534c47, 0x6474732e, 0x3035342e,
|
||||||
|
0x00000000, 0x0003000e, 0x00000000, 0x00000001, 0x0007000f, 0x00000004,
|
||||||
|
0x00000004, 0x6e69616d, 0x00000000, 0x00000009, 0x0000000c, 0x00030010,
|
||||||
|
0x00000004, 0x00000007, 0x00030003, 0x00000002, 0x000001c2, 0x000a0004,
|
||||||
|
0x475f4c47, 0x4c474f4f, 0x70635f45, 0x74735f70, 0x5f656c79, 0x656e696c,
|
||||||
|
0x7269645f, 0x69746365, 0x00006576, 0x00080004, 0x475f4c47, 0x4c474f4f,
|
||||||
|
0x6e695f45, 0x64756c63, 0x69645f65, 0x74636572, 0x00657669, 0x00040005,
|
||||||
|
0x00000004, 0x6e69616d, 0x00000000, 0x00050005, 0x00000009, 0x4374756f,
|
||||||
|
0x726f6c6f, 0x00000000, 0x00050005, 0x0000000c, 0x67617266, 0x6f6c6f43,
|
||||||
|
0x00000072, 0x00040047, 0x00000009, 0x0000001e, 0x00000000, 0x00040047,
|
||||||
|
0x0000000c, 0x0000001e, 0x00000000, 0x00020013, 0x00000002, 0x00030021,
|
||||||
|
0x00000003, 0x00000002, 0x00030016, 0x00000006, 0x00000020, 0x00040017,
|
||||||
|
0x00000007, 0x00000006, 0x00000004, 0x00040020, 0x00000008, 0x00000003,
|
||||||
|
0x00000007, 0x0004003b, 0x00000008, 0x00000009, 0x00000003, 0x00040017,
|
||||||
|
0x0000000a, 0x00000006, 0x00000003, 0x00040020, 0x0000000b, 0x00000001,
|
||||||
|
0x0000000a, 0x0004003b, 0x0000000b, 0x0000000c, 0x00000001, 0x0004002b,
|
||||||
|
0x00000006, 0x0000000e, 0x3f800000, 0x00050036, 0x00000002, 0x00000004,
|
||||||
|
0x00000000, 0x00000003, 0x000200f8, 0x00000005, 0x0004003d, 0x0000000a,
|
||||||
|
0x0000000d, 0x0000000c, 0x00050051, 0x00000006, 0x0000000f, 0x0000000d,
|
||||||
|
0x00000000, 0x00050051, 0x00000006, 0x00000010, 0x0000000d, 0x00000001,
|
||||||
|
0x00050051, 0x00000006, 0x00000011, 0x0000000d, 0x00000002, 0x00070050,
|
||||||
|
0x00000007, 0x00000012, 0x0000000f, 0x00000010, 0x00000011, 0x0000000e,
|
||||||
|
0x0003003e, 0x00000009, 0x00000012, 0x000100fd, 0x00010038,
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace sophia::shaders
|
||||||
@@ -0,0 +1,69 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <array>
|
||||||
|
#include <cstdint>
|
||||||
|
|
||||||
|
namespace sophia::shaders {
|
||||||
|
|
||||||
|
inline constexpr std::array<uint32_t, 345> model_render_system_vert_spv = {
|
||||||
|
0x07230203, 0x00010000, 0x000d000b, 0x00000029, 0x00000000, 0x00020011,
|
||||||
|
0x00000001, 0x0006000b, 0x00000001, 0x4c534c47, 0x6474732e, 0x3035342e,
|
||||||
|
0x00000000, 0x0003000e, 0x00000000, 0x00000001, 0x0009000f, 0x00000000,
|
||||||
|
0x00000004, 0x6e69616d, 0x00000000, 0x0000000d, 0x00000019, 0x00000025,
|
||||||
|
0x00000027, 0x00030003, 0x00000002, 0x000001c2, 0x000a0004, 0x475f4c47,
|
||||||
|
0x4c474f4f, 0x70635f45, 0x74735f70, 0x5f656c79, 0x656e696c, 0x7269645f,
|
||||||
|
0x69746365, 0x00006576, 0x00080004, 0x475f4c47, 0x4c474f4f, 0x6e695f45,
|
||||||
|
0x64756c63, 0x69645f65, 0x74636572, 0x00657669, 0x00040005, 0x00000004,
|
||||||
|
0x6e69616d, 0x00000000, 0x00060005, 0x0000000b, 0x505f6c67, 0x65567265,
|
||||||
|
0x78657472, 0x00000000, 0x00060006, 0x0000000b, 0x00000000, 0x505f6c67,
|
||||||
|
0x7469736f, 0x006e6f69, 0x00070006, 0x0000000b, 0x00000001, 0x505f6c67,
|
||||||
|
0x746e696f, 0x657a6953, 0x00000000, 0x00070006, 0x0000000b, 0x00000002,
|
||||||
|
0x435f6c67, 0x4470696c, 0x61747369, 0x0065636e, 0x00070006, 0x0000000b,
|
||||||
|
0x00000003, 0x435f6c67, 0x446c6c75, 0x61747369, 0x0065636e, 0x00030005,
|
||||||
|
0x0000000d, 0x00000000, 0x00040005, 0x00000011, 0x68737550, 0x00000000,
|
||||||
|
0x00060006, 0x00000011, 0x00000000, 0x6e617274, 0x726f6673, 0x0000006d,
|
||||||
|
0x00050006, 0x00000011, 0x00000001, 0x6f6c6f63, 0x00000072, 0x00040005,
|
||||||
|
0x00000013, 0x68737570, 0x00000000, 0x00050005, 0x00000019, 0x69736f70,
|
||||||
|
0x6e6f6974, 0x00000000, 0x00050005, 0x00000025, 0x67617266, 0x6f6c6f43,
|
||||||
|
0x00000072, 0x00040005, 0x00000027, 0x6f6c6f63, 0x00000072, 0x00030047,
|
||||||
|
0x0000000b, 0x00000002, 0x00050048, 0x0000000b, 0x00000000, 0x0000000b,
|
||||||
|
0x00000000, 0x00050048, 0x0000000b, 0x00000001, 0x0000000b, 0x00000001,
|
||||||
|
0x00050048, 0x0000000b, 0x00000002, 0x0000000b, 0x00000003, 0x00050048,
|
||||||
|
0x0000000b, 0x00000003, 0x0000000b, 0x00000004, 0x00030047, 0x00000011,
|
||||||
|
0x00000002, 0x00040048, 0x00000011, 0x00000000, 0x00000005, 0x00050048,
|
||||||
|
0x00000011, 0x00000000, 0x00000007, 0x00000010, 0x00050048, 0x00000011,
|
||||||
|
0x00000000, 0x00000023, 0x00000000, 0x00050048, 0x00000011, 0x00000001,
|
||||||
|
0x00000023, 0x00000040, 0x00040047, 0x00000019, 0x0000001e, 0x00000000,
|
||||||
|
0x00040047, 0x00000025, 0x0000001e, 0x00000000, 0x00040047, 0x00000027,
|
||||||
|
0x0000001e, 0x00000001, 0x00020013, 0x00000002, 0x00030021, 0x00000003,
|
||||||
|
0x00000002, 0x00030016, 0x00000006, 0x00000020, 0x00040017, 0x00000007,
|
||||||
|
0x00000006, 0x00000004, 0x00040015, 0x00000008, 0x00000020, 0x00000000,
|
||||||
|
0x0004002b, 0x00000008, 0x00000009, 0x00000001, 0x0004001c, 0x0000000a,
|
||||||
|
0x00000006, 0x00000009, 0x0006001e, 0x0000000b, 0x00000007, 0x00000006,
|
||||||
|
0x0000000a, 0x0000000a, 0x00040020, 0x0000000c, 0x00000003, 0x0000000b,
|
||||||
|
0x0004003b, 0x0000000c, 0x0000000d, 0x00000003, 0x00040015, 0x0000000e,
|
||||||
|
0x00000020, 0x00000001, 0x0004002b, 0x0000000e, 0x0000000f, 0x00000000,
|
||||||
|
0x00040018, 0x00000010, 0x00000007, 0x00000004, 0x0004001e, 0x00000011,
|
||||||
|
0x00000010, 0x00000007, 0x00040020, 0x00000012, 0x00000009, 0x00000011,
|
||||||
|
0x0004003b, 0x00000012, 0x00000013, 0x00000009, 0x00040020, 0x00000014,
|
||||||
|
0x00000009, 0x00000010, 0x00040017, 0x00000017, 0x00000006, 0x00000002,
|
||||||
|
0x00040020, 0x00000018, 0x00000001, 0x00000017, 0x0004003b, 0x00000018,
|
||||||
|
0x00000019, 0x00000001, 0x0004002b, 0x00000006, 0x0000001b, 0x00000000,
|
||||||
|
0x0004002b, 0x00000006, 0x0000001c, 0x3f800000, 0x00040020, 0x00000021,
|
||||||
|
0x00000003, 0x00000007, 0x00040017, 0x00000023, 0x00000006, 0x00000003,
|
||||||
|
0x00040020, 0x00000024, 0x00000003, 0x00000023, 0x0004003b, 0x00000024,
|
||||||
|
0x00000025, 0x00000003, 0x00040020, 0x00000026, 0x00000001, 0x00000023,
|
||||||
|
0x0004003b, 0x00000026, 0x00000027, 0x00000001, 0x00050036, 0x00000002,
|
||||||
|
0x00000004, 0x00000000, 0x00000003, 0x000200f8, 0x00000005, 0x00050041,
|
||||||
|
0x00000014, 0x00000015, 0x00000013, 0x0000000f, 0x0004003d, 0x00000010,
|
||||||
|
0x00000016, 0x00000015, 0x0004003d, 0x00000017, 0x0000001a, 0x00000019,
|
||||||
|
0x00050051, 0x00000006, 0x0000001d, 0x0000001a, 0x00000000, 0x00050051,
|
||||||
|
0x00000006, 0x0000001e, 0x0000001a, 0x00000001, 0x00070050, 0x00000007,
|
||||||
|
0x0000001f, 0x0000001d, 0x0000001e, 0x0000001b, 0x0000001c, 0x00050091,
|
||||||
|
0x00000007, 0x00000020, 0x00000016, 0x0000001f, 0x00050041, 0x00000021,
|
||||||
|
0x00000022, 0x0000000d, 0x0000000f, 0x0003003e, 0x00000022, 0x00000020,
|
||||||
|
0x0004003d, 0x00000023, 0x00000028, 0x00000027, 0x0003003e, 0x00000025,
|
||||||
|
0x00000028, 0x000100fd, 0x00010038,
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace sophia::shaders
|
||||||
Reference in New Issue
Block a user