mirror of
https://github.com/par274/sharpemu.git
synced 2026-07-23 03:16:22 +08:00
42 lines
1.1 KiB
C#
42 lines
1.1 KiB
C#
// Copyright (C) 2026 SharpEmu Emulator Project
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
using SharpEmu.ShaderCompiler;
|
|
using Xunit;
|
|
|
|
namespace SharpEmu.Libs.Tests.Agc;
|
|
|
|
public sealed class Gen5ShaderProgramTests
|
|
{
|
|
[Fact]
|
|
public void PixelColorExportMasksPackAllColorTargets()
|
|
{
|
|
var program = new Gen5ShaderProgram(
|
|
0,
|
|
[
|
|
Export(0, 0x1),
|
|
Export(0, 0x4),
|
|
Export(1, 0x2),
|
|
Export(2, 0x3),
|
|
Export(3, 0x4),
|
|
Export(4, 0x5),
|
|
Export(5, 0x6),
|
|
Export(6, 0x7),
|
|
Export(7, 0x8),
|
|
Export(8, 0xF),
|
|
]);
|
|
|
|
Assert.Equal(0x8765_4325u, program.PixelColorExportMasks);
|
|
Assert.Equal(0x8765_4325u, program.PixelColorExportMasks);
|
|
}
|
|
|
|
private static Gen5ShaderInstruction Export(uint target, uint enableMask) => new(
|
|
0,
|
|
Gen5ShaderEncoding.Exp,
|
|
"exp",
|
|
[],
|
|
[],
|
|
[],
|
|
new Gen5ExportControl(target, enableMask, false, false, false));
|
|
}
|