forked from Misaki/GhostEngine
Refactor and optimize rendering pipeline
- Added `<IsTrimmable>` property in project files for trimming. - Replaced bindless texture types with non-bindless equivalents. - Refactored `ShaderDescriptor` and `ShaderPass` for better modularity. - Introduced `ShaderDescriptorExtensions` for property size calculations. - Simplified constant buffer handling in `Material.cs`. - Improved resource management in `D3D12` components. - Added support for static meshes and optimized resource barriers. - Refactored shader code generation and property merging in `SDLCompiler`. - Removed unused or redundant code (e.g., `IncludesBlock` parser). - Updated comments, documentation, and error handling for clarity.
This commit is contained in:
@@ -6,7 +6,7 @@ using Misaki.HighPerformance.LowLevel.Collections;
|
||||
|
||||
namespace Ghost.Graphics.Contracts;
|
||||
|
||||
public struct CompileResult : IDisposable
|
||||
public struct ShaderCompileResult : IDisposable
|
||||
{
|
||||
public UnsafeArray<byte> bytecode;
|
||||
public ShaderReflectionData reflectionData;
|
||||
@@ -21,9 +21,9 @@ public struct CompileResult : IDisposable
|
||||
|
||||
public struct GraphicsCompiledResult : IDisposable
|
||||
{
|
||||
public CompileResult tsResult;
|
||||
public CompileResult msResult;
|
||||
public CompileResult psResult;
|
||||
public ShaderCompileResult tsResult;
|
||||
public ShaderCompileResult msResult;
|
||||
public ShaderCompileResult psResult;
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
@@ -143,7 +143,7 @@ public readonly struct ShaderReflectionData
|
||||
|
||||
public interface IShaderCompiler : IDisposable
|
||||
{
|
||||
Result<CompileResult> Compile(ref readonly CompilerConfig config, Allocator allocator);
|
||||
Result<GraphicsCompiledResult> CompilePass(IPassDescriptor descriptor);
|
||||
Result<ShaderCompileResult> Compile(ref readonly CompilerConfig config, Allocator allocator);
|
||||
Result<GraphicsCompiledResult> CompilePass(IPassDescriptor descriptor, string? generatedCodePath);
|
||||
Result<GraphicsCompiledResult> LoadCompiledCache(ShaderPassKey key);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user