Commit Graph

297 Commits

Author SHA1 Message Date
97fe7b3f2b ROADMAP.md 2026-01-09 19:12:38 +00:00
72c84ac64b ROADMAP.md 2026-01-09 18:52:52 +00:00
8c76553de9 ROADMAP.md 2026-01-09 18:37:04 +00:00
1159adf78e ROADMAP.md 2026-01-09 18:22:33 +00:00
c26211feb5 ROADMAP.md 2026-01-09 18:01:07 +00:00
8941905f85 ROADMAP.md 2026-01-09 17:59:06 +00:00
7b288c2d50 ROADMAP.md 2026-01-09 17:50:33 +00:00
73eee3038e ROADMAP.md 2026-01-09 17:25:07 +00:00
002db578ee ROADMAP.md 2026-01-09 17:20:00 +00:00
dda0e11682 ROADMAP.md 2026-01-09 16:55:25 +00:00
af418dcdd2 feat: Implement configuration compiler and related services
- Added ConfigCompilerService to compile JSON configurations into IR structures.
- Introduced IConfigCompilerService interface for compilation functionality.
- Created ProbeService for structured diagnostics and reporting.
- Developed RenderGraphService to build and validate render graphs.
- Enhanced JsonConfigService to support schema validation and migration.
- Introduced new interfaces for probing and rendering graph services.
- Added necessary IR types for scenes, resources, and render passes.
- Improved error handling and logging throughout the services.
2026-01-08 18:56:31 +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
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
f643c7c893 feat(tests): add bounds validation tests for BgfxGraphicsBackend::Draw() to prevent GPU crashes 2026-01-08 04:44:44 +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
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
501e95da5a fix(shader): enhance regex patterns and improve comment handling in shader validation 2026-01-07 23:18:46 +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
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
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
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
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
b4a5588054 feat(logging): Enhance logging in shader compilation and program creation for better traceability 2026-01-07 16:24:14 +00:00
bff4954185 feat(shader_compiler): Add BgfxShaderCompiler for GLSL to SPIRV compilation and uniform metadata handling
refactor(bgfx_gui_service): Integrate BgfxShaderCompiler for shader creation and validation
test(bgfx_gui_service): Enhance tests to validate shader key presence and uniform initialization
2026-01-07 16:17:09 +00:00
b07cf40b8d feat(bgfx_gui_service): Add support for MaterialX shaders with separate uniform handling 2026-01-07 15:44:53 +00:00
71c25e7ddb feat(tests): Enhance cube demo scene tests with improved object type differentiation and scale extraction 2026-01-07 15:06:00 +00:00
d71bc24681 feat(gui): Integrate MaterialX shader generation into bgfx_gui_service and enhance tests 2026-01-07 13:21:03 +00:00
25bd2fdca5 feat(tests): Add stub config service and enhance bgfx_gui_service tests 2026-01-07 13:07:30 +00:00
58e54bc2df fix(gui): Remove explicit binding from uniform declarations and enhance logging in CreateProgram 2026-01-07 12:52:36 +00:00
498cc56b34 feat(materialx): Refactor MaterialX shader handling to improve configuration and error handling 2026-01-07 12:47:04 +00:00