Flutter Engine
The Flutter Engine
Classes | Namespaces | Macros | Enumerations | Functions
DrawCommands.h File Reference
#include "include/core/SkRect.h"
#include "src/base/SkArenaAlloc.h"
#include "src/base/SkTBlockList.h"
#include "src/gpu/graphite/DrawTypes.h"

Go to the source code of this file.

Classes

class  skgpu::graphite::DrawPassCommands::PODArray< T >
 
class  skgpu::graphite::DrawPassCommands::List
 

Namespaces

namespace  skgpu
 
namespace  skgpu::graphite
 
namespace  skgpu::graphite::DrawPassCommands
 

Macros

#define SKGPU_DRAW_PASS_COMMAND_TYPES(M)
 
#define ENUM(T)   k##T,
 
#define ACT_AS_PTR(ptr)
 
#define COMMAND(T, ...)
 
#define ASSERT_TRIV_DES(T)   static_assert(std::is_trivially_destructible<T>::value);
 
#define ASSERT_TRIV_CPY(T)   static_assert(std::is_trivially_copyable<T>::value);
 

Enumerations

enum class  skgpu::graphite::DrawPassCommands::Type { skgpu::graphite::DrawPassCommands::SKGPU_DRAW_PASS_COMMAND_TYPES =(ENUM) }
 

Functions

 skgpu::graphite::DrawPassCommands::COMMAND (BindGraphicsPipeline, uint32_t fPipelineIndex)
 
 skgpu::graphite::DrawPassCommands::COMMAND (SetBlendConstants, PODArray< float > fBlendConstants)
 
 skgpu::graphite::DrawPassCommands::COMMAND (BindUniformBuffer, BindUniformBufferInfo fInfo;UniformSlot fSlot)
 
 skgpu::graphite::DrawPassCommands::COMMAND (BindDrawBuffers, BindBufferInfo fVertices;BindBufferInfo fInstances;BindBufferInfo fIndices;BindBufferInfo fIndirect)
 
 skgpu::graphite::DrawPassCommands::COMMAND (BindTexturesAndSamplers, int fNumTexSamplers;PODArray< int > fTextureIndices;PODArray< int > fSamplerIndices)
 
 skgpu::graphite::DrawPassCommands::COMMAND (SetScissor, SkIRect fScissor)
 
 skgpu::graphite::DrawPassCommands::COMMAND (Draw, PrimitiveType fType;uint32_t fBaseVertex;uint32_t fVertexCount)
 
 skgpu::graphite::DrawPassCommands::COMMAND (DrawIndexed, PrimitiveType fType;uint32_t fBaseIndex;uint32_t fIndexCount;uint32_t fBaseVertex)
 
 skgpu::graphite::DrawPassCommands::COMMAND (DrawInstanced, PrimitiveType fType;uint32_t fBaseVertex;uint32_t fVertexCount;uint32_t fBaseInstance;uint32_t fInstanceCount)
 
 skgpu::graphite::DrawPassCommands::COMMAND (DrawIndexedInstanced, PrimitiveType fType;uint32_t fBaseIndex;uint32_t fIndexCount;uint32_t fBaseVertex;uint32_t fBaseInstance;uint32_t fInstanceCount)
 
 skgpu::graphite::DrawPassCommands::COMMAND (DrawIndirect, PrimitiveType fType)
 
 skgpu::graphite::DrawPassCommands::COMMAND (DrawIndexedIndirect, PrimitiveType fType)
 

Macro Definition Documentation

◆ ACT_AS_PTR

#define ACT_AS_PTR (   ptr)
Value:
operator T*() const { return ptr; } \
T* operator->() const { return ptr; }
#define T
Definition: precompiler.cc:65

Definition at line 48 of file DrawCommands.h.

◆ ASSERT_TRIV_CPY

#define ASSERT_TRIV_CPY (   T)    static_assert(std::is_trivially_copyable<T>::value);

Definition at line 124 of file DrawCommands.h.

◆ ASSERT_TRIV_DES

#define ASSERT_TRIV_DES (   T)    static_assert(std::is_trivially_destructible<T>::value);

Definition at line 121 of file DrawCommands.h.

◆ COMMAND

#define COMMAND (   T,
  ... 
)
Value:
struct T { \
static constexpr Type kType = Type::k##T; \
__VA_ARGS__; \
};

Definition at line 68 of file DrawCommands.h.

◆ ENUM

#define ENUM (   T)    k##T,

Definition at line 44 of file DrawCommands.h.

◆ SKGPU_DRAW_PASS_COMMAND_TYPES

#define SKGPU_DRAW_PASS_COMMAND_TYPES (   M)
Value:
M(BindGraphicsPipeline) \
M(SetBlendConstants) \
M(BindUniformBuffer) \
M(BindDrawBuffers) \
M(BindTexturesAndSamplers) \
M(SetScissor) \
M(Draw) \
M(DrawIndexed) \
M(DrawInstanced) \
M(DrawIndexedInstanced) \
M(DrawIndirect) \
M(DrawIndexedIndirect)
static void Draw(SkCanvas *canvas, const SkRect &rect)
#define M(PROC, DITHER)

Definition at line 29 of file DrawCommands.h.