add simple rgba f32 support
A brief survey showed RGBA F32 is actually used, so might as well
support it in skvm. This borrows the ideas of the 64-bit pixel formats
for 128-bit pixels, but I got super lazy and only supported exactly RGBA
F32 for now. I left a TODO to generalize swizzles and maybe to allow
32-bit unorms, but I don't intend to do that until needed.
The new instructions are implemented serially in the interpreter,
and I've left JITing these instructions for a follow up as usual.
Compressed all the similarly structured 128-bit loads into load128_32
with a lane argument.
Change-Id: Ie031039cf4189a707add091d25395294f8fca637
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/306706
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Herb Derby <herb@google.com>
Auto-Submit: Mike Klein <mtklein@google.com>
diff --git a/src/shaders/SkImageShader.cpp b/src/shaders/SkImageShader.cpp
index 7246219..6582c3c 100755
--- a/src/shaders/SkImageShader.cpp
+++ b/src/shaders/SkImageShader.cpp
@@ -889,7 +889,7 @@
skvm::Coord upperLocal = SkShaderBase::ApplyMatrix(p, upperInv, origLocal, uniforms);
- // Bail out if sample() can't yet handle our image's color type(s).
+ // All existing SkColorTypes pass these checks. We'd only fail here adding new ones.
skvm::PixelFormat unused;
if (true && !SkColorType_to_PixelFormat(upper->colorType(), &unused)) {
return {};