Hash :
1c7f08c3
Author :
Date :
2018-10-10T16:13:02
Inline RefCountObject::release. Also don't return errors from the object release methods. Not returning errors reduces the amount of code generated. Also we shouldn't be exiting early from destructor type functions. Increases object binding performance. Bug: angleproject:2877 Change-Id: Ieb8120d885b946915e355419825e1f52f31d7b49 Reviewed-on: https://chromium-review.googlesource.com/c/1270218 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
//
// Copyright (c) 2012 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// Query.cpp: Implements the gl::Query class
#include "libANGLE/Query.h"
#include "libANGLE/renderer/QueryImpl.h"
namespace gl
{
Query::Query(rx::QueryImpl *impl, GLuint id) : RefCountObject(id), mQuery(impl), mLabel()
{
}
Query::~Query()
{
SafeDelete(mQuery);
}
void Query::onDestroy(const Context *context)
{
ASSERT(mQuery);
ANGLE_SWALLOW_ERR(mQuery->onDestroy(context));
}
void Query::setLabel(const std::string &label)
{
mLabel = label;
}
const std::string &Query::getLabel() const
{
return mLabel;
}
Error Query::begin(const Context *context)
{
return mQuery->begin(context);
}
Error Query::end(const Context *context)
{
return mQuery->end(context);
}
Error Query::queryCounter(const Context *context)
{
return mQuery->queryCounter(context);
}
Error Query::getResult(const Context *context, GLint *params)
{
return mQuery->getResult(context, params);
}
Error Query::getResult(const Context *context, GLuint *params)
{
return mQuery->getResult(context, params);
}
Error Query::getResult(const Context *context, GLint64 *params)
{
return mQuery->getResult(context, params);
}
Error Query::getResult(const Context *context, GLuint64 *params)
{
return mQuery->getResult(context, params);
}
Error Query::isResultAvailable(const Context *context, bool *available)
{
return mQuery->isResultAvailable(context, available);
}
QueryType Query::getType() const
{
return mQuery->getType();
}
rx::QueryImpl *Query::getImplementation()
{
return mQuery;
}
const rx::QueryImpl *Query::getImplementation() const
{
return mQuery;
}
}