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