Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
angle
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Chen Yisong
angle
Commits
4907f2c4
Commit
4907f2c4
authored
Jul 25, 2013
by
Geoff Lang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
The Texture class now stores the target instead of using a virtual method.
TRAC #23470 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods Author: Geoff Lang
parent
c90d73a0
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
16 additions
and
35 deletions
+16
-35
Texture.cpp
src/libGLESv2/Texture.cpp
+12
-25
Texture.h
src/libGLESv2/Texture.h
+4
-10
No files found.
src/libGLESv2/Texture.cpp
View file @
4907f2c4
...
@@ -42,7 +42,7 @@ bool IsMipmapFiltered(const SamplerState &samplerState)
...
@@ -42,7 +42,7 @@ bool IsMipmapFiltered(const SamplerState &samplerState)
}
}
}
}
Texture
::
Texture
(
rx
::
Renderer
*
renderer
,
GLuint
id
)
:
RefCountObject
(
id
)
Texture
::
Texture
(
rx
::
Renderer
*
renderer
,
GLuint
id
,
GLenum
target
)
:
RefCountObject
(
id
)
{
{
mRenderer
=
renderer
;
mRenderer
=
renderer
;
...
@@ -60,12 +60,19 @@ Texture::Texture(rx::Renderer *renderer, GLuint id) : RefCountObject(id)
...
@@ -60,12 +60,19 @@ Texture::Texture(rx::Renderer *renderer, GLuint id) : RefCountObject(id)
mDirtyImages
=
true
;
mDirtyImages
=
true
;
mImmutable
=
false
;
mImmutable
=
false
;
mTarget
=
target
;
}
}
Texture
::~
Texture
()
Texture
::~
Texture
()
{
{
}
}
GLenum
Texture
::
getTarget
()
const
{
return
mTarget
;
}
// Returns true on successful filter state update (valid enum parameter)
// Returns true on successful filter state update (valid enum parameter)
bool
Texture
::
setMinFilter
(
GLenum
filter
)
bool
Texture
::
setMinFilter
(
GLenum
filter
)
{
{
...
@@ -358,7 +365,7 @@ GLint Texture::creationLevels(GLsizei size) const
...
@@ -358,7 +365,7 @@ GLint Texture::creationLevels(GLsizei size) const
return
creationLevels
(
size
,
size
);
return
creationLevels
(
size
,
size
);
}
}
Texture2D
::
Texture2D
(
rx
::
Renderer
*
renderer
,
GLuint
id
)
:
Texture
(
renderer
,
id
)
Texture2D
::
Texture2D
(
rx
::
Renderer
*
renderer
,
GLuint
id
)
:
Texture
(
renderer
,
id
,
GL_TEXTURE_2D
)
{
{
mTexStorage
=
NULL
;
mTexStorage
=
NULL
;
mSurface
=
NULL
;
mSurface
=
NULL
;
...
@@ -407,11 +414,6 @@ void Texture2D::releaseProxy(const Renderbuffer *proxy)
...
@@ -407,11 +414,6 @@ void Texture2D::releaseProxy(const Renderbuffer *proxy)
mColorbufferProxy
=
NULL
;
mColorbufferProxy
=
NULL
;
}
}
GLenum
Texture2D
::
getTarget
()
const
{
return
GL_TEXTURE_2D
;
}
GLsizei
Texture2D
::
getWidth
(
GLint
level
)
const
GLsizei
Texture2D
::
getWidth
(
GLint
level
)
const
{
{
if
(
level
<
IMPLEMENTATION_MAX_TEXTURE_LEVELS
)
if
(
level
<
IMPLEMENTATION_MAX_TEXTURE_LEVELS
)
...
@@ -995,7 +997,7 @@ rx::TextureStorageInterface *Texture2D::getStorage(bool renderTarget)
...
@@ -995,7 +997,7 @@ rx::TextureStorageInterface *Texture2D::getStorage(bool renderTarget)
return
mTexStorage
;
return
mTexStorage
;
}
}
TextureCubeMap
::
TextureCubeMap
(
rx
::
Renderer
*
renderer
,
GLuint
id
)
:
Texture
(
renderer
,
id
)
TextureCubeMap
::
TextureCubeMap
(
rx
::
Renderer
*
renderer
,
GLuint
id
)
:
Texture
(
renderer
,
id
,
GL_TEXTURE_CUBE_MAP
)
{
{
mTexStorage
=
NULL
;
mTexStorage
=
NULL
;
for
(
int
i
=
0
;
i
<
6
;
i
++
)
for
(
int
i
=
0
;
i
<
6
;
i
++
)
...
@@ -1055,11 +1057,6 @@ void TextureCubeMap::releaseProxy(const Renderbuffer *proxy)
...
@@ -1055,11 +1057,6 @@ void TextureCubeMap::releaseProxy(const Renderbuffer *proxy)
}
}
}
}
GLenum
TextureCubeMap
::
getTarget
()
const
{
return
GL_TEXTURE_CUBE_MAP
;
}
GLsizei
TextureCubeMap
::
getWidth
(
GLenum
target
,
GLint
level
)
const
GLsizei
TextureCubeMap
::
getWidth
(
GLenum
target
,
GLint
level
)
const
{
{
if
(
level
<
IMPLEMENTATION_MAX_TEXTURE_LEVELS
)
if
(
level
<
IMPLEMENTATION_MAX_TEXTURE_LEVELS
)
...
@@ -1653,7 +1650,7 @@ rx::TextureStorageInterface *TextureCubeMap::getStorage(bool renderTarget)
...
@@ -1653,7 +1650,7 @@ rx::TextureStorageInterface *TextureCubeMap::getStorage(bool renderTarget)
return
mTexStorage
;
return
mTexStorage
;
}
}
Texture3D
::
Texture3D
(
rx
::
Renderer
*
renderer
,
GLuint
id
)
:
Texture
(
renderer
,
id
)
Texture3D
::
Texture3D
(
rx
::
Renderer
*
renderer
,
GLuint
id
)
:
Texture
(
renderer
,
id
,
GL_TEXTURE_3D
)
{
{
mTexStorage
=
NULL
;
mTexStorage
=
NULL
;
mColorbufferProxy
=
NULL
;
mColorbufferProxy
=
NULL
;
...
@@ -1692,11 +1689,6 @@ void Texture3D::releaseProxy(const Renderbuffer *proxy)
...
@@ -1692,11 +1689,6 @@ void Texture3D::releaseProxy(const Renderbuffer *proxy)
mColorbufferProxy
=
NULL
;
mColorbufferProxy
=
NULL
;
}
}
GLenum
Texture3D
::
getTarget
()
const
{
return
GL_TEXTURE_3D
;
}
GLsizei
Texture3D
::
getWidth
(
GLint
level
)
const
GLsizei
Texture3D
::
getWidth
(
GLint
level
)
const
{
{
return
(
level
<
IMPLEMENTATION_MAX_TEXTURE_LEVELS
)
?
mImageArray
[
level
]
->
getWidth
()
:
0
;
return
(
level
<
IMPLEMENTATION_MAX_TEXTURE_LEVELS
)
?
mImageArray
[
level
]
->
getWidth
()
:
0
;
...
@@ -2124,7 +2116,7 @@ void Texture3D::commitRect(GLint level, GLint xoffset, GLint yoffset, GLint zoff
...
@@ -2124,7 +2116,7 @@ void Texture3D::commitRect(GLint level, GLint xoffset, GLint yoffset, GLint zoff
}
}
}
}
Texture2DArray
::
Texture2DArray
(
rx
::
Renderer
*
renderer
,
GLuint
id
)
:
Texture
(
renderer
,
id
)
Texture2DArray
::
Texture2DArray
(
rx
::
Renderer
*
renderer
,
GLuint
id
)
:
Texture
(
renderer
,
id
,
GL_TEXTURE_2D_ARRAY
)
{
{
mTexStorage
=
NULL
;
mTexStorage
=
NULL
;
mColorbufferProxy
=
NULL
;
mColorbufferProxy
=
NULL
;
...
@@ -2167,11 +2159,6 @@ void Texture2DArray::releaseProxy(const Renderbuffer *proxy)
...
@@ -2167,11 +2159,6 @@ void Texture2DArray::releaseProxy(const Renderbuffer *proxy)
mColorbufferProxy
=
NULL
;
mColorbufferProxy
=
NULL
;
}
}
GLenum
Texture2DArray
::
getTarget
()
const
{
return
GL_TEXTURE_2D_ARRAY
;
}
GLsizei
Texture2DArray
::
getWidth
(
GLint
level
)
const
GLsizei
Texture2DArray
::
getWidth
(
GLint
level
)
const
{
{
return
(
level
<
IMPLEMENTATION_MAX_TEXTURE_LEVELS
&&
mLayerCounts
[
level
]
>
0
)
?
mImageArray
[
level
][
0
]
->
getWidth
()
:
0
;
return
(
level
<
IMPLEMENTATION_MAX_TEXTURE_LEVELS
&&
mLayerCounts
[
level
]
>
0
)
?
mImageArray
[
level
][
0
]
->
getWidth
()
:
0
;
...
...
src/libGLESv2/Texture.h
View file @
4907f2c4
...
@@ -59,14 +59,14 @@ enum
...
@@ -59,14 +59,14 @@ enum
class
Texture
:
public
RefCountObject
class
Texture
:
public
RefCountObject
{
{
public
:
public
:
Texture
(
rx
::
Renderer
*
renderer
,
GLuint
id
);
Texture
(
rx
::
Renderer
*
renderer
,
GLuint
id
,
GLenum
target
);
virtual
~
Texture
();
virtual
~
Texture
();
virtual
void
addProxyRef
(
const
Renderbuffer
*
proxy
)
=
0
;
virtual
void
addProxyRef
(
const
Renderbuffer
*
proxy
)
=
0
;
virtual
void
releaseProxy
(
const
Renderbuffer
*
proxy
)
=
0
;
virtual
void
releaseProxy
(
const
Renderbuffer
*
proxy
)
=
0
;
virtual
GLenum
getTarget
()
const
=
0
;
GLenum
getTarget
()
const
;
bool
setMinFilter
(
GLenum
filter
);
bool
setMinFilter
(
GLenum
filter
);
bool
setMagFilter
(
GLenum
filter
);
bool
setMagFilter
(
GLenum
filter
);
...
@@ -133,6 +133,8 @@ class Texture : public RefCountObject
...
@@ -133,6 +133,8 @@ class Texture : public RefCountObject
bool
mImmutable
;
bool
mImmutable
;
GLenum
mTarget
;
private
:
private
:
DISALLOW_COPY_AND_ASSIGN
(
Texture
);
DISALLOW_COPY_AND_ASSIGN
(
Texture
);
...
@@ -149,8 +151,6 @@ class Texture2D : public Texture
...
@@ -149,8 +151,6 @@ class Texture2D : public Texture
void
addProxyRef
(
const
Renderbuffer
*
proxy
);
void
addProxyRef
(
const
Renderbuffer
*
proxy
);
void
releaseProxy
(
const
Renderbuffer
*
proxy
);
void
releaseProxy
(
const
Renderbuffer
*
proxy
);
virtual
GLenum
getTarget
()
const
;
GLsizei
getWidth
(
GLint
level
)
const
;
GLsizei
getWidth
(
GLint
level
)
const
;
GLsizei
getHeight
(
GLint
level
)
const
;
GLsizei
getHeight
(
GLint
level
)
const
;
GLenum
getInternalFormat
(
GLint
level
)
const
;
GLenum
getInternalFormat
(
GLint
level
)
const
;
...
@@ -219,8 +219,6 @@ class TextureCubeMap : public Texture
...
@@ -219,8 +219,6 @@ class TextureCubeMap : public Texture
void
addProxyRef
(
const
Renderbuffer
*
proxy
);
void
addProxyRef
(
const
Renderbuffer
*
proxy
);
void
releaseProxy
(
const
Renderbuffer
*
proxy
);
void
releaseProxy
(
const
Renderbuffer
*
proxy
);
virtual
GLenum
getTarget
()
const
;
GLsizei
getWidth
(
GLenum
target
,
GLint
level
)
const
;
GLsizei
getWidth
(
GLenum
target
,
GLint
level
)
const
;
GLsizei
getHeight
(
GLenum
target
,
GLint
level
)
const
;
GLsizei
getHeight
(
GLenum
target
,
GLint
level
)
const
;
GLenum
getInternalFormat
(
GLenum
target
,
GLint
level
)
const
;
GLenum
getInternalFormat
(
GLenum
target
,
GLint
level
)
const
;
...
@@ -295,8 +293,6 @@ class Texture3D : public Texture
...
@@ -295,8 +293,6 @@ class Texture3D : public Texture
void
addProxyRef
(
const
Renderbuffer
*
proxy
);
void
addProxyRef
(
const
Renderbuffer
*
proxy
);
void
releaseProxy
(
const
Renderbuffer
*
proxy
);
void
releaseProxy
(
const
Renderbuffer
*
proxy
);
virtual
GLenum
getTarget
()
const
;
GLsizei
getWidth
(
GLint
level
)
const
;
GLsizei
getWidth
(
GLint
level
)
const
;
GLsizei
getHeight
(
GLint
level
)
const
;
GLsizei
getHeight
(
GLint
level
)
const
;
GLsizei
getDepth
(
GLint
level
)
const
;
GLsizei
getDepth
(
GLint
level
)
const
;
...
@@ -361,8 +357,6 @@ class Texture2DArray : public Texture
...
@@ -361,8 +357,6 @@ class Texture2DArray : public Texture
void
addProxyRef
(
const
Renderbuffer
*
proxy
);
void
addProxyRef
(
const
Renderbuffer
*
proxy
);
void
releaseProxy
(
const
Renderbuffer
*
proxy
);
void
releaseProxy
(
const
Renderbuffer
*
proxy
);
virtual
GLenum
getTarget
()
const
;
GLsizei
getWidth
(
GLint
level
)
const
;
GLsizei
getWidth
(
GLint
level
)
const
;
GLsizei
getHeight
(
GLint
level
)
const
;
GLsizei
getHeight
(
GLint
level
)
const
;
GLsizei
getDepth
(
GLint
level
)
const
;
GLsizei
getDepth
(
GLint
level
)
const
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment