Skip to content

Commit 662cde2

Browse files
[Rendering] Expose Render Flags to Vertex/Index Buffers;
1 parent a44fd3a commit 662cde2

File tree

5 files changed

+34
-20
lines changed

5 files changed

+34
-20
lines changed

Engine/Staple.Core/Rendering/RenderSystem/Backend/Impls/SDLGPU/SDLGPUIndexBuffer.cs

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,18 @@
1-
using SDL3;
2-
using System;
3-
using System.Runtime.InteropServices;
1+
using System;
42

53
namespace Staple.Internal;
64

75
internal class SDLGPUIndexBuffer : IndexBuffer
86
{
97
public ResourceHandle<IndexBuffer> handle;
108

11-
private readonly RenderBufferFlags flags;
129
private readonly SDLGPURendererBackend backend;
1310

1411
public bool Valid => handle.IsValid;
1512

16-
public SDLGPUIndexBuffer(ResourceHandle<IndexBuffer> handle, RenderBufferFlags flags, SDLGPURendererBackend backend)
13+
public SDLGPUIndexBuffer(ResourceHandle<IndexBuffer> handle, SDLGPURendererBackend backend)
1714
{
1815
this.handle = handle;
19-
this.flags = flags;
2016
this.backend = backend;
2117

2218
ResourceManager.instance.userCreatedIndexBuffers.Add(new(this));

Engine/Staple.Core/Rendering/RenderSystem/Backend/Impls/SDLGPU/SDLGPURendererBackend+Buffers.cs

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -91,14 +91,17 @@ public VertexBuffer CreateVertexBuffer(Span<byte> data, VertexLayout layout, Ren
9191
return null;
9292
}
9393

94-
var handle = SDLGPURendererBackend.ReserveResourceBuffer<VertexBuffer>(vertexBuffers, flags);
94+
var handle = ReserveResourceBuffer<VertexBuffer>(vertexBuffers, flags);
9595

9696
if (handle.IsValid == false)
9797
{
9898
return null;
9999
}
100100

101-
var outValue = new SDLGPUVertexBuffer(handle, flags, layout, this);
101+
var outValue = new SDLGPUVertexBuffer(handle, layout, this)
102+
{
103+
Flags = flags,
104+
};
102105

103106
outValue.Update(data);
104107

@@ -112,14 +115,17 @@ public VertexBuffer CreateVertexBuffer<T>(Span<T> data, VertexLayout layout, Ren
112115
return null;
113116
}
114117

115-
var handle = SDLGPURendererBackend.ReserveResourceBuffer<VertexBuffer>(vertexBuffers, flags);
118+
var handle = ReserveResourceBuffer<VertexBuffer>(vertexBuffers, flags);
116119

117120
if (handle.IsValid == false)
118121
{
119122
return null;
120123
}
121124

122-
var outValue = new SDLGPUVertexBuffer(handle, flags, layout, this);
125+
var outValue = new SDLGPUVertexBuffer(handle, layout, this)
126+
{
127+
Flags = flags,
128+
};
123129

124130
outValue.Update(data);
125131

@@ -128,14 +134,17 @@ public VertexBuffer CreateVertexBuffer<T>(Span<T> data, VertexLayout layout, Ren
128134

129135
public IndexBuffer CreateIndexBuffer(Span<ushort> data, RenderBufferFlags flags)
130136
{
131-
var handle = SDLGPURendererBackend.ReserveResourceBuffer<IndexBuffer>(indexBuffers, flags);
137+
var handle = ReserveResourceBuffer<IndexBuffer>(indexBuffers, flags);
132138

133139
if (handle.IsValid == false)
134140
{
135141
return null;
136142
}
137143

138-
var outValue = new SDLGPUIndexBuffer(handle, flags, this);
144+
var outValue = new SDLGPUIndexBuffer(handle, this)
145+
{
146+
Flags = flags,
147+
};
139148

140149
outValue.Update(data);
141150

@@ -144,14 +153,17 @@ public IndexBuffer CreateIndexBuffer(Span<ushort> data, RenderBufferFlags flags)
144153

145154
public IndexBuffer CreateIndexBuffer(Span<uint> data, RenderBufferFlags flags)
146155
{
147-
var handle = SDLGPURendererBackend.ReserveResourceBuffer<IndexBuffer>(indexBuffers, flags);
156+
var handle = ReserveResourceBuffer<IndexBuffer>(indexBuffers, flags);
148157

149158
if (handle.IsValid == false)
150159
{
151160
return null;
152161
}
153162

154-
var outValue = new SDLGPUIndexBuffer(handle, flags, this);
163+
var outValue = new SDLGPUIndexBuffer(handle, this)
164+
{
165+
Flags = flags,
166+
};
155167

156168
outValue.Update(data);
157169

Engine/Staple.Core/Rendering/RenderSystem/Backend/Impls/SDLGPU/SDLGPUVertexBuffer.cs

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
using SDL3;
2-
using System;
1+
using System;
32
using System.Runtime.InteropServices;
43

54
namespace Staple.Internal;
@@ -8,16 +7,13 @@ internal class SDLGPUVertexBuffer : VertexBuffer
87
{
98
public ResourceHandle<VertexBuffer> handle;
109

11-
private readonly RenderBufferFlags flags;
1210
private readonly SDLGPURendererBackend backend;
1311

1412
public bool IsValid => handle.IsValid;
1513

16-
public SDLGPUVertexBuffer(ResourceHandle<VertexBuffer> handle, RenderBufferFlags flags, VertexLayout layout,
17-
SDLGPURendererBackend backend)
14+
public SDLGPUVertexBuffer(ResourceHandle<VertexBuffer> handle, VertexLayout layout, SDLGPURendererBackend backend)
1815
{
1916
this.handle = handle;
20-
this.flags = flags;
2117
this.layout = layout;
2218
this.backend = backend;
2319

Engine/Staple.Core/Rendering/Vertex/IndexBuffer.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,11 @@ public abstract class IndexBuffer
1313
/// </summary>
1414
internal bool Disposed { get; private set; } = false;
1515

16+
/// <summary>
17+
/// Contains the render buffer flags of this buffer
18+
/// </summary>
19+
public RenderBufferFlags Flags { get; internal set; }
20+
1621
/// <summary>
1722
/// Whether this index buffer is 32-bit
1823
/// </summary>

Engine/Staple.Core/Rendering/Vertex/VertexBuffer.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,11 @@ public abstract class VertexBuffer
1111
{
1212
internal VertexLayout layout;
1313

14+
/// <summary>
15+
/// Contains the render buffer flags of this buffer
16+
/// </summary>
17+
public RenderBufferFlags Flags { get; internal set; }
18+
1419
/// <summary>
1520
/// Whether this was destroyed
1621
/// </summary>

0 commit comments

Comments
 (0)