summaryrefslogtreecommitdiffstats
path: root/ANGLE/src/libGLESv2/Program.h
diff options
context:
space:
mode:
Diffstat (limited to 'ANGLE/src/libGLESv2/Program.h')
-rw-r--r--ANGLE/src/libGLESv2/Program.h15
1 files changed, 12 insertions, 3 deletions
diff --git a/ANGLE/src/libGLESv2/Program.h b/ANGLE/src/libGLESv2/Program.h
index e52f20e..3021b7a 100644
--- a/ANGLE/src/libGLESv2/Program.h
+++ b/ANGLE/src/libGLESv2/Program.h
@@ -20,6 +20,7 @@
namespace gl
{
+class ResourceManager;
class FragmentShader;
class VertexShader;
@@ -55,7 +56,7 @@ struct UniformLocation
class Program
{
public:
- Program();
+ Program(ResourceManager *manager, GLuint handle);
~Program();
@@ -97,7 +98,7 @@ class Program
GLint getDepthRangeNearLocation() const;
GLint getDepthRangeFarLocation() const;
GLint getDxDepthLocation() const;
- GLint getDxWindowLocation() const;
+ GLint getDxViewportLocation() const;
GLint getDxHalfPixelSizeLocation() const;
GLint getDxFrontCCWLocation() const;
GLint getDxPointsOrLinesLocation() const;
@@ -119,6 +120,9 @@ class Program
GLint getActiveUniformCount();
GLint getActiveUniformMaxLength();
+ void addRef();
+ void release();
+ unsigned int getRefCount() const;
void flagForDeletion();
bool isFlaggedForDeletion() const;
@@ -204,7 +208,7 @@ class Program
GLint mDepthRangeNearLocation;
GLint mDepthRangeFarLocation;
GLint mDxDepthLocation;
- GLint mDxWindowLocation;
+ GLint mDxViewportLocation;
GLint mDxHalfPixelSizeLocation;
GLint mDxFrontCCWLocation;
GLint mDxPointsOrLinesLocation;
@@ -214,9 +218,14 @@ class Program
char *mInfoLog;
bool mValidated;
+ unsigned int mRefCount;
+
unsigned int mSerial;
static unsigned int mCurrentSerial;
+
+ ResourceManager *mResourceManager;
+ const GLuint mHandle;
};
}