From 7aea3dc1248cfa337fe1c3b3b96760e422ef119a Mon Sep 17 00:00:00 2001
From: Thomas Harte <thomas.harte@gmail.com>
Date: Sat, 7 Nov 2020 22:19:27 -0500
Subject: [PATCH] Corrects R4G4B4 and R2G2B2 output.

---
 OSBindings/Mac/Clock Signal/ScanTarget/ScanTarget.metal | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/OSBindings/Mac/Clock Signal/ScanTarget/ScanTarget.metal b/OSBindings/Mac/Clock Signal/ScanTarget/ScanTarget.metal
index 88b0b5e99..40ed7da0b 100644
--- a/OSBindings/Mac/Clock Signal/ScanTarget/ScanTarget.metal	
+++ b/OSBindings/Mac/Clock Signal/ScanTarget/ScanTarget.metal	
@@ -332,12 +332,12 @@ half3 convertRed8Green8Blue8(SourceInterpolator vert, texture2d<half> texture) {
 
 half3 convertRed4Green4Blue4(SourceInterpolator vert, texture2d<ushort> texture) {
 	const auto sample = texture.sample(standardSampler, vert.textureCoordinates).rg;
-	return clamp(half3(sample.r&15, (sample.g >> 4)&15, sample.g&15), half(0.0f), half(1.0f));
+	return half3(sample.r&15, (sample.g >> 4)&15, sample.g&15) / 15.0f;
 }
 
 half3 convertRed2Green2Blue2(SourceInterpolator vert, texture2d<ushort> texture) {
 	const auto sample = texture.sample(standardSampler, vert.textureCoordinates).r;
-	return clamp(half3((sample >> 4)&3, (sample >> 2)&3, sample&3), half(0.0f), half(1.0f));
+	return half3((sample >> 4)&3, (sample >> 2)&3, sample&3) / 3.0f;
 }
 
 half3 convertRed1Green1Blue1(SourceInterpolator vert, texture2d<ushort> texture) {