blob: 2dddbba2a23622f9815c3677ae31ed32017db217 [file] [log] [blame]
bsalomon75398562015-08-17 12:55:38 -07001/*
2 * Copyright 2015 Google Inc.
3 *
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
6 */
7
Brian Salomon742e31d2016-12-07 17:06:19 -05008#include "GrOpFlushState.h"
bsalomon75398562015-08-17 12:55:38 -07009
Brian Salomon903da792016-12-16 14:24:46 -050010#include "GrDrawOpAtlas.h"
bsalomon75398562015-08-17 12:55:38 -070011#include "GrPipeline.h"
12
Brian Salomon742e31d2016-12-07 17:06:19 -050013GrOpFlushState::GrOpFlushState(GrGpu* gpu, GrResourceProvider* resourceProvider)
bsalomon75398562015-08-17 12:55:38 -070014 : fGpu(gpu)
bsalomon75398562015-08-17 12:55:38 -070015 , fResourceProvider(resourceProvider)
egdaniel9cb63402016-06-23 08:37:05 -070016 , fCommandBuffer(nullptr)
bsalomon75398562015-08-17 12:55:38 -070017 , fVertexPool(gpu)
18 , fIndexPool(gpu)
Brian Salomon9afd3712016-12-01 10:59:09 -050019 , fLastIssuedToken(GrDrawOpUploadToken::AlreadyFlushedToken())
robertphillips1f0e3502015-11-10 10:19:50 -080020 , fLastFlushedToken(0) {}
bsalomon75398562015-08-17 12:55:38 -070021
Brian Salomon742e31d2016-12-07 17:06:19 -050022void* GrOpFlushState::makeVertexSpace(size_t vertexSize, int vertexCount,
cdalton397536c2016-03-25 12:15:03 -070023 const GrBuffer** buffer, int* startVertex) {
bsalomon75398562015-08-17 12:55:38 -070024 return fVertexPool.makeSpace(vertexSize, vertexCount, buffer, startVertex);
25}
26
Brian Salomon742e31d2016-12-07 17:06:19 -050027uint16_t* GrOpFlushState::makeIndexSpace(int indexCount,
cdalton397536c2016-03-25 12:15:03 -070028 const GrBuffer** buffer, int* startIndex) {
bsalomon75398562015-08-17 12:55:38 -070029 return reinterpret_cast<uint16_t*>(fIndexPool.makeSpace(indexCount, buffer, startIndex));
30}