From 0054311bf3b4f619a631e95d8aa1ea2d4bfd01c6 Mon Sep 17 00:00:00 2001 From: Ethan Nicholas Date: Tue, 31 Jul 2018 09:44:36 -0400 Subject: Re-re-land "added GrSkSLFP and converted DitherEffect to use it" This reverts commit 6c48e4d11ce80fa5cfef56e13b2d5847fe94a7cc. Bug: skia: Change-Id: I7ee78990fc30eec545d1856e59eb6e0573089426 Reviewed-on: https://skia-review.googlesource.com/144348 Reviewed-by: Brian Salomon Commit-Queue: Ethan Nicholas --- src/sksl/SkSLJIT.h | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'src/sksl/SkSLJIT.h') diff --git a/src/sksl/SkSLJIT.h b/src/sksl/SkSLJIT.h index b23e31237f..54f6254e9c 100644 --- a/src/sksl/SkSLJIT.h +++ b/src/sksl/SkSLJIT.h @@ -10,7 +10,6 @@ #ifdef SK_LLVM_AVAILABLE -#include "ir/SkSLAppendStage.h" #include "ir/SkSLBinaryExpression.h" #include "ir/SkSLBreakStatement.h" #include "ir/SkSLContinueStatement.h" @@ -45,6 +44,8 @@ class SkRasterPipeline; namespace SkSL { +struct AppendStage; + /** * A just-in-time compiler for SkSL code which uses an LLVM backend. Only available when the * skia_llvm_path gn arg is set. @@ -54,7 +55,8 @@ namespace SkSL { * #ifdef SK_LLVM_AVAILABLE * SkSL::Compiler compiler; * SkSL::Program::Settings settings; - * std::unique_ptr program = compiler.convertProgram(SkSL::Program::kCPU_Kind, + * std::unique_ptr program = compiler.convertProgram( + SkSL::Program::kPipelineStage_Kind, * "void swap(int x, int y, inout float4 color) {" * " color.rb = color.br;" * "}", @@ -304,6 +306,10 @@ private: LLVMBasicBlockRef fCurrentBlock; LLVMTypeRef fVoidType; LLVMTypeRef fInt1Type; + LLVMTypeRef fInt1VectorType; + LLVMTypeRef fInt1Vector2Type; + LLVMTypeRef fInt1Vector3Type; + LLVMTypeRef fInt1Vector4Type; LLVMTypeRef fInt8Type; LLVMTypeRef fInt8PtrType; LLVMTypeRef fInt32Type; @@ -332,6 +338,12 @@ private: std::vector fBreakTarget; std::vector fContinueTarget; + LLVMValueRef fFoldAnd2Func; + LLVMValueRef fFoldOr2Func; + LLVMValueRef fFoldAnd3Func; + LLVMValueRef fFoldOr3Func; + LLVMValueRef fFoldAnd4Func; + LLVMValueRef fFoldOr4Func; LLVMValueRef fAppendFunc; LLVMValueRef fAppendCallbackFunc; LLVMValueRef fDebugFunc; -- cgit v1.2.3