14#if !__has_feature(objc_arc)
15#error This file must be compiled with Arc. Use -fobjc-arc flag
26 for (
const auto& uniformInfo : uniforms.
items()) {
29 uniformInfo.fVariable.getArrayCount() > 0);
31 uniform.fArrayCount = uniformInfo.fVariable.getArrayCount();
33 uniform.
fOffset = uniformInfo.fUBOffset;
34 uniform.
fType = uniformInfo.fVariable.getType();
43 const int32_t v[])
const {
47 SkASSERT(arrayCount <= uni.fArrayCount ||
56 const float v[])
const {
60 SkASSERT(arrayCount <= uni.fArrayCount ||
69 const int32_t v[])
const {
73 SkASSERT(arrayCount <= uni.fArrayCount ||
82 const float v[])
const {
86 SkASSERT(arrayCount <= uni.fArrayCount ||
99 const float m[])
const {
103 SkASSERT(arrayCount <= uni.fArrayCount ||
115 if (@available(macOS 10.11, iOS 8.3, tvOS 9.0, *)) {
116 if (fUniformSize <= gpu->caps()->maxPushConstantsSize()) {
GrRingBuffer * uniformsRingBuffer() override
void set2iv(UniformHandle, int arrayCount, const int32_t v[]) const override
void setMatrix2f(UniformHandle, const float matrix[]) const override
void set1iv(UniformHandle, int arrayCount, const int32_t v[]) const override
void set2fv(UniformHandle, int arrayCount, const float v[]) const override
void setMatrix2fv(UniformHandle, int arrayCount, const float matrices[]) const override
GrMtlPipelineStateDataManager(const UniformInfoArray &, uint32_t uniformSize)
void set1fv(UniformHandle, int arrayCount, const float v[]) const override
void uploadAndBindUniformBuffers(GrMtlGpu *gpu, GrMtlRenderCommandEncoder *renderCmdEncoder) const
void setFragmentBuffer(id< MTLBuffer > buffer, NSUInteger offset, NSUInteger index)
void setFragmentBytes(const void *bytes, NSUInteger length, NSUInteger index) SK_API_AVAILABLE(macos(10.11)
void setVertexBytes(const void *bytes, NSUInteger length, NSUInteger index) SK_API_AVAILABLE(macos(10.11)
void setVertexBuffer(id< MTLBuffer > buffer, NSUInteger offset, NSUInteger index)
Slice suballocate(size_t size)
static const uint8_t buffer[]