Add sampler support and refactor resource handling
Enhanced shader and resource systems with `Sampler` support, including updates to `ShaderPropertyType`, HLSL code, and resource management. Refactored `Result` structs for better type safety and added new enums for texture and comparison settings. Improved `MeshRenderPass` to dynamically load textures and samplers. Updated SDL compiler and token lexicon for `Sampler` handling. Embedded debug info in project files and streamlined resource state tracking.
This commit is contained in:
@@ -2,27 +2,27 @@ using Ghost.Core;
|
||||
|
||||
namespace Ghost.Graphics.D3D12;
|
||||
|
||||
internal readonly struct RTVDesc : IIdentifierType;
|
||||
internal readonly struct DSVDesc : IIdentifierType;
|
||||
internal readonly struct CbvSrvUavDesc : IIdentifierType;
|
||||
internal readonly struct SamplerDesc : IIdentifierType;
|
||||
internal readonly struct RTVDescriptor : IIdentifierType;
|
||||
internal readonly struct DSVDescriptor : IIdentifierType;
|
||||
internal readonly struct CbvSrvUavDescriptor : IIdentifierType;
|
||||
internal readonly struct SamplerDescriptor : IIdentifierType;
|
||||
|
||||
internal struct ResourceViewGroup
|
||||
{
|
||||
public Identifier<RTVDesc> rtv;
|
||||
public Identifier<DSVDesc> dsv;
|
||||
public Identifier<CbvSrvUavDesc> srv;
|
||||
public Identifier<CbvSrvUavDesc> cbv;
|
||||
public Identifier<CbvSrvUavDesc> uav;
|
||||
public Identifier<SamplerDesc> sampler;
|
||||
public Identifier<RTVDescriptor> rtv;
|
||||
public Identifier<DSVDescriptor> dsv;
|
||||
public Identifier<CbvSrvUavDescriptor> srv;
|
||||
public Identifier<CbvSrvUavDescriptor> cbv;
|
||||
public Identifier<CbvSrvUavDescriptor> uav;
|
||||
public Identifier<SamplerDescriptor> sampler;
|
||||
|
||||
public static ResourceViewGroup Invalid => new()
|
||||
{
|
||||
rtv = Identifier<RTVDesc>.Invalid,
|
||||
dsv = Identifier<DSVDesc>.Invalid,
|
||||
srv = Identifier<CbvSrvUavDesc>.Invalid,
|
||||
cbv = Identifier<CbvSrvUavDesc>.Invalid,
|
||||
uav = Identifier<CbvSrvUavDesc>.Invalid,
|
||||
sampler = Identifier<SamplerDesc>.Invalid,
|
||||
rtv = Identifier<RTVDescriptor>.Invalid,
|
||||
dsv = Identifier<DSVDescriptor>.Invalid,
|
||||
srv = Identifier<CbvSrvUavDescriptor>.Invalid,
|
||||
cbv = Identifier<CbvSrvUavDescriptor>.Invalid,
|
||||
uav = Identifier<CbvSrvUavDescriptor>.Invalid,
|
||||
sampler = Identifier<SamplerDescriptor>.Invalid,
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user