186bdb824d516091ba1316675576aa8f511a0fd17daniel@transgaming.com// 286bdb824d516091ba1316675576aa8f511a0fd17daniel@transgaming.com// Copyright (c) 2012 The ANGLE Project Authors. All rights reserved. 386bdb824d516091ba1316675576aa8f511a0fd17daniel@transgaming.com// Use of this source code is governed by a BSD-style license that can be 486bdb824d516091ba1316675576aa8f511a0fd17daniel@transgaming.com// found in the LICENSE file. 586bdb824d516091ba1316675576aa8f511a0fd17daniel@transgaming.com// 686bdb824d516091ba1316675576aa8f511a0fd17daniel@transgaming.com 786bdb824d516091ba1316675576aa8f511a0fd17daniel@transgaming.com// Query.h: Defines the gl::Query class 886bdb824d516091ba1316675576aa8f511a0fd17daniel@transgaming.com 986bdb824d516091ba1316675576aa8f511a0fd17daniel@transgaming.com#ifndef LIBGLESV2_QUERY_H_ 1086bdb824d516091ba1316675576aa8f511a0fd17daniel@transgaming.com#define LIBGLESV2_QUERY_H_ 1186bdb824d516091ba1316675576aa8f511a0fd17daniel@transgaming.com 12f26ddae9acc05461792c8b1b6b35444ddf209de8shannon.woods%transgaming.com@gtempaccount.com#include <GLES3/gl3.h> 1386bdb824d516091ba1316675576aa8f511a0fd17daniel@transgaming.com#include <GLES2/gl2.h> 1486bdb824d516091ba1316675576aa8f511a0fd17daniel@transgaming.com 1586bdb824d516091ba1316675576aa8f511a0fd17daniel@transgaming.com#include "common/angleutils.h" 16b66a70156d33b0712fae267c6697af55e22bf8b6apatrick@chromium.org#include "common/RefCountObject.h" 17486d9e9b6b4ed31f66d2624b8e822020fe40a1f7shannon.woods@transgaming.com 18486d9e9b6b4ed31f66d2624b8e822020fe40a1f7shannon.woods@transgaming.comnamespace rx 19486d9e9b6b4ed31f66d2624b8e822020fe40a1f7shannon.woods@transgaming.com{ 20486d9e9b6b4ed31f66d2624b8e822020fe40a1f7shannon.woods@transgaming.comclass Renderer; 21486d9e9b6b4ed31f66d2624b8e822020fe40a1f7shannon.woods@transgaming.comclass QueryImpl; 22486d9e9b6b4ed31f66d2624b8e822020fe40a1f7shannon.woods@transgaming.com} 2386bdb824d516091ba1316675576aa8f511a0fd17daniel@transgaming.com 2486bdb824d516091ba1316675576aa8f511a0fd17daniel@transgaming.comnamespace gl 2586bdb824d516091ba1316675576aa8f511a0fd17daniel@transgaming.com{ 2686bdb824d516091ba1316675576aa8f511a0fd17daniel@transgaming.com 2786bdb824d516091ba1316675576aa8f511a0fd17daniel@transgaming.comclass Query : public RefCountObject 2886bdb824d516091ba1316675576aa8f511a0fd17daniel@transgaming.com{ 2986bdb824d516091ba1316675576aa8f511a0fd17daniel@transgaming.com public: 30b32e19875065fc668b65ae89511b504cd3da8310shannon.woods@transgaming.com Query(rx::Renderer *renderer, GLenum type, GLuint id); 3186bdb824d516091ba1316675576aa8f511a0fd17daniel@transgaming.com virtual ~Query(); 3286bdb824d516091ba1316675576aa8f511a0fd17daniel@transgaming.com 3386bdb824d516091ba1316675576aa8f511a0fd17daniel@transgaming.com void begin(); 3486bdb824d516091ba1316675576aa8f511a0fd17daniel@transgaming.com void end(); 35b32e19875065fc668b65ae89511b504cd3da8310shannon.woods@transgaming.com 3686bdb824d516091ba1316675576aa8f511a0fd17daniel@transgaming.com GLuint getResult(); 3786bdb824d516091ba1316675576aa8f511a0fd17daniel@transgaming.com GLboolean isResultAvailable(); 3886bdb824d516091ba1316675576aa8f511a0fd17daniel@transgaming.com 3986bdb824d516091ba1316675576aa8f511a0fd17daniel@transgaming.com GLenum getType() const; 4045c785d35c270ca1d1168b6ca5517cb3a5a285ccJamie Madill bool isStarted() const; 4186bdb824d516091ba1316675576aa8f511a0fd17daniel@transgaming.com 4286bdb824d516091ba1316675576aa8f511a0fd17daniel@transgaming.com private: 4386bdb824d516091ba1316675576aa8f511a0fd17daniel@transgaming.com DISALLOW_COPY_AND_ASSIGN(Query); 4486bdb824d516091ba1316675576aa8f511a0fd17daniel@transgaming.com 45b32e19875065fc668b65ae89511b504cd3da8310shannon.woods@transgaming.com rx::QueryImpl *mQuery; 4686bdb824d516091ba1316675576aa8f511a0fd17daniel@transgaming.com}; 4786bdb824d516091ba1316675576aa8f511a0fd17daniel@transgaming.com 4886bdb824d516091ba1316675576aa8f511a0fd17daniel@transgaming.com} 4986bdb824d516091ba1316675576aa8f511a0fd17daniel@transgaming.com 5086bdb824d516091ba1316675576aa8f511a0fd17daniel@transgaming.com#endif // LIBGLESV2_QUERY_H_ 51