Skip to content

Commit

Permalink
Add [D2DGeneratedShaderMarshaller] to all shader types
Browse files Browse the repository at this point in the history
  • Loading branch information
Sergio0694 committed Sep 23, 2023
1 parent 2436b82 commit ad29ff1
Show file tree
Hide file tree
Showing 27 changed files with 60 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ namespace ComputeSharp.SwapChain.Shaders.D2D1;
[D2DInputCount(0)]
[D2DRequiresScenePosition]
[D2DShaderProfile(D2D1ShaderProfile.PixelShader50)]
[D2DGeneratedShaderMarshaller]
[AutoConstructor]
internal readonly partial struct ColorfulInfinity : ID2D1PixelShader
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ namespace ComputeSharp.SwapChain.Shaders.D2D1;
[D2DInputCount(0)]
[D2DRequiresScenePosition]
[D2DShaderProfile(D2D1ShaderProfile.PixelShader50)]
[D2DGeneratedShaderMarshaller]
[AutoConstructor]
internal readonly partial struct ContouredLayers : ID2D1PixelShader
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ namespace ComputeSharp.SwapChain.Shaders.D2D1;
[D2DInputCount(0)]
[D2DRequiresScenePosition]
[D2DShaderProfile(D2D1ShaderProfile.PixelShader50)]
[D2DGeneratedShaderMarshaller]
[AutoConstructor]
internal readonly partial struct FractalTiling : ID2D1PixelShader
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ namespace ComputeSharp.SwapChain.Shaders.D2D1;
[D2DInputCount(0)]
[D2DRequiresScenePosition]
[D2DShaderProfile(D2D1ShaderProfile.PixelShader50)]
[D2DGeneratedShaderMarshaller]
[AutoConstructor]
internal readonly partial struct HelloWorld : ID2D1PixelShader
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ namespace ComputeSharp.SwapChain.Shaders.D2D1;
[D2DInputCount(0)]
[D2DRequiresScenePosition]
[D2DShaderProfile(D2D1ShaderProfile.PixelShader50)]
[D2DGeneratedShaderMarshaller]
[AutoConstructor]
internal readonly partial struct MengerJourney : ID2D1PixelShader
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ namespace ComputeSharp.SwapChain.Shaders.D2D1;
[D2DInputCount(0)]
[D2DRequiresScenePosition]
[D2DShaderProfile(D2D1ShaderProfile.PixelShader50)]
[D2DGeneratedShaderMarshaller]
[AutoConstructor]
internal readonly partial struct Octagrams : ID2D1PixelShader
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ namespace ComputeSharp.SwapChain.Shaders.D2D1;
[D2DInputCount(0)]
[D2DRequiresScenePosition]
[D2DShaderProfile(D2D1ShaderProfile.PixelShader50)]
[D2DGeneratedShaderMarshaller]
[AutoConstructor]
internal readonly partial struct ProteanClouds : ID2D1PixelShader
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ namespace ComputeSharp.SwapChain.Shaders.D2D1;
[D2DInputCount(0)]
[D2DRequiresScenePosition]
[D2DShaderProfile(D2D1ShaderProfile.PixelShader50)]
[D2DGeneratedShaderMarshaller]
[AutoConstructor]
internal readonly partial struct PyramidPattern : ID2D1PixelShader
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ namespace ComputeSharp.SwapChain.Shaders.D2D1;
[D2DInputCount(0)]
[D2DRequiresScenePosition]
[D2DShaderProfile(D2D1ShaderProfile.PixelShader50)]
[D2DGeneratedShaderMarshaller]
[AutoConstructor]
internal readonly partial struct TerracedHills : ID2D1PixelShader
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ namespace ComputeSharp.SwapChain.Shaders.D2D1;
[D2DInputCount(0)]
[D2DRequiresScenePosition]
[D2DShaderProfile(D2D1ShaderProfile.PixelShader50)]
[D2DGeneratedShaderMarshaller]
[AutoConstructor]
internal readonly partial struct TriangleGridContouring : ID2D1PixelShader
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ namespace ComputeSharp.SwapChain.Shaders.D2D1;
[D2DInputCount(0)]
[D2DRequiresScenePosition]
[D2DShaderProfile(D2D1ShaderProfile.PixelShader50)]
[D2DGeneratedShaderMarshaller]
[AutoConstructor]
internal readonly partial struct TwoTiledTruchet : ID2D1PixelShader
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ public unsafe void ShaderWithAssemblyLevelAttributes()
[D2DInputSimple(0)]
[D2DInputSimple(1)]
[D2DInputSimple(2)]
[D2DGeneratedShaderMarshaller]
private readonly partial struct ShaderWithNoCompileAttributes : ID2D1PixelShader
{
public float4 Execute()
Expand Down Expand Up @@ -66,6 +67,7 @@ public unsafe void ShaderWithAssemblyLevelAttributesAndOverriddenProfile()
[D2DInputSimple(1)]
[D2DInputSimple(2)]
[D2DShaderProfile(D2D1ShaderProfile.PixelShader50)]
[D2DGeneratedShaderMarshaller]
private readonly partial struct ShaderWithOverriddenProfile : ID2D1PixelShader
{
public float4 Execute()
Expand Down Expand Up @@ -100,6 +102,7 @@ public unsafe void ShaderWithAssemblyLevelAttributesAndOverriddenOptions()
[D2DInputSimple(1)]
[D2DInputSimple(2)]
[D2DCompileOptions(D2D1CompileOptions.Debug | D2D1CompileOptions.AvoidFlowControl | D2D1CompileOptions.PartialPrecision)]
[D2DGeneratedShaderMarshaller]
private readonly partial struct ShaderWithOverriddenOptions : ID2D1PixelShader
{
public float4 Execute()
Expand Down Expand Up @@ -135,6 +138,7 @@ public unsafe void ShaderWithAssemblyLevelAttributesAndEverythingOverridden()
[D2DInputSimple(2)]
[D2DShaderProfile(D2D1ShaderProfile.PixelShader50)]
[D2DCompileOptions(D2D1CompileOptions.Debug | D2D1CompileOptions.AvoidFlowControl | D2D1CompileOptions.PartialPrecision)]
[D2DGeneratedShaderMarshaller]
private readonly partial struct ShaderWithOverriddenProfileAndOptions : ID2D1PixelShader
{
public float4 Execute()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,7 @@ public unsafe void EffectRegistrationData_Validate()

[D2DInputCount(2)]
[D2DRequiresScenePosition]
[D2DGeneratedShaderMarshaller]
[AutoConstructor]
private readonly partial struct TestRegistrationBlobShader : ID2D1PixelShader
{
Expand Down
2 changes: 2 additions & 0 deletions tests/ComputeSharp.D2D1.Tests/D2D1PixelShaderEffectTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,7 @@ public unsafe void NullConstantBuffer_DrawImageFails()

[D2DInputCount(0)]
[D2DRequiresScenePosition]
[D2DGeneratedShaderMarshaller]
[AutoConstructor]
private partial struct NullConstantBufferShader : ID2D1PixelShader
{
Expand Down Expand Up @@ -151,6 +152,7 @@ public unsafe void GetValueSize_ConstantBuffer()

[D2DInputCount(0)]
[D2DRequiresScenePosition]
[D2DGeneratedShaderMarshaller]
[AutoConstructor]
private partial struct ConstantBufferSizeTestShader : ID2D1PixelShader
{
Expand Down
14 changes: 14 additions & 0 deletions tests/ComputeSharp.D2D1.Tests/D2D1PixelShaderTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ public unsafe void GetInputType()
[D2DInputComplex(3)]
[D2DInputComplex(5)]
[D2DInputSimple(6)]
[D2DGeneratedShaderMarshaller]
partial struct ShaderWithMultipleInputs : ID2D1PixelShader
{
public Float4 Execute()
Expand Down Expand Up @@ -67,6 +68,7 @@ public unsafe void GetOutputBufferChannelDepth()
}

[D2DInputCount(0)]
[D2DGeneratedShaderMarshaller]
partial struct EmptyShader : ID2D1PixelShader
{
public Float4 Execute()
Expand All @@ -77,6 +79,7 @@ public Float4 Execute()

[D2DInputCount(0)]
[D2DOutputBuffer(D2D1BufferPrecision.UInt16Normalized)]
[D2DGeneratedShaderMarshaller]
partial struct OnlyBufferPrecisionShader : ID2D1PixelShader
{
public Float4 Execute()
Expand All @@ -87,6 +90,7 @@ public Float4 Execute()

[D2DInputCount(0)]
[D2DOutputBuffer(D2D1ChannelDepth.Four)]
[D2DGeneratedShaderMarshaller]
partial struct OnlyChannelDepthShader : ID2D1PixelShader
{
public Float4 Execute()
Expand All @@ -97,6 +101,7 @@ public Float4 Execute()

[D2DInputCount(0)]
[D2DOutputBuffer(D2D1BufferPrecision.UInt8NormalizedSrgb, D2D1ChannelDepth.One)]
[D2DGeneratedShaderMarshaller]
partial struct CustomBufferOutputShader : ID2D1PixelShader
{
public Float4 Execute()
Expand Down Expand Up @@ -163,6 +168,7 @@ public unsafe void GetInputDescriptions_Custom()
[D2DInputDescription(2, D2D1Filter.MinLinearMagPointMinLinear, LevelOfDetailCount = 4)]
[D2DInputDescription(5, D2D1Filter.MinMagPointMipLinear)]
[D2DInputDescription(6, D2D1Filter.MinPointMagMipLinear, LevelOfDetailCount = 3)]
[D2DGeneratedShaderMarshaller]
partial struct ShaderWithInputDescriptions : ID2D1PixelShader
{
public Float4 Execute()
Expand Down Expand Up @@ -215,6 +221,7 @@ public unsafe void GetResourceTextureDescriptions_Custom()
[D2DInputComplex(1)]
[D2DInputComplex(3)]
[D2DShaderProfile(D2D1ShaderProfile.PixelShader50)]
[D2DGeneratedShaderMarshaller]
[AutoConstructor]
partial struct ShaderWithResourceTextures : ID2D1PixelShader
{
Expand Down Expand Up @@ -294,6 +301,7 @@ public unsafe void GetBytecode_FromEmbeddedBytecode_WithTargetProfileAndPackMatr
[D2DInputSimple(1)]
[D2DInputSimple(2)]
[D2DShaderProfile(D2D1ShaderProfile.PixelShader40Level91)]
[D2DGeneratedShaderMarshaller]
private readonly partial struct ShaderWithEmbeddedBytecode : ID2D1PixelShader
{
public float4 Execute()
Expand Down Expand Up @@ -343,6 +351,7 @@ public unsafe void GetBytecode_FromEmbeddedBytecode_WithCompileOptions()
[D2DInputSimple(2)]
[D2DShaderProfile(D2D1ShaderProfile.PixelShader40Level91)]
[D2DCompileOptions(D2D1CompileOptions.IeeeStrictness | D2D1CompileOptions.OptimizationLevel2)]
[D2DGeneratedShaderMarshaller]
private readonly partial struct ShaderWithEmbeddedBytecodeAndCompileOptions : ID2D1PixelShader
{
public float4 Execute()
Expand Down Expand Up @@ -374,6 +383,7 @@ public void LoadBytecode_VerifyEffectiveValues_ExplicitShaderProfile()
[D2DInputCount(1)]
[D2DInputSimple(0)]
[D2DShaderProfile(D2D1ShaderProfile.PixelShader40Level91)]
[D2DGeneratedShaderMarshaller]
private readonly partial struct SimpleShaderWithExplicitShaderProfileAndNoCompileOptions : ID2D1PixelShader
{
public float4 Execute()
Expand All @@ -385,6 +395,7 @@ public float4 Execute()
[D2DInputCount(1)]
[D2DInputComplex(0)]
[D2DShaderProfile(D2D1ShaderProfile.PixelShader40Level91)]
[D2DGeneratedShaderMarshaller]
private readonly partial struct ComplexShaderWithExplicitShaderProfileAndNoCompileOptions : ID2D1PixelShader
{
public float4 Execute()
Expand All @@ -410,6 +421,7 @@ public void LoadBytecode_VerifyEffectiveValues_ExplicitCompileOptions()
[D2DInputCount(1)]
[D2DInputSimple(0)]
[D2DCompileOptions(D2D1CompileOptions.OptimizationLevel2 | D2D1CompileOptions.IeeeStrictness)]
[D2DGeneratedShaderMarshaller]
private readonly partial struct ShaderWithExplicitCompileOptionsAndNoShaderProfile : ID2D1PixelShader
{
public float4 Execute()
Expand Down Expand Up @@ -458,6 +470,7 @@ public unsafe void GetConstantBuffer_Empty_Span()
[D2DInputSimple(0)]
[D2DInputDescription(0, D2D1Filter.MinMagMipPoint)]
[D2DPixelOptions(D2D1PixelOptions.TrivialSampling)]
[D2DGeneratedShaderMarshaller]
private readonly partial struct ShaderWithNoCapturedValues : ID2D1PixelShader
{
public float4 Execute()
Expand Down Expand Up @@ -605,6 +618,7 @@ private unsafe void ValidateShaderWithScalarVectorAndMatrixTypesConstantBuffer(R
}

[D2DInputCount(0)]
[D2DGeneratedShaderMarshaller]
[AutoConstructor]
private readonly partial struct ShaderWithScalarVectorAndMatrixTypes : ID2D1PixelShader
{
Expand Down
2 changes: 2 additions & 0 deletions tests/ComputeSharp.D2D1.Tests/D2D1ReflectionServicesTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ public void GetShaderInfo()
[D2DInputComplex(2)]
[D2DRequiresScenePosition]
[D2DShaderProfile(D2D1ShaderProfile.PixelShader41)]
[D2DGeneratedShaderMarshaller]
private readonly partial struct ReflectedShader : ID2D1PixelShader
{
private readonly float2 offset;
Expand Down Expand Up @@ -119,6 +120,7 @@ public void GetShaderInfoWithDoublePrecisionFeature()

[D2DInputCount(1)]
[D2DShaderProfile(D2D1ShaderProfile.PixelShader50)]
[D2DGeneratedShaderMarshaller]
private readonly partial struct ReflectedShaderWithDoubleOperations : ID2D1PixelShader
{
private readonly double amount;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -171,6 +171,7 @@ public unsafe void SingleThreadedFactory_AssigningRCWManagerFails()

[D2DInputCount(0)]
[D2DRequiresScenePosition]
[D2DGeneratedShaderMarshaller]
private partial struct DummyShaderWithResourceTexture : ID2D1PixelShader
{
[D2DResourceTextureIndex(0)]
Expand Down Expand Up @@ -459,6 +460,7 @@ public unsafe void LoadPixelsFromResourceTexture2D_AlternatingResourceTextureMan

[D2DInputCount(0)]
[D2DRequiresScenePosition]
[D2DGeneratedShaderMarshaller]
private partial struct IndexFrom2DResourceTextureShader : ID2D1PixelShader
{
[D2DResourceTextureIndex(0)]
Expand Down Expand Up @@ -533,6 +535,7 @@ public unsafe void LoadPixelsFromResourceTexture3D()

[D2DInputCount(0)]
[D2DRequiresScenePosition]
[D2DGeneratedShaderMarshaller]
[AutoConstructor]
private partial struct IndexFrom3DResourceTextureShader : ID2D1PixelShader
{
Expand Down Expand Up @@ -620,6 +623,7 @@ public unsafe void UpdateResourceTexture1D(int width, int startOffset, int updat

[D2DInputCount(0)]
[D2DRequiresScenePosition]
[D2DGeneratedShaderMarshaller]
[AutoConstructor]
private partial struct CopyFromResourceTexture1DShader : ID2D1PixelShader
{
Expand Down Expand Up @@ -717,6 +721,7 @@ public unsafe void UpdateResourceTexture2D(

[D2DInputCount(0)]
[D2DRequiresScenePosition]
[D2DGeneratedShaderMarshaller]
[AutoConstructor]
private partial struct CopyFromResourceTexture2DShader : ID2D1PixelShader
{
Expand Down Expand Up @@ -823,6 +828,7 @@ public unsafe void UpdateResourceTexture3D(

[D2DInputCount(0)]
[D2DRequiresScenePosition]
[D2DGeneratedShaderMarshaller]
[AutoConstructor]
private partial struct CopyFromResourceTexture3DShader : ID2D1PixelShader
{
Expand Down Expand Up @@ -868,6 +874,7 @@ public unsafe void NullResourceTexture_DrawImageFails()

[D2DInputCount(0)]
[D2DRequiresScenePosition]
[D2DGeneratedShaderMarshaller]
private partial struct NullResourceTextureShader : ID2D1PixelShader
{
[D2DResourceTextureIndex(0)]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ namespace ComputeSharp.D2D1.Tests;
internal sealed partial class D2D1ResourceTextureUninitializedFieldDiagnosticSuppressorTests
{
[D2DInputCount(0)]
[D2DGeneratedShaderMarshaller]
public readonly partial struct MyShader : ID2D1PixelShader
{
// This test just needs to validate the project builds fine with this shader.
Expand Down
2 changes: 2 additions & 0 deletions tests/ComputeSharp.D2D1.Tests/D2D1TransformMapperTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -198,6 +198,7 @@ static void Test(GCHandle transformMapperHandle)
}

[D2DInputCount(0)]
[D2DGeneratedShaderMarshaller]
private partial struct DummyShader : ID2D1PixelShader
{
public float4 Execute()
Expand Down Expand Up @@ -287,6 +288,7 @@ public override void MapOutputToInputs(in Rectangle output, Span<Rectangle> inpu
[D2DInputCount(1)]
[D2DInputSimple(0)]
[D2DRequiresScenePosition]
[D2DGeneratedShaderMarshaller]
[AutoConstructor]
private partial struct ShaderWithDispatchArea : ID2D1PixelShader
{
Expand Down
4 changes: 4 additions & 0 deletions tests/ComputeSharp.D2D1.Tests/Effects/BokehBlurEffect.cs
Original file line number Diff line number Diff line change
Expand Up @@ -509,6 +509,7 @@ private sealed partial class VerticalConvolution
[D2DOutputBuffer(D2D1BufferPrecision.Float32, D2D1ChannelDepth.Four)]
[D2DShaderProfile(D2D1ShaderProfile.PixelShader50)]
[D2DRequiresScenePosition]
[D2DGeneratedShaderMarshaller]
[AutoConstructor]
public readonly partial struct Shader : ID2D1PixelShader
{
Expand Down Expand Up @@ -558,6 +559,7 @@ private sealed partial class HorizontalConvolutionAndAccumulatePartials
[D2DOutputBuffer(D2D1BufferPrecision.Float32, D2D1ChannelDepth.Four)]
[D2DShaderProfile(D2D1ShaderProfile.PixelShader50)]
[D2DRequiresScenePosition]
[D2DGeneratedShaderMarshaller]
[AutoConstructor]
public readonly partial struct Shader : ID2D1PixelShader
{
Expand Down Expand Up @@ -602,6 +604,7 @@ public float4 Execute()
[D2DInputDescription(0, D2D1Filter.MinMagMipPoint)]
[D2DOutputBuffer(D2D1BufferPrecision.Float32, D2D1ChannelDepth.Four)]
[D2DShaderProfile(D2D1ShaderProfile.PixelShader50)]
[D2DGeneratedShaderMarshaller]
[AutoConstructor]
internal readonly partial struct GammaHighlight : ID2D1PixelShader
{
Expand All @@ -624,6 +627,7 @@ public float4 Execute()
[D2DInputDescription(0, D2D1Filter.MinMagMipPoint)]
[D2DOutputBuffer(D2D1BufferPrecision.Float32, D2D1ChannelDepth.Four)]
[D2DShaderProfile(D2D1ShaderProfile.PixelShader50)]
[D2DGeneratedShaderMarshaller]
[AutoConstructor]
internal readonly partial struct InverseGammaHighlight : ID2D1PixelShader
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ namespace ComputeSharp.D2D1.Tests.Effects;
[D2DInputSimple(0)]
[D2DRequiresScenePosition]
[D2DShaderProfile(D2D1ShaderProfile.PixelShader50)]
[D2DGeneratedShaderMarshaller]
[AutoConstructor]
public partial struct CheckerboardClipEffect : ID2D1PixelShader
{
Expand Down
1 change: 1 addition & 0 deletions tests/ComputeSharp.D2D1.Tests/Effects/InvertEffect.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ namespace ComputeSharp.D2D1.Tests.Effects;
[D2DInputCount(1)]
[D2DInputSimple(0)]
[D2DShaderProfile(D2D1ShaderProfile.PixelShader50)]
[D2DGeneratedShaderMarshaller]
public partial struct InvertEffect : ID2D1PixelShader
{
/// <inheritdoc/>
Expand Down
Loading

0 comments on commit ad29ff1

Please sign in to comment.