mirror of
https://github.com/aharabada/glitchy-engine-beef.git
synced 2026-09-05 13:01:52 +00:00
38 lines
1.0 KiB
Beef
38 lines
1.0 KiB
Beef
#if GE_GRAPHICS_DX11
|
|
|
|
using System;
|
|
using DirectX.D3D11;
|
|
using DirectX.D3DCompiler;
|
|
using GlitchyEngine.Platform.DX11;
|
|
using GlitchyEngine.Content;
|
|
|
|
using internal GlitchyEngine.Renderer;
|
|
using internal GlitchyEngine.Platform.DX11;
|
|
|
|
namespace GlitchyEngine.Renderer
|
|
{
|
|
extension PixelShader
|
|
{
|
|
public override void CompileFromSource(StringView code, StringView? fileName, String entryPoint, IContentManager contentManager, ShaderDefine[] macros = null)
|
|
{
|
|
Debug.Profiler.ProfileRendererFunction!();
|
|
|
|
Shader.PlattformCompileShaderFromSource(code, fileName, macros, entryPoint, "ps_5_0", DefaultCompileFlags, contentManager, out nativeCode);
|
|
|
|
{
|
|
Debug.Profiler.ProfileResourceScope!("CreateNativePixelShader");
|
|
|
|
var result = NativeDevice.CreatePixelShader(nativeCode.GetBufferPointer(), nativeCode.GetBufferSize(), null, (ID3D11PixelShader**)&nativeShader);
|
|
if(result.Failed)
|
|
{
|
|
Log.EngineLogger.Error($"Failed to create pixel shader: Message ({(int)result}): {result}");
|
|
}
|
|
}
|
|
|
|
Reflect(nativeCode);
|
|
}
|
|
}
|
|
}
|
|
|
|
#endif
|