aboutsummaryrefslogtreecommitdiff
path: root/src/libGLESv2/renderer/d3d
diff options
context:
space:
mode:
Diffstat (limited to 'src/libGLESv2/renderer/d3d')
-rw-r--r--src/libGLESv2/renderer/d3d/d3d11/Query11.cpp12
-rw-r--r--src/libGLESv2/renderer/d3d/d3d11/Query11.h6
-rw-r--r--src/libGLESv2/renderer/d3d/d3d9/Query9.cpp13
-rw-r--r--src/libGLESv2/renderer/d3d/d3d9/Query9.h6
4 files changed, 16 insertions, 21 deletions
diff --git a/src/libGLESv2/renderer/d3d/d3d11/Query11.cpp b/src/libGLESv2/renderer/d3d/d3d11/Query11.cpp
index 7f77c545..bc2f9419 100644
--- a/src/libGLESv2/renderer/d3d/d3d11/Query11.cpp
+++ b/src/libGLESv2/renderer/d3d/d3d11/Query11.cpp
@@ -30,7 +30,7 @@ static bool checkStreamOutPrimitivesWritten(ID3D11DeviceContext *context, ID3D11
return (result == S_OK);
}
-Query11::Query11(rx::Renderer11 *renderer, GLenum type) : QueryImpl(type)
+Query11::Query11(rx::Renderer11 *renderer, GLenum type) : QueryImpl(type), mStatus(GL_FALSE), mResult(0)
{
mRenderer = renderer;
mQuery = NULL;
@@ -41,7 +41,7 @@ Query11::~Query11()
SafeRelease(mQuery);
}
-void Query11::begin()
+bool Query11::begin()
{
if (mQuery == NULL)
{
@@ -51,11 +51,12 @@ void Query11::begin()
if (FAILED(mRenderer->getDevice()->CreateQuery(&queryDesc, &mQuery)))
{
- return gl::error(GL_OUT_OF_MEMORY);
+ return gl::error(GL_OUT_OF_MEMORY, false);
}
}
mRenderer->getDeviceContext()->Begin(mQuery);
+ return true;
}
void Query11::end()
@@ -148,9 +149,4 @@ GLboolean Query11::testQuery()
return GL_TRUE; // prevent blocking when query is null
}
-bool Query11::isStarted() const
-{
- return (mQuery != NULL);
-}
-
}
diff --git a/src/libGLESv2/renderer/d3d/d3d11/Query11.h b/src/libGLESv2/renderer/d3d/d3d11/Query11.h
index 7a3df46d..40cfbb6d 100644
--- a/src/libGLESv2/renderer/d3d/d3d11/Query11.h
+++ b/src/libGLESv2/renderer/d3d/d3d11/Query11.h
@@ -21,17 +21,19 @@ class Query11 : public QueryImpl
Query11(rx::Renderer11 *renderer, GLenum type);
virtual ~Query11();
- virtual void begin();
+ virtual bool begin();
virtual void end();
virtual GLuint getResult();
virtual GLboolean isResultAvailable();
- virtual bool isStarted() const;
private:
DISALLOW_COPY_AND_ASSIGN(Query11);
GLboolean testQuery();
+ GLuint mResult;
+ GLboolean mStatus;
+
rx::Renderer11 *mRenderer;
ID3D11Query *mQuery;
};
diff --git a/src/libGLESv2/renderer/d3d/d3d9/Query9.cpp b/src/libGLESv2/renderer/d3d/d3d9/Query9.cpp
index a9a7e3c9..c8752bb8 100644
--- a/src/libGLESv2/renderer/d3d/d3d9/Query9.cpp
+++ b/src/libGLESv2/renderer/d3d/d3d9/Query9.cpp
@@ -15,8 +15,7 @@
namespace rx
{
-
-Query9::Query9(rx::Renderer9 *renderer, GLenum type) : QueryImpl(type)
+Query9::Query9(rx::Renderer9 *renderer, GLenum type) : QueryImpl(type), mStatus(GL_FALSE), mResult(0)
{
mRenderer = renderer;
mQuery = NULL;
@@ -27,19 +26,20 @@ Query9::~Query9()
SafeRelease(mQuery);
}
-void Query9::begin()
+bool Query9::begin()
{
if (mQuery == NULL)
{
if (FAILED(mRenderer->getDevice()->CreateQuery(D3DQUERYTYPE_OCCLUSION, &mQuery)))
{
- return gl::error(GL_OUT_OF_MEMORY);
+ return gl::error(GL_OUT_OF_MEMORY, false);
}
}
HRESULT result = mQuery->Issue(D3DISSUE_BEGIN);
UNUSED_ASSERTION_VARIABLE(result);
ASSERT(SUCCEEDED(result));
+ return true;
}
void Query9::end()
@@ -117,9 +117,4 @@ GLboolean Query9::testQuery()
return GL_TRUE; // prevent blocking when query is null
}
-bool Query9::isStarted() const
-{
- return (mQuery != NULL);
-}
-
}
diff --git a/src/libGLESv2/renderer/d3d/d3d9/Query9.h b/src/libGLESv2/renderer/d3d/d3d9/Query9.h
index 62906230..fc7f0b31 100644
--- a/src/libGLESv2/renderer/d3d/d3d9/Query9.h
+++ b/src/libGLESv2/renderer/d3d/d3d9/Query9.h
@@ -21,17 +21,19 @@ class Query9 : public QueryImpl
Query9(rx::Renderer9 *renderer, GLenum type);
virtual ~Query9();
- virtual void begin();
+ virtual bool begin();
virtual void end();
virtual GLuint getResult();
virtual GLboolean isResultAvailable();
- virtual bool isStarted() const;
private:
DISALLOW_COPY_AND_ASSIGN(Query9);
GLboolean testQuery();
+ GLuint mResult;
+ GLboolean mStatus;
+
rx::Renderer9 *mRenderer;
IDirect3DQuery9 *mQuery;
};