Commit Graph

493 Commits

Author SHA1 Message Date
fa40b42e16 feat: Add comprehensive roadmap for JSON configuration and rendering engine 2026-01-08 18:22:26 +00:00
91a6d02d1f feat: Enhance rendering and crash recovery configurations
- Added new rendering budget configurations including VRAM limits and texture dimensions in seed_runtime.json and seed_runtime_opengl.json.
- Introduced crash recovery parameters such as heartbeat timeouts and memory limits in the configuration files.
- Updated cube logic to utilize new camera and control settings from the configuration.
- Modified bgfx graphics backend to respect new rendering budget limits and handle texture loading accordingly.
- Implemented crash recovery service enhancements to utilize new configuration parameters for better resource management.
- Added unit tests to validate the integration of new rendering budgets and crash recovery configurations.
2026-01-08 18:11:21 +00:00
40740782d0 feat: Enhance JSON configuration with scene and physics settings 2026-01-08 17:33:58 +00:00
7af2c4e392 feat: Implement recursive loading and validation for JSON configuration files 2026-01-08 17:16:30 +00:00
6b55a98ff5 thing 2026-01-08 16:59:37 +00:00
980e42f4e2 feat: Add detailed design document for JSON-based declarative control plane in rendering engine 2026-01-08 16:58:39 +00:00
df19ae9264 feat: Enhance JSON configuration writer and add heartbeat recording to crash recovery service
- Updated JsonConfigWriterService to structure the JSON output with new sections for scripts, window settings, input bindings, paths, rendering, and GUI configurations.
- Introduced a new method in ICrashRecoveryService to record frame heartbeats, allowing for better tracking of long-running operations.
- Refactored existing code to improve readability and maintainability, including the addition of helper functions for adding string members to JSON objects.
2026-01-08 16:57:24 +00:00
4fdbcdc4bc feat(tests): add crash recovery timeout test to validate prompt timeout behavior 2026-01-08 15:39:48 +00:00
f0f42aa74f feat(tests): improve bgfx initialization order tests with enhanced logging and refactored initialization logic 2026-01-08 15:04:50 +00:00
e85d41995a feat(tests): enhance initialization order tests with renderer type checks and logging improvements 2026-01-08 13:13:52 +00:00
715fc1481e feat(tests): add integration tests for Bgfx draw validation, initialization order, shader uniform mapping, and Vulkan crash reproduction 2026-01-08 05:03:54 +00:00
f643c7c893 feat(tests): add bounds validation tests for BgfxGraphicsBackend::Draw() to prevent GPU crashes 2026-01-08 04:44:44 +00:00
a1b35370da feat(tests): add tests for Bgfx draw bounds validation and GUI shader linking failure 2026-01-08 04:37:42 +00:00
a177a48793 feat(tests): add shaderc uniform mapping tests and shader uniform validation 2026-01-08 04:29:40 +00:00
4db6305154 feat(assets): add support for syncing MaterialX asset directories 2026-01-08 04:16:10 +00:00
88291862d8 fix(conan): restore shaderc dependency in BASE_REQUIRES 2026-01-08 03:48:03 +00:00
c14d4d5ac9 test(gui): add unit test for handling missing fields in GUI script service 2026-01-08 03:40:04 +00:00
4df22bb295 hi 2026-01-08 03:37:02 +00:00
dcec8f39a0 Revert "stuff"
This reverts commit 8dd30db30d.
2026-01-08 03:20:44 +00:00
8dd30db30d stuff 2026-01-08 03:06:30 +00:00
757f3946c0 feat(logger): enhance file descriptor management for logging service 2026-01-08 02:07:37 +00:00
262c100e2f stuff 2026-01-08 01:50:49 +00:00
0417fbf5ba feat(tests): add unit tests for render coordinator initialization order 2026-01-08 00:33:17 +00:00
de8ad12a7b refactor(tests): simplify bgfx frame requirement tests by removing direct stats checks 2026-01-08 00:25:53 +00:00
66fbbcf11a feat(tests): add TDD tests for bgfx initialization order and frame requirements 2026-01-08 00:11:41 +00:00
e631e986bb docs: add documentation for critical bug related to texture creation order in bgfx 2026-01-08 00:05:07 +00:00
ea6cbcc90e Enhance texture loading and resource management in BgfxGraphicsBackend
- Implement texture memory budget tracking to prevent GPU memory exhaustion.
- Add validation for texture dimensions against GPU capabilities before loading.
- Introduce checks for memory budget before texture allocation.
- Validate the success of bgfx::copy() during texture loading.
- Improve error handling and logging for texture creation failures.
- Ensure proper cleanup of texture memory during pipeline destruction.
- Add comprehensive unit tests for initialization order, texture loading, and resource management.
- Document potential issues in LoadTextureFromFile and shader compilation processes.
2026-01-08 00:03:21 +00:00
add8182659 feat(tests): add integration tests for MaterialX shader generator and validation 2026-01-07 23:35:46 +00:00
501e95da5a fix(shader): enhance regex patterns and improve comment handling in shader validation 2026-01-07 23:18:46 +00:00
a44f05d9e5 feat(tests): add shader pipeline validator tests with GTest integration 2026-01-07 23:16:58 +00:00
7968456f4f feat(mesh): add tangents to MeshPayload and compute during payload building
- Updated MeshPayload structure to include tangents.
- Modified BuildPayloadFromBspBuffer to compute tangents based on vertex normals.
- Enhanced AppendMeshPayload to handle tangents, either from mesh data or generated.
- Updated PushMeshToLua to expose tangents to Lua.
- Adjusted ReadVertexArray to read tangents from Lua.

feat(shader): implement ShaderPipelineValidator for shader validation

- Added ShaderPipelineValidator class to validate shader inputs/outputs and vertex layouts.
- Implemented methods to extract shader attributes and validate against vertex layouts.
- Added comprehensive validation checks for shader pipelines, including SPIR-V requirements.
- Created a logger interface for validation results.

test(shader): add unit tests for ShaderPipelineValidator

- Implemented extensive unit tests for shader validation, covering various scenarios.
- Tests include extraction of shader inputs/outputs, validation of vertex layout matches, stride checks, and interface matching.
- Added edge case tests for empty shaders and comments in GLSL code.
2026-01-07 23:12:45 +00:00
569f6b2688 Merge pull request #9 from johndoe6345789/dependabot/npm_and_yarn/MaterialX/javascript/MaterialXView/npm_and_yarn-8d393b1fc0
build(deps): Bump the npm_and_yarn group across 2 directories with 2 updates
2026-01-07 22:30:08 +00:00
a04fed45cf feat(shader): Add attribute aliasing for improved attribute mapping in shaderc_spirv 2026-01-07 22:14:42 +00:00
973dfcf9ea fix(shader): Update integer uniform mapping to Vec4 and add verbose logging for better debugging 2026-01-07 22:04:26 +00:00
0c0b338ae6 fix(shader): Correctly map GL_INT uniforms to Vec4 to prevent crashes in Vulkan shader creation 2026-01-07 22:02:20 +00:00
e8b48bf7dc stuff 2026-01-07 21:59:22 +00:00
2583643fb8 feat(shader): Enhance shader binary parsing and logging functionality 2026-01-07 21:39:18 +00:00
a0673e6791 stuff 2026-01-07 21:13:29 +00:00
6bd83a9b4e feat(shader): Enhance shader validation and refactor uniform handling in BgfxGuiService 2026-01-07 21:08:53 +00:00
2eb7d632dd feat(tests): Update GPU render test expectations and remove skybox references 2026-01-07 20:24:53 +00:00
08d06dbe60 feat(shader): Refactor shader compilation process to use BgfxShaderCompiler and streamline error handling 2026-01-07 20:17:56 +00:00
99e35573d2 Add TINYSTL string_view, traits, unordered_map, unordered_set, and vector implementations
- Introduced string_view class for non-owning string references.
- Added traits header for type traits and utility functions.
- Implemented unordered_map class for hash table based key-value storage.
- Created unordered_set class for hash table based unique key storage.
- Developed vector class for dynamic array functionality with various utility methods.
2026-01-07 19:54:17 +00:00
ce5db15e6b feat(shader): Enhance shader compilation with in-process support for multiple targets and integrate PipelineCompilerService 2026-01-07 19:45:48 +00:00
dc90facd09 feat(shader): Document in-process Shaderc integration and shader binary format issues for Vulkan 2026-01-07 19:19:11 +00:00
700d18e0b6 feat(shader): Update Vulkan shader handling with uniform blocks and improved compilation process 2026-01-07 18:59:52 +00:00
8955c51f20 bgfx 2026-01-07 18:49:55 +00:00
2cbd4c232f feat(shader): Integrate local shader compilation with bgfx_tools and add PipelineCompilerService 2026-01-07 18:38:01 +00:00
cb0a420242 feat(shader): Integrate bgfx_tools for shader compilation and add PipelineCompilerService 2026-01-07 17:53:30 +00:00
8362200def Add PSSL and SPIR-V shader compilation support
- Implemented `compilePSSLShader` function in `shaderc_pssl.cpp` to handle PSSL shader compilation, currently returning an unsupported message.
- Introduced `shaderc_spirv.cpp` with comprehensive SPIR-V shader compilation logic, including GLSL to SPIR-V translation, reflection, and uniform handling.
- Added necessary includes and defined resource limits for SPIR-V compilation.
- Established texture format mappings and attribute enumerations for shader inputs.
- Enhanced error handling and logging for shader compilation processes.
2026-01-07 17:11:45 +00:00
c39eeb1f29 Add vertex shader for texture cube and improve shader handling
- Introduced a new vertex shader for texture cube rendering in `vs_texture_cube.sc`.
- Enabled debugging for shader validation in the graphics backend initialization.
- Refactored GUI shaders to use a structured output for vertex data, improving clarity and maintainability.
- Updated shader compiler to disable automatic uniform binding, allowing for explicit binding in shaders.
- Simplified shader binary wrapping by removing unnecessary uniform and attribute metadata embedding, leveraging bgfx's reflection capabilities.
2026-01-07 17:11:03 +00:00