Hash :
431cbc8e
Author :
Date :
2014-09-24T10:38:50
Benchmark point sprites test with several varyings. A potential performance slowdown could be our geometry shader using extra logic in packing varyings. Test this by adding a variable number of varyings to the point sprites benchmark. Initial tests show it could slow down the test by about 30-40% or so, stil not catastrophic compared to D3D9. BUG=angle:705 Change-Id: Ia815f0ee28e2af2d3dc4d9f5675c27bbeb4cb119 Reviewed-on: https://chromium-review.googlesource.com/216468 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
//
// Copyright (c) 2014 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.
//
#include "SimpleBenchmark.h"
struct PointSpritesParams : public BenchmarkParams
{
unsigned int iterations;
unsigned int count;
float size;
unsigned int numVaryings;
virtual std::string name() const;
};
class PointSpritesBenchmark : public SimpleBenchmark
{
public:
PointSpritesBenchmark(const PointSpritesParams ¶ms);
virtual bool initializeBenchmark();
virtual void destroyBenchmark();
virtual void beginDrawBenchmark();
virtual void drawBenchmark();
private:
DISALLOW_COPY_AND_ASSIGN(PointSpritesBenchmark);
GLuint mProgram;
GLuint mBuffer;
const PointSpritesParams mParams;
};