Fix BC6h decoder

The alpha channel was never written to the result because it was only
ever set in the variable's default value, which would only be set by
the default constructor. Since the output is only cast as a Color,
and never constructed, then the constructor was never called on the
output, and the alpha was never set. This CL sets the alpha channel
on both copy operations, making sure the output alpha is set.

Bug: b/202978657
Change-Id: I0716a4067862cacdbdc3218a4b4cb2e0a2aa8a58
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/58169
Tested-by: Alexis Hétu <sugoi@google.com>
Presubmit-Ready: Alexis Hétu <sugoi@google.com>
Commit-Queue: Alexis Hétu <sugoi@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
diff --git a/src/Device/BC_Decoder.cpp b/src/Device/BC_Decoder.cpp
index 325efdb..cf16e44 100644
--- a/src/Device/BC_Decoder.cpp
+++ b/src/Device/BC_Decoder.cpp
@@ -314,7 +314,7 @@
 		uint16_t r = 0;
 		uint16_t g = 0;
 		uint16_t b = 0;
-		const uint16_t a = halfFloat1;
+		uint16_t a = halfFloat1;
 
 		RGBA(uint16_t r, uint16_t g, uint16_t b)
 		    : r(r)
@@ -328,6 +328,7 @@
 			this->r = other.r;
 			this->g = other.g;
 			this->b = other.b;
+			this->a = halfFloat1;
 
 			return *this;
 		}