In GrSkSLFP, store uniform data immediately after the FP

Adds an extra overload to GrProcessor's operator new, allowing
over-allocation.

For now, this just copies from the incoming SkData, so no real benefit.
The following CL allows us to create runtime FPs with no malloc (SkData)
at all, by directly copying uniform arguments into this footer.

Change-Id: I5f7b85010ca1e2c2eb51bd09311254d5d5248c1c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/415172
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
diff --git a/src/gpu/GrProcessor.cpp b/src/gpu/GrProcessor.cpp
index 870dc35..2dd6a50 100644
--- a/src/gpu/GrProcessor.cpp
+++ b/src/gpu/GrProcessor.cpp
@@ -44,6 +44,10 @@
 
 void* GrProcessor::operator new(size_t size) { return MemoryPoolAccessor().pool()->allocate(size); }
 
+void* GrProcessor::operator new(size_t object_size, size_t footer_size) {
+    return MemoryPoolAccessor().pool()->allocate(object_size + footer_size);
+}
+
 void GrProcessor::operator delete(void* target) {
     return MemoryPoolAccessor().pool()->release(target);
 }