Skip to content

Commit eea8ce1

Browse files
Make diagnostics internal; drop int encodings, cleanup
1 parent 3c62425 commit eea8ce1

5 files changed

Lines changed: 9 additions & 96 deletions

File tree

src/ImageSharp.Drawing.WebGPU/Shaders/FineAliasedThresholdComputeShader.cs

Lines changed: 1 addition & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -87,10 +87,7 @@ private static ShaderTraits GetTraits(TextureFormat textureFormat)
8787
return compositeTraits.EncodingKind switch
8888
{
8989
WebGPUDrawingBackend.CompositeTextureEncodingKind.Float => CreateFloatTraits(compositeTraits.OutputFormat),
90-
WebGPUDrawingBackend.CompositeTextureEncodingKind.Snorm => CreateSnormTraits(compositeTraits.OutputFormat),
91-
WebGPUDrawingBackend.CompositeTextureEncodingKind.Uint8 => CreateUintTraits(compositeTraits.OutputFormat, 255F),
92-
WebGPUDrawingBackend.CompositeTextureEncodingKind.Uint16 => CreateUintTraits(compositeTraits.OutputFormat, 65535F),
93-
WebGPUDrawingBackend.CompositeTextureEncodingKind.Sint16 => CreateSintTraits(compositeTraits.OutputFormat, -32768F, 32767F)
90+
WebGPUDrawingBackend.CompositeTextureEncodingKind.Snorm => CreateSnormTraits(compositeTraits.OutputFormat)
9491
};
9592
#pragma warning restore CS8524
9693
}
@@ -126,45 +123,6 @@ fn encode_output(color: vec4<f32>) -> vec4<f32> {
126123
"textureStore(output, vec2<i32>(coords), encode_output(rgba_sep));");
127124
}
128125

129-
private static ShaderTraits CreateUintTraits(string outputFormat, float maxValue)
130-
{
131-
string maxVector = $"vec4<f32>({maxValue:F1}, {maxValue:F1}, {maxValue:F1}, {maxValue:F1})";
132-
const string encodeOutput =
133-
"""
134-
const UINT_TEXEL_MAX: vec4<f32> = __UINT_TEXEL_MAX__;
135-
fn encode_output(color: vec4<f32>) -> vec4<u32> {
136-
let clamped = clamp(color, vec4<f32>(0.0), vec4<f32>(1.0));
137-
return vec4<u32>(round(clamped * UINT_TEXEL_MAX));
138-
}
139-
""";
140-
141-
return new ShaderTraits(
142-
outputFormat,
143-
encodeOutput.Replace("__UINT_TEXEL_MAX__", maxVector, StringComparison.Ordinal),
144-
"textureStore(output, vec2<i32>(coords), encode_output(rgba_sep));");
145-
}
146-
147-
private static ShaderTraits CreateSintTraits(string outputFormat, float minValue, float maxValue)
148-
{
149-
string minVector = $"vec4<f32>({minValue:F1}, {minValue:F1}, {minValue:F1}, {minValue:F1})";
150-
string maxVector = $"vec4<f32>({maxValue:F1}, {maxValue:F1}, {maxValue:F1}, {maxValue:F1})";
151-
string encodeOutput =
152-
$$"""
153-
const SINT_TEXEL_MIN: vec4<f32> = {{minVector}};
154-
const SINT_TEXEL_MAX: vec4<f32> = {{maxVector}};
155-
const SINT_TEXEL_RANGE: vec4<f32> = SINT_TEXEL_MAX - SINT_TEXEL_MIN;
156-
fn encode_output(color: vec4<f32>) -> vec4<i32> {
157-
let clamped = clamp(color, vec4<f32>(0.0), vec4<f32>(1.0));
158-
return vec4<i32>(round((clamped * SINT_TEXEL_RANGE) + SINT_TEXEL_MIN));
159-
}
160-
""";
161-
162-
return new ShaderTraits(
163-
outputFormat,
164-
encodeOutput,
165-
"textureStore(output, vec2<i32>(coords), encode_output(rgba_sep));");
166-
}
167-
168126
private readonly struct ShaderTraits(
169127
string outputFormat,
170128
string encodeOutputFunction,

src/ImageSharp.Drawing.WebGPU/Shaders/FineAreaComputeShader.cs

Lines changed: 1 addition & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -97,10 +97,7 @@ private static ShaderTraits GetTraits(TextureFormat textureFormat)
9797
return compositeTraits.EncodingKind switch
9898
{
9999
WebGPUDrawingBackend.CompositeTextureEncodingKind.Float => CreateFloatTraits(compositeTraits.OutputFormat),
100-
WebGPUDrawingBackend.CompositeTextureEncodingKind.Snorm => CreateSnormTraits(compositeTraits.OutputFormat),
101-
WebGPUDrawingBackend.CompositeTextureEncodingKind.Uint8 => CreateUintTraits(compositeTraits.OutputFormat, 255F),
102-
WebGPUDrawingBackend.CompositeTextureEncodingKind.Uint16 => CreateUintTraits(compositeTraits.OutputFormat, 65535F),
103-
WebGPUDrawingBackend.CompositeTextureEncodingKind.Sint16 => CreateSintTraits(compositeTraits.OutputFormat, -32768F, 32767F)
100+
WebGPUDrawingBackend.CompositeTextureEncodingKind.Snorm => CreateSnormTraits(compositeTraits.OutputFormat)
104101
};
105102
#pragma warning restore CS8524
106103
}
@@ -136,45 +133,6 @@ fn encode_output(color: vec4<f32>) -> vec4<f32> {
136133
"textureStore(output, vec2<i32>(coords), encode_output(rgba_sep));");
137134
}
138135

139-
private static ShaderTraits CreateUintTraits(string outputFormat, float maxValue)
140-
{
141-
string maxVector = $"vec4<f32>({maxValue:F1}, {maxValue:F1}, {maxValue:F1}, {maxValue:F1})";
142-
const string encodeOutput =
143-
"""
144-
const UINT_TEXEL_MAX: vec4<f32> = __UINT_TEXEL_MAX__;
145-
fn encode_output(color: vec4<f32>) -> vec4<u32> {
146-
let clamped = clamp(color, vec4<f32>(0.0), vec4<f32>(1.0));
147-
return vec4<u32>(round(clamped * UINT_TEXEL_MAX));
148-
}
149-
""";
150-
151-
return new ShaderTraits(
152-
outputFormat,
153-
encodeOutput.Replace("__UINT_TEXEL_MAX__", maxVector, StringComparison.Ordinal),
154-
"textureStore(output, vec2<i32>(coords), encode_output(rgba_sep));");
155-
}
156-
157-
private static ShaderTraits CreateSintTraits(string outputFormat, float minValue, float maxValue)
158-
{
159-
string minVector = $"vec4<f32>({minValue:F1}, {minValue:F1}, {minValue:F1}, {minValue:F1})";
160-
string maxVector = $"vec4<f32>({maxValue:F1}, {maxValue:F1}, {maxValue:F1}, {maxValue:F1})";
161-
string encodeOutput =
162-
$$"""
163-
const SINT_TEXEL_MIN: vec4<f32> = {{minVector}};
164-
const SINT_TEXEL_MAX: vec4<f32> = {{maxVector}};
165-
const SINT_TEXEL_RANGE: vec4<f32> = SINT_TEXEL_MAX - SINT_TEXEL_MIN;
166-
fn encode_output(color: vec4<f32>) -> vec4<i32> {
167-
let clamped = clamp(color, vec4<f32>(0.0), vec4<f32>(1.0));
168-
return vec4<i32>(round((clamped * SINT_TEXEL_RANGE) + SINT_TEXEL_MIN));
169-
}
170-
""";
171-
172-
return new ShaderTraits(
173-
outputFormat,
174-
encodeOutput,
175-
"textureStore(output, vec2<i32>(coords), encode_output(rgba_sep));");
176-
}
177-
178136
private static BindGroupLayoutEntry CreateStorageEntry(uint binding, BufferBindingType type, nuint minBindingSize)
179137
=> new()
180138
{

src/ImageSharp.Drawing.WebGPU/WebGPUDrawingBackend.CompositePixels.cs

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,7 @@ public sealed partial class WebGPUDrawingBackend
3232
internal enum CompositeTextureEncodingKind
3333
{
3434
Float,
35-
Snorm,
36-
Uint8,
37-
Uint16,
38-
Sint16
35+
Snorm
3936
}
4037

4138
/// <summary>

src/ImageSharp.Drawing.WebGPU/WebGPUDrawingBackend.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ public WebGPUDrawingBackend()
6666
/// <remarks>
6767
/// This value describes only the most recent flush on this backend instance. It is overwritten by the next flush.
6868
/// </remarks>
69-
public bool DiagnosticLastFlushUsedChunking { get; private set; }
69+
internal bool DiagnosticLastFlushUsedChunking { get; private set; }
7070

7171
/// <summary>
7272
/// Gets the binding category that selected chunked rendering for the last WebGPU flush.
@@ -75,7 +75,7 @@ public WebGPUDrawingBackend()
7575
/// This value describes only the most recent flush on this backend instance. When the most recent flush did not use
7676
/// chunked rendering, this property returns <c>None</c>.
7777
/// </remarks>
78-
public string DiagnosticLastChunkingBindingFailure => this.lastChunkingBindingFailure.ToString();
78+
internal string DiagnosticLastChunkingBindingFailure => this.lastChunkingBindingFailure.ToString();
7979

8080
/// <inheritdoc />
8181
public DrawingBackendScene CreateScene(

src/ImageSharp.Drawing.WebGPU/WebGPUTextureFormat.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,20 +16,20 @@ public enum WebGPUTextureFormat
1616
/// <summary>
1717
/// Four-channel 8-bit normalized unsigned RGBA format, mapped to <see cref="Rgba32"/>.
1818
/// </summary>
19-
Rgba8Unorm = 0x12,
19+
Rgba8Unorm,
2020

2121
/// <summary>
2222
/// Four-channel 8-bit normalized signed RGBA format, mapped to <see cref="NormalizedByte4"/>.
2323
/// </summary>
24-
Rgba8Snorm = 0x14,
24+
Rgba8Snorm,
2525

2626
/// <summary>
2727
/// Four-channel 8-bit normalized unsigned BGRA format, mapped to <see cref="Bgra32"/>.
2828
/// </summary>
29-
Bgra8Unorm = 0x17,
29+
Bgra8Unorm,
3030

3131
/// <summary>
3232
/// Four-channel 16-bit floating-point RGBA format, mapped to <see cref="HalfVector4"/>.
3333
/// </summary>
34-
Rgba16Float = 0x22
34+
Rgba16Float
3535
}

0 commit comments

Comments
 (0)