mirror of
https://github.com/aharabada/glitchy-engine-beef.git
synced 2026-09-05 21:01:52 +00:00
Desketchified DX11 shader binding
This commit is contained in:
@@ -245,10 +245,10 @@ namespace GlitchyEngine.Renderer
|
||||
// TODO: Add remaining shader stages
|
||||
case typeof(PixelShader):
|
||||
NativeContext.PixelShader.SetConstantBuffers(0, shader.Buffers.nativeBuffers.Count, &shader.Buffers.nativeBuffers);
|
||||
[IgnoreErrors]{ NativeContext.PixelShader.SetShader(((PixelShader)shader).nativeShader); }
|
||||
NativeContext.PixelShader.SetShader((ID3D11PixelShader*)shader.nativeShader);
|
||||
case typeof(VertexShader):
|
||||
NativeContext.VertexShader.SetConstantBuffers(0, shader.Buffers.nativeBuffers.Count, &shader.Buffers.nativeBuffers);
|
||||
[IgnoreErrors]{ NativeContext.VertexShader.SetShader(((VertexShader)shader).nativeShader); }
|
||||
NativeContext.VertexShader.SetShader((ID3D11VertexShader*)shader.nativeShader);
|
||||
default:
|
||||
Runtime.FatalError(scope $"Shader stage \"{typeof(TShader)}\" not implemented.");
|
||||
}
|
||||
|
||||
@@ -12,8 +12,6 @@ namespace GlitchyEngine.Renderer
|
||||
{
|
||||
extension PixelShader
|
||||
{
|
||||
internal ID3D11PixelShader* nativeShader ~ _?.Release();
|
||||
|
||||
public override void CompileFromSource(StringView code, StringView? fileName, String entryPoint, ShaderDefine[] macros = null)
|
||||
{
|
||||
Debug.Profiler.ProfileRendererFunction!();
|
||||
@@ -23,7 +21,7 @@ namespace GlitchyEngine.Renderer
|
||||
{
|
||||
Debug.Profiler.ProfileResourceScope!("CreateNativePixelShader");
|
||||
|
||||
var result = NativeDevice.CreatePixelShader(nativeCode.GetBufferPointer(), nativeCode.GetBufferSize(), null, &nativeShader);
|
||||
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}");
|
||||
|
||||
@@ -13,6 +13,8 @@ namespace GlitchyEngine.Renderer
|
||||
{
|
||||
extension Shader
|
||||
{
|
||||
internal ID3D11DeviceChild* nativeShader ~ _?.Release();
|
||||
|
||||
/**
|
||||
* Internal compiled code of the shader.
|
||||
*/
|
||||
|
||||
@@ -13,8 +13,6 @@ namespace GlitchyEngine.Renderer
|
||||
{
|
||||
extension VertexShader
|
||||
{
|
||||
internal ID3D11VertexShader* nativeShader ~ _?.Release();
|
||||
|
||||
public override void CompileFromSource(StringView code, StringView? fileName, String entryPoint, ShaderDefine[] macros = null)
|
||||
{
|
||||
Debug.Profiler.ProfileResourceFunction!();
|
||||
@@ -24,7 +22,7 @@ namespace GlitchyEngine.Renderer
|
||||
{
|
||||
Debug.Profiler.ProfileResourceScope!("CreateNativeVertexShader");
|
||||
|
||||
var result = NativeDevice.CreateVertexShader(nativeCode.GetBufferPointer(), nativeCode.GetBufferSize(), null, &nativeShader);
|
||||
var result = NativeDevice.CreateVertexShader(nativeCode.GetBufferPointer(), nativeCode.GetBufferSize(), null, (ID3D11VertexShader**)&nativeShader);
|
||||
if(result.Failed)
|
||||
{
|
||||
Log.EngineLogger.Error($"Failed to create vertex shader: Message ({(int)result}): {result}");
|
||||
|
||||
Reference in New Issue
Block a user