1*c8dee2aaSAndroid Build Coastguard Worker /* 2*c8dee2aaSAndroid Build Coastguard Worker * Copyright 2018 Google Inc. 3*c8dee2aaSAndroid Build Coastguard Worker * 4*c8dee2aaSAndroid Build Coastguard Worker * Use of this source code is governed by a BSD-style license that can be 5*c8dee2aaSAndroid Build Coastguard Worker * found in the LICENSE file. 6*c8dee2aaSAndroid Build Coastguard Worker */ 7*c8dee2aaSAndroid Build Coastguard Worker 8*c8dee2aaSAndroid Build Coastguard Worker #ifndef ProxyUtils_DEFINED 9*c8dee2aaSAndroid Build Coastguard Worker #define ProxyUtils_DEFINED 10*c8dee2aaSAndroid Build Coastguard Worker 11*c8dee2aaSAndroid Build Coastguard Worker #include "include/private/gpu/ganesh/GrTypesPriv.h" 12*c8dee2aaSAndroid Build Coastguard Worker #include "src/gpu/ganesh/GrImageInfo.h" 13*c8dee2aaSAndroid Build Coastguard Worker #include "src/gpu/ganesh/GrPipeline.h" 14*c8dee2aaSAndroid Build Coastguard Worker #include "src/gpu/ganesh/GrTextureProxy.h" 15*c8dee2aaSAndroid Build Coastguard Worker #include "src/gpu/ganesh/GrUserStencilSettings.h" 16*c8dee2aaSAndroid Build Coastguard Worker 17*c8dee2aaSAndroid Build Coastguard Worker class GrDirectContext; 18*c8dee2aaSAndroid Build Coastguard Worker class GrProgramInfo; 19*c8dee2aaSAndroid Build Coastguard Worker class GrCPixmap; 20*c8dee2aaSAndroid Build Coastguard Worker 21*c8dee2aaSAndroid Build Coastguard Worker namespace sk_gpu_test { 22*c8dee2aaSAndroid Build Coastguard Worker 23*c8dee2aaSAndroid Build Coastguard Worker /** Returns the proxy backing an image if it is texture backed, otherwise nullptr. */ 24*c8dee2aaSAndroid Build Coastguard Worker GrTextureProxy* GetTextureImageProxy(SkImage*, GrRecordingContext*); 25*c8dee2aaSAndroid Build Coastguard Worker 26*c8dee2aaSAndroid Build Coastguard Worker /** Makes a texture proxy containing the passed in color data. */ 27*c8dee2aaSAndroid Build Coastguard Worker GrSurfaceProxyView MakeTextureProxyViewFromData(GrDirectContext*, 28*c8dee2aaSAndroid Build Coastguard Worker GrRenderable, 29*c8dee2aaSAndroid Build Coastguard Worker GrSurfaceOrigin, 30*c8dee2aaSAndroid Build Coastguard Worker GrCPixmap pixmap); 31*c8dee2aaSAndroid Build Coastguard Worker 32*c8dee2aaSAndroid Build Coastguard Worker #if defined(SK_GANESH) 33*c8dee2aaSAndroid Build Coastguard Worker GrProgramInfo* CreateProgramInfo(const GrCaps*, 34*c8dee2aaSAndroid Build Coastguard Worker SkArenaAlloc*, 35*c8dee2aaSAndroid Build Coastguard Worker const GrSurfaceProxyView& writeView, 36*c8dee2aaSAndroid Build Coastguard Worker bool usesMSAASurface, 37*c8dee2aaSAndroid Build Coastguard Worker GrAppliedClip&&, 38*c8dee2aaSAndroid Build Coastguard Worker const GrDstProxyView&, 39*c8dee2aaSAndroid Build Coastguard Worker GrGeometryProcessor*, 40*c8dee2aaSAndroid Build Coastguard Worker SkBlendMode, 41*c8dee2aaSAndroid Build Coastguard Worker GrPrimitiveType, 42*c8dee2aaSAndroid Build Coastguard Worker GrXferBarrierFlags renderPassXferBarriers, 43*c8dee2aaSAndroid Build Coastguard Worker GrLoadOp colorLoadOp, 44*c8dee2aaSAndroid Build Coastguard Worker GrPipeline::InputFlags flags = GrPipeline::InputFlags::kNone, 45*c8dee2aaSAndroid Build Coastguard Worker const GrUserStencilSettings* stencil = 46*c8dee2aaSAndroid Build Coastguard Worker &GrUserStencilSettings::kUnused); 47*c8dee2aaSAndroid Build Coastguard Worker #endif 48*c8dee2aaSAndroid Build Coastguard Worker 49*c8dee2aaSAndroid Build Coastguard Worker } // namespace sk_gpu_test 50*c8dee2aaSAndroid Build Coastguard Worker 51*c8dee2aaSAndroid Build Coastguard Worker #endif 52