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
d4589c97
Commit
d4589c97
authored
Oct 24, 2013
by
Jamie Madill
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Simplify passing the texture usage parameters through the texture classes.
Avoid passing a raw GLenum when possible. TRAC #23961 Signed-off-by: Geoff Lang Signed-off-by: Shannon Woods
parent
e83d1a93
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
80 additions
and
78 deletions
+80
-78
Texture.cpp
src/libGLESv2/Texture.cpp
+17
-12
Renderer.h
src/libGLESv2/renderer/Renderer.h
+4
-4
TextureStorage.cpp
src/libGLESv2/renderer/TextureStorage.cpp
+8
-8
TextureStorage.h
src/libGLESv2/renderer/TextureStorage.h
+5
-5
Renderer11.cpp
src/libGLESv2/renderer/d3d11/Renderer11.cpp
+8
-8
Renderer11.h
src/libGLESv2/renderer/d3d11/Renderer11.h
+4
-4
TextureStorage11.cpp
src/libGLESv2/renderer/d3d11/TextureStorage11.cpp
+10
-11
TextureStorage11.h
src/libGLESv2/renderer/d3d11/TextureStorage11.h
+5
-5
Renderer9.cpp
src/libGLESv2/renderer/d3d9/Renderer9.cpp
+6
-6
Renderer9.h
src/libGLESv2/renderer/d3d9/Renderer9.h
+4
-4
TextureStorage9.cpp
src/libGLESv2/renderer/d3d9/TextureStorage9.cpp
+6
-8
TextureStorage9.h
src/libGLESv2/renderer/d3d9/TextureStorage9.h
+3
-3
No files found.
src/libGLESv2/Texture.cpp
View file @
d4589c97
...
@@ -44,6 +44,11 @@ bool IsMipmapFiltered(const SamplerState &samplerState)
...
@@ -44,6 +44,11 @@ bool IsMipmapFiltered(const SamplerState &samplerState)
}
}
}
}
bool
IsRenderTargetUsage
(
GLenum
usage
)
{
return
(
usage
==
GL_FRAMEBUFFER_ATTACHMENT_ANGLE
);
}
Texture
::
Texture
(
rx
::
Renderer
*
renderer
,
GLuint
id
,
GLenum
target
)
:
RefCountObject
(
id
)
Texture
::
Texture
(
rx
::
Renderer
*
renderer
,
GLuint
id
,
GLenum
target
)
:
RefCountObject
(
id
)
{
{
mRenderer
=
renderer
;
mRenderer
=
renderer
;
...
@@ -630,7 +635,7 @@ void Texture2D::copySubImage(GLenum target, GLint level, GLint xoffset, GLint yo
...
@@ -630,7 +635,7 @@ void Texture2D::copySubImage(GLenum target, GLint level, GLint xoffset, GLint yo
void
Texture2D
::
storage
(
GLsizei
levels
,
GLenum
internalformat
,
GLsizei
width
,
GLsizei
height
)
void
Texture2D
::
storage
(
GLsizei
levels
,
GLenum
internalformat
,
GLsizei
width
,
GLsizei
height
)
{
{
delete
mTexStorage
;
delete
mTexStorage
;
mTexStorage
=
new
rx
::
TextureStorageInterface2D
(
mRenderer
,
levels
,
internalformat
,
mUsage
,
false
,
width
,
height
);
mTexStorage
=
new
rx
::
TextureStorageInterface2D
(
mRenderer
,
levels
,
internalformat
,
IsRenderTargetUsage
(
mUsage
)
,
width
,
height
);
mImmutable
=
true
;
mImmutable
=
true
;
for
(
int
level
=
0
;
level
<
levels
;
level
++
)
for
(
int
level
=
0
;
level
<
levels
;
level
++
)
...
@@ -806,7 +811,7 @@ void Texture2D::createTexture()
...
@@ -806,7 +811,7 @@ void Texture2D::createTexture()
GLint
levels
=
creationLevels
(
width
,
height
);
GLint
levels
=
creationLevels
(
width
,
height
);
delete
mTexStorage
;
delete
mTexStorage
;
mTexStorage
=
new
rx
::
TextureStorageInterface2D
(
mRenderer
,
levels
,
getBaseLevelInternalFormat
(),
mUsage
,
false
,
width
,
height
);
mTexStorage
=
new
rx
::
TextureStorageInterface2D
(
mRenderer
,
levels
,
getBaseLevelInternalFormat
(),
IsRenderTargetUsage
(
mUsage
)
,
width
,
height
);
if
(
mTexStorage
->
isManaged
())
if
(
mTexStorage
->
isManaged
())
{
{
...
@@ -861,7 +866,7 @@ bool Texture2D::ensureRenderTarget()
...
@@ -861,7 +866,7 @@ bool Texture2D::ensureRenderTarget()
{
{
GLint
levels
=
mTexStorage
!=
NULL
?
mTexStorage
->
levelCount
()
:
creationLevels
(
width
,
height
);
GLint
levels
=
mTexStorage
!=
NULL
?
mTexStorage
->
levelCount
()
:
creationLevels
(
width
,
height
);
newTexStorage
=
new
rx
::
TextureStorageInterface2D
(
mRenderer
,
levels
,
getBaseLevelInternalFormat
(),
GL_FRAMEBUFFER_ATTACHMENT_ANGLE
,
true
,
width
,
height
);
newTexStorage
=
new
rx
::
TextureStorageInterface2D
(
mRenderer
,
levels
,
getBaseLevelInternalFormat
(),
true
,
width
,
height
);
if
(
mTexStorage
!=
NULL
)
if
(
mTexStorage
!=
NULL
)
{
{
...
@@ -1274,7 +1279,7 @@ void TextureCubeMap::createTexture()
...
@@ -1274,7 +1279,7 @@ void TextureCubeMap::createTexture()
GLenum
internalformat
=
getBaseLevelInternalFormat
();
GLenum
internalformat
=
getBaseLevelInternalFormat
();
delete
mTexStorage
;
delete
mTexStorage
;
mTexStorage
=
new
rx
::
TextureStorageInterfaceCube
(
mRenderer
,
levels
,
internalformat
,
mUsage
,
false
,
size
);
mTexStorage
=
new
rx
::
TextureStorageInterfaceCube
(
mRenderer
,
levels
,
internalformat
,
IsRenderTargetUsage
(
mUsage
)
,
size
);
if
(
mTexStorage
->
isManaged
())
if
(
mTexStorage
->
isManaged
())
{
{
...
@@ -1334,7 +1339,7 @@ bool TextureCubeMap::ensureRenderTarget()
...
@@ -1334,7 +1339,7 @@ bool TextureCubeMap::ensureRenderTarget()
GLint
levels
=
mTexStorage
!=
NULL
?
mTexStorage
->
levelCount
()
:
creationLevels
(
size
);
GLint
levels
=
mTexStorage
!=
NULL
?
mTexStorage
->
levelCount
()
:
creationLevels
(
size
);
GLenum
internalformat
=
getBaseLevelInternalFormat
();
GLenum
internalformat
=
getBaseLevelInternalFormat
();
newTexStorage
=
new
rx
::
TextureStorageInterfaceCube
(
mRenderer
,
levels
,
internalformat
,
GL_FRAMEBUFFER_ATTACHMENT_ANGLE
,
true
,
size
);
newTexStorage
=
new
rx
::
TextureStorageInterfaceCube
(
mRenderer
,
levels
,
internalformat
,
true
,
size
);
if
(
mTexStorage
!=
NULL
)
if
(
mTexStorage
!=
NULL
)
{
{
...
@@ -1488,7 +1493,7 @@ void TextureCubeMap::copySubImage(GLenum target, GLint level, GLint xoffset, GLi
...
@@ -1488,7 +1493,7 @@ void TextureCubeMap::copySubImage(GLenum target, GLint level, GLint xoffset, GLi
void
TextureCubeMap
::
storage
(
GLsizei
levels
,
GLenum
internalformat
,
GLsizei
size
)
void
TextureCubeMap
::
storage
(
GLsizei
levels
,
GLenum
internalformat
,
GLsizei
size
)
{
{
delete
mTexStorage
;
delete
mTexStorage
;
mTexStorage
=
new
rx
::
TextureStorageInterfaceCube
(
mRenderer
,
levels
,
internalformat
,
mUsage
,
false
,
size
);
mTexStorage
=
new
rx
::
TextureStorageInterfaceCube
(
mRenderer
,
levels
,
internalformat
,
IsRenderTargetUsage
(
mUsage
)
,
size
);
mImmutable
=
true
;
mImmutable
=
true
;
for
(
int
level
=
0
;
level
<
levels
;
level
++
)
for
(
int
level
=
0
;
level
<
levels
;
level
++
)
...
@@ -1786,7 +1791,7 @@ void Texture3D::subImageCompressed(GLint level, GLint xoffset, GLint yoffset, GL
...
@@ -1786,7 +1791,7 @@ void Texture3D::subImageCompressed(GLint level, GLint xoffset, GLint yoffset, GL
void
Texture3D
::
storage
(
GLsizei
levels
,
GLenum
internalformat
,
GLsizei
width
,
GLsizei
height
,
GLsizei
depth
)
void
Texture3D
::
storage
(
GLsizei
levels
,
GLenum
internalformat
,
GLsizei
width
,
GLsizei
height
,
GLsizei
depth
)
{
{
delete
mTexStorage
;
delete
mTexStorage
;
mTexStorage
=
new
rx
::
TextureStorageInterface3D
(
mRenderer
,
levels
,
internalformat
,
mUsage
,
width
,
height
,
depth
);
mTexStorage
=
new
rx
::
TextureStorageInterface3D
(
mRenderer
,
levels
,
internalformat
,
IsRenderTargetUsage
(
mUsage
)
,
width
,
height
,
depth
);
mImmutable
=
true
;
mImmutable
=
true
;
for
(
int
level
=
0
;
level
<
levels
;
level
++
)
for
(
int
level
=
0
;
level
<
levels
;
level
++
)
...
@@ -2017,7 +2022,7 @@ void Texture3D::createTexture()
...
@@ -2017,7 +2022,7 @@ void Texture3D::createTexture()
GLint
levels
=
creationLevels
(
width
,
height
,
depth
);
GLint
levels
=
creationLevels
(
width
,
height
,
depth
);
delete
mTexStorage
;
delete
mTexStorage
;
mTexStorage
=
new
rx
::
TextureStorageInterface3D
(
mRenderer
,
levels
,
getBaseLevelInternalFormat
(),
mUsage
,
width
,
height
,
depth
);
mTexStorage
=
new
rx
::
TextureStorageInterface3D
(
mRenderer
,
levels
,
getBaseLevelInternalFormat
(),
IsRenderTargetUsage
(
mUsage
)
,
width
,
height
,
depth
);
if
(
mTexStorage
->
isManaged
())
if
(
mTexStorage
->
isManaged
())
{
{
...
@@ -2072,7 +2077,7 @@ bool Texture3D::ensureRenderTarget()
...
@@ -2072,7 +2077,7 @@ bool Texture3D::ensureRenderTarget()
GLsizei
depth
=
getBaseLevelDepth
();
GLsizei
depth
=
getBaseLevelDepth
();
GLint
levels
=
mTexStorage
!=
NULL
?
mTexStorage
->
levelCount
()
:
creationLevels
(
width
,
height
,
depth
);
GLint
levels
=
mTexStorage
!=
NULL
?
mTexStorage
->
levelCount
()
:
creationLevels
(
width
,
height
,
depth
);
newTexStorage
=
new
rx
::
TextureStorageInterface3D
(
mRenderer
,
levels
,
getBaseLevelInternalFormat
(),
GL_FRAMEBUFFER_ATTACHMENT_ANGLE
,
width
,
height
,
depth
);
newTexStorage
=
new
rx
::
TextureStorageInterface3D
(
mRenderer
,
levels
,
getBaseLevelInternalFormat
(),
true
,
width
,
height
,
depth
);
if
(
mTexStorage
!=
NULL
)
if
(
mTexStorage
!=
NULL
)
{
{
...
@@ -2338,7 +2343,7 @@ void Texture2DArray::subImageCompressed(GLint level, GLint xoffset, GLint yoffse
...
@@ -2338,7 +2343,7 @@ void Texture2DArray::subImageCompressed(GLint level, GLint xoffset, GLint yoffse
void
Texture2DArray
::
storage
(
GLsizei
levels
,
GLenum
internalformat
,
GLsizei
width
,
GLsizei
height
,
GLsizei
depth
)
void
Texture2DArray
::
storage
(
GLsizei
levels
,
GLenum
internalformat
,
GLsizei
width
,
GLsizei
height
,
GLsizei
depth
)
{
{
delete
mTexStorage
;
delete
mTexStorage
;
mTexStorage
=
new
rx
::
TextureStorageInterface2DArray
(
mRenderer
,
levels
,
internalformat
,
mUsage
,
width
,
height
,
depth
);
mTexStorage
=
new
rx
::
TextureStorageInterface2DArray
(
mRenderer
,
levels
,
internalformat
,
IsRenderTargetUsage
(
mUsage
)
,
width
,
height
,
depth
);
mImmutable
=
true
;
mImmutable
=
true
;
for
(
int
level
=
0
;
level
<
IMPLEMENTATION_MAX_TEXTURE_LEVELS
;
level
++
)
for
(
int
level
=
0
;
level
<
IMPLEMENTATION_MAX_TEXTURE_LEVELS
;
level
++
)
...
@@ -2594,7 +2599,7 @@ void Texture2DArray::createTexture()
...
@@ -2594,7 +2599,7 @@ void Texture2DArray::createTexture()
GLenum
internalformat
=
getBaseLevelInternalFormat
();
GLenum
internalformat
=
getBaseLevelInternalFormat
();
delete
mTexStorage
;
delete
mTexStorage
;
mTexStorage
=
new
rx
::
TextureStorageInterface2DArray
(
mRenderer
,
levels
,
internalformat
,
mUsage
,
width
,
height
,
depth
);
mTexStorage
=
new
rx
::
TextureStorageInterface2DArray
(
mRenderer
,
levels
,
internalformat
,
IsRenderTargetUsage
(
mUsage
)
,
width
,
height
,
depth
);
if
(
mTexStorage
->
isManaged
())
if
(
mTexStorage
->
isManaged
())
{
{
...
@@ -2657,7 +2662,7 @@ bool Texture2DArray::ensureRenderTarget()
...
@@ -2657,7 +2662,7 @@ bool Texture2DArray::ensureRenderTarget()
GLint
levels
=
mTexStorage
!=
NULL
?
mTexStorage
->
levelCount
()
:
creationLevels
(
width
,
height
);
GLint
levels
=
mTexStorage
!=
NULL
?
mTexStorage
->
levelCount
()
:
creationLevels
(
width
,
height
);
GLenum
internalformat
=
getInternalFormat
(
0
);
GLenum
internalformat
=
getInternalFormat
(
0
);
newTexStorage
=
new
rx
::
TextureStorageInterface2DArray
(
mRenderer
,
levels
,
internalformat
,
GL_FRAMEBUFFER_ATTACHMENT_ANGLE
,
width
,
height
,
depth
);
newTexStorage
=
new
rx
::
TextureStorageInterface2DArray
(
mRenderer
,
levels
,
internalformat
,
true
,
width
,
height
,
depth
);
if
(
mTexStorage
!=
NULL
)
if
(
mTexStorage
!=
NULL
)
{
{
...
...
src/libGLESv2/renderer/Renderer.h
View file @
d4589c97
...
@@ -242,10 +242,10 @@ class Renderer
...
@@ -242,10 +242,10 @@ class Renderer
virtual
Image
*
createImage
()
=
0
;
virtual
Image
*
createImage
()
=
0
;
virtual
void
generateMipmap
(
Image
*
dest
,
Image
*
source
)
=
0
;
virtual
void
generateMipmap
(
Image
*
dest
,
Image
*
source
)
=
0
;
virtual
TextureStorage
*
createTextureStorage2D
(
SwapChain
*
swapChain
)
=
0
;
virtual
TextureStorage
*
createTextureStorage2D
(
SwapChain
*
swapChain
)
=
0
;
virtual
TextureStorage
*
createTextureStorage2D
(
int
levels
,
GLenum
internalformat
,
GLenum
usage
,
bool
forceRenderable
,
GLsizei
width
,
GLsizei
height
)
=
0
;
virtual
TextureStorage
*
createTextureStorage2D
(
int
levels
,
GLenum
internalformat
,
bool
renderTarget
,
GLsizei
width
,
GLsizei
height
)
=
0
;
virtual
TextureStorage
*
createTextureStorageCube
(
int
levels
,
GLenum
internalformat
,
GLenum
usage
,
bool
forceRenderable
,
int
size
)
=
0
;
virtual
TextureStorage
*
createTextureStorageCube
(
int
levels
,
GLenum
internalformat
,
bool
renderTarget
,
int
size
)
=
0
;
virtual
TextureStorage
*
createTextureStorage3D
(
int
levels
,
GLenum
internalformat
,
GLenum
usage
,
GLsizei
width
,
GLsizei
height
,
GLsizei
depth
)
=
0
;
virtual
TextureStorage
*
createTextureStorage3D
(
int
levels
,
GLenum
internalformat
,
bool
renderTarget
,
GLsizei
width
,
GLsizei
height
,
GLsizei
depth
)
=
0
;
virtual
TextureStorage
*
createTextureStorage2DArray
(
int
levels
,
GLenum
internalformat
,
GLenum
usage
,
GLsizei
width
,
GLsizei
height
,
GLsizei
depth
)
=
0
;
virtual
TextureStorage
*
createTextureStorage2DArray
(
int
levels
,
GLenum
internalformat
,
bool
renderTarget
,
GLsizei
width
,
GLsizei
height
,
GLsizei
depth
)
=
0
;
// Buffer creation
// Buffer creation
virtual
VertexBuffer
*
createVertexBuffer
()
=
0
;
virtual
VertexBuffer
*
createVertexBuffer
()
=
0
;
...
...
src/libGLESv2/renderer/TextureStorage.cpp
View file @
d4589c97
...
@@ -74,12 +74,12 @@ TextureStorageInterface2D::TextureStorageInterface2D(Renderer *renderer, SwapCha
...
@@ -74,12 +74,12 @@ TextureStorageInterface2D::TextureStorageInterface2D(Renderer *renderer, SwapCha
mInstance
=
renderer
->
createTextureStorage2D
(
swapchain
);
mInstance
=
renderer
->
createTextureStorage2D
(
swapchain
);
}
}
TextureStorageInterface2D
::
TextureStorageInterface2D
(
Renderer
*
renderer
,
int
levels
,
GLenum
internalformat
,
GLenum
usage
,
bool
forceRenderable
,
GLsizei
width
,
GLsizei
height
)
TextureStorageInterface2D
::
TextureStorageInterface2D
(
Renderer
*
renderer
,
int
levels
,
GLenum
internalformat
,
bool
renderTarget
,
GLsizei
width
,
GLsizei
height
)
{
{
unsigned
int
actualLevels
=
GetActualLevelCount
(
width
,
height
,
0
,
levels
);
unsigned
int
actualLevels
=
GetActualLevelCount
(
width
,
height
,
0
,
levels
);
mFirstRenderTargetSerial
=
gl
::
RenderbufferStorage
::
issueSerials
(
actualLevels
);
mFirstRenderTargetSerial
=
gl
::
RenderbufferStorage
::
issueSerials
(
actualLevels
);
mInstance
=
renderer
->
createTextureStorage2D
(
levels
,
internalformat
,
usage
,
forceRenderable
,
width
,
height
);
mInstance
=
renderer
->
createTextureStorage2D
(
levels
,
internalformat
,
renderTarget
,
width
,
height
);
}
}
TextureStorageInterface2D
::~
TextureStorageInterface2D
()
TextureStorageInterface2D
::~
TextureStorageInterface2D
()
...
@@ -101,12 +101,12 @@ unsigned int TextureStorageInterface2D::getRenderTargetSerial(GLint level) const
...
@@ -101,12 +101,12 @@ unsigned int TextureStorageInterface2D::getRenderTargetSerial(GLint level) const
return
mFirstRenderTargetSerial
+
level
;
return
mFirstRenderTargetSerial
+
level
;
}
}
TextureStorageInterfaceCube
::
TextureStorageInterfaceCube
(
Renderer
*
renderer
,
int
levels
,
GLenum
internalformat
,
GLenum
usage
,
bool
forceRenderable
,
int
size
)
TextureStorageInterfaceCube
::
TextureStorageInterfaceCube
(
Renderer
*
renderer
,
int
levels
,
GLenum
internalformat
,
bool
renderTarget
,
int
size
)
{
{
unsigned
int
actualLevels
=
GetActualLevelCount
(
size
,
size
,
0
,
levels
);
unsigned
int
actualLevels
=
GetActualLevelCount
(
size
,
size
,
0
,
levels
);
mFirstRenderTargetSerial
=
gl
::
RenderbufferStorage
::
issueSerials
(
actualLevels
*
6
);
mFirstRenderTargetSerial
=
gl
::
RenderbufferStorage
::
issueSerials
(
actualLevels
*
6
);
mInstance
=
renderer
->
createTextureStorageCube
(
levels
,
internalformat
,
usage
,
forceRenderable
,
size
);
mInstance
=
renderer
->
createTextureStorageCube
(
levels
,
internalformat
,
renderTarget
,
size
);
}
}
TextureStorageInterfaceCube
::~
TextureStorageInterfaceCube
()
TextureStorageInterfaceCube
::~
TextureStorageInterfaceCube
()
...
@@ -128,13 +128,13 @@ unsigned int TextureStorageInterfaceCube::getRenderTargetSerial(GLenum target, G
...
@@ -128,13 +128,13 @@ unsigned int TextureStorageInterfaceCube::getRenderTargetSerial(GLenum target, G
return
mFirstRenderTargetSerial
+
(
level
*
6
)
+
gl
::
TextureCubeMap
::
faceIndex
(
target
);
return
mFirstRenderTargetSerial
+
(
level
*
6
)
+
gl
::
TextureCubeMap
::
faceIndex
(
target
);
}
}
TextureStorageInterface3D
::
TextureStorageInterface3D
(
Renderer
*
renderer
,
int
levels
,
GLenum
internalformat
,
GLenum
usage
,
TextureStorageInterface3D
::
TextureStorageInterface3D
(
Renderer
*
renderer
,
int
levels
,
GLenum
internalformat
,
bool
renderTarget
,
GLsizei
width
,
GLsizei
height
,
GLsizei
depth
)
GLsizei
width
,
GLsizei
height
,
GLsizei
depth
)
{
{
mLevels
=
GetActualLevelCount
(
width
,
height
,
depth
,
levels
);
mLevels
=
GetActualLevelCount
(
width
,
height
,
depth
,
levels
);
mFirstRenderTargetSerial
=
gl
::
RenderbufferStorage
::
issueSerials
(
mLevels
*
depth
);
mFirstRenderTargetSerial
=
gl
::
RenderbufferStorage
::
issueSerials
(
mLevels
*
depth
);
mInstance
=
renderer
->
createTextureStorage3D
(
levels
,
internalformat
,
usage
,
width
,
height
,
depth
);
mInstance
=
renderer
->
createTextureStorage3D
(
levels
,
internalformat
,
renderTarget
,
width
,
height
,
depth
);
}
}
TextureStorageInterface3D
::~
TextureStorageInterface3D
()
TextureStorageInterface3D
::~
TextureStorageInterface3D
()
...
@@ -161,13 +161,13 @@ unsigned int TextureStorageInterface3D::getRenderTargetSerial(GLint level, GLint
...
@@ -161,13 +161,13 @@ unsigned int TextureStorageInterface3D::getRenderTargetSerial(GLint level, GLint
return
mFirstRenderTargetSerial
+
(
layer
*
mLevels
)
+
level
;
return
mFirstRenderTargetSerial
+
(
layer
*
mLevels
)
+
level
;
}
}
TextureStorageInterface2DArray
::
TextureStorageInterface2DArray
(
Renderer
*
renderer
,
int
levels
,
GLenum
internalformat
,
GLenum
usage
,
TextureStorageInterface2DArray
::
TextureStorageInterface2DArray
(
Renderer
*
renderer
,
int
levels
,
GLenum
internalformat
,
bool
renderTarget
,
GLsizei
width
,
GLsizei
height
,
GLsizei
depth
)
GLsizei
width
,
GLsizei
height
,
GLsizei
depth
)
{
{
mLevels
=
GetActualLevelCount
(
width
,
height
,
0
,
levels
);
mLevels
=
GetActualLevelCount
(
width
,
height
,
0
,
levels
);
mFirstRenderTargetSerial
=
gl
::
RenderbufferStorage
::
issueSerials
(
mLevels
*
depth
);
mFirstRenderTargetSerial
=
gl
::
RenderbufferStorage
::
issueSerials
(
mLevels
*
depth
);
mInstance
=
renderer
->
createTextureStorage2DArray
(
levels
,
internalformat
,
usage
,
width
,
height
,
depth
);
mInstance
=
renderer
->
createTextureStorage2DArray
(
levels
,
internalformat
,
renderTarget
,
width
,
height
,
depth
);
}
}
TextureStorageInterface2DArray
::~
TextureStorageInterface2DArray
()
TextureStorageInterface2DArray
::~
TextureStorageInterface2DArray
()
...
...
src/libGLESv2/renderer/TextureStorage.h
View file @
d4589c97
...
@@ -72,7 +72,7 @@ class TextureStorageInterface2D : public TextureStorageInterface
...
@@ -72,7 +72,7 @@ class TextureStorageInterface2D : public TextureStorageInterface
{
{
public
:
public
:
TextureStorageInterface2D
(
Renderer
*
renderer
,
SwapChain
*
swapchain
);
TextureStorageInterface2D
(
Renderer
*
renderer
,
SwapChain
*
swapchain
);
TextureStorageInterface2D
(
Renderer
*
renderer
,
int
levels
,
GLenum
internalformat
,
GLenum
usage
,
bool
forceRenderable
,
GLsizei
width
,
GLsizei
height
);
TextureStorageInterface2D
(
Renderer
*
renderer
,
int
levels
,
GLenum
internalformat
,
bool
renderTarget
,
GLsizei
width
,
GLsizei
height
);
virtual
~
TextureStorageInterface2D
();
virtual
~
TextureStorageInterface2D
();
void
generateMipmap
(
int
level
);
void
generateMipmap
(
int
level
);
...
@@ -89,7 +89,7 @@ class TextureStorageInterface2D : public TextureStorageInterface
...
@@ -89,7 +89,7 @@ class TextureStorageInterface2D : public TextureStorageInterface
class
TextureStorageInterfaceCube
:
public
TextureStorageInterface
class
TextureStorageInterfaceCube
:
public
TextureStorageInterface
{
{
public
:
public
:
TextureStorageInterfaceCube
(
Renderer
*
renderer
,
int
levels
,
GLenum
internalformat
,
GLenum
usage
,
bool
forceRenderable
,
int
size
);
TextureStorageInterfaceCube
(
Renderer
*
renderer
,
int
levels
,
GLenum
internalformat
,
bool
renderTarget
,
int
size
);
virtual
~
TextureStorageInterfaceCube
();
virtual
~
TextureStorageInterfaceCube
();
void
generateMipmap
(
int
face
,
int
level
);
void
generateMipmap
(
int
face
,
int
level
);
...
@@ -106,7 +106,7 @@ class TextureStorageInterfaceCube : public TextureStorageInterface
...
@@ -106,7 +106,7 @@ class TextureStorageInterfaceCube : public TextureStorageInterface
class
TextureStorageInterface3D
:
public
TextureStorageInterface
class
TextureStorageInterface3D
:
public
TextureStorageInterface
{
{
public
:
public
:
TextureStorageInterface3D
(
Renderer
*
renderer
,
int
levels
,
GLenum
internalformat
,
GLenum
usage
,
TextureStorageInterface3D
(
Renderer
*
renderer
,
int
levels
,
GLenum
internalformat
,
bool
renderTarget
,
GLsizei
width
,
GLsizei
height
,
GLsizei
depth
);
GLsizei
width
,
GLsizei
height
,
GLsizei
depth
);
virtual
~
TextureStorageInterface3D
();
virtual
~
TextureStorageInterface3D
();
...
@@ -126,8 +126,8 @@ class TextureStorageInterface3D : public TextureStorageInterface
...
@@ -126,8 +126,8 @@ class TextureStorageInterface3D : public TextureStorageInterface
class
TextureStorageInterface2DArray
:
public
TextureStorageInterface
class
TextureStorageInterface2DArray
:
public
TextureStorageInterface
{
{
public
:
public
:
TextureStorageInterface2DArray
(
Renderer
*
renderer
,
int
levels
,
GLenum
internalformat
,
GLenum
usage
,
TextureStorageInterface2DArray
(
Renderer
*
renderer
,
int
levels
,
GLenum
internalformat
,
bool
renderTarget
,
GLsizei
width
,
GLsizei
height
,
GLsizei
depth
);
GLsizei
width
,
GLsizei
height
,
GLsizei
depth
);
virtual
~
TextureStorageInterface2DArray
();
virtual
~
TextureStorageInterface2DArray
();
void
generateMipmap
(
int
level
);
void
generateMipmap
(
int
level
);
...
...
src/libGLESv2/renderer/d3d11/Renderer11.cpp
View file @
d4589c97
...
@@ -3004,24 +3004,24 @@ TextureStorage *Renderer11::createTextureStorage2D(SwapChain *swapChain)
...
@@ -3004,24 +3004,24 @@ TextureStorage *Renderer11::createTextureStorage2D(SwapChain *swapChain)
return
new
TextureStorage11_2D
(
this
,
swapChain11
);
return
new
TextureStorage11_2D
(
this
,
swapChain11
);
}
}
TextureStorage
*
Renderer11
::
createTextureStorage2D
(
int
levels
,
GLenum
internalformat
,
GLenum
usage
,
bool
forceRenderable
,
GLsizei
width
,
GLsizei
height
)
TextureStorage
*
Renderer11
::
createTextureStorage2D
(
int
levels
,
GLenum
internalformat
,
bool
renderTarget
,
GLsizei
width
,
GLsizei
height
)
{
{
return
new
TextureStorage11_2D
(
this
,
levels
,
internalformat
,
usage
,
forceRenderable
,
width
,
height
);
return
new
TextureStorage11_2D
(
this
,
levels
,
internalformat
,
renderTarget
,
width
,
height
);
}
}
TextureStorage
*
Renderer11
::
createTextureStorageCube
(
int
levels
,
GLenum
internalformat
,
GLenum
usage
,
bool
forceRenderable
,
int
size
)
TextureStorage
*
Renderer11
::
createTextureStorageCube
(
int
levels
,
GLenum
internalformat
,
bool
renderTarget
,
int
size
)
{
{
return
new
TextureStorage11_Cube
(
this
,
levels
,
internalformat
,
usage
,
forceRenderable
,
size
);
return
new
TextureStorage11_Cube
(
this
,
levels
,
internalformat
,
renderTarget
,
size
);
}
}
TextureStorage
*
Renderer11
::
createTextureStorage3D
(
int
levels
,
GLenum
internalformat
,
GLenum
usage
,
GLsizei
width
,
GLsizei
height
,
GLsizei
depth
)
TextureStorage
*
Renderer11
::
createTextureStorage3D
(
int
levels
,
GLenum
internalformat
,
bool
renderTarget
,
GLsizei
width
,
GLsizei
height
,
GLsizei
depth
)
{
{
return
new
TextureStorage11_3D
(
this
,
levels
,
internalformat
,
usage
,
width
,
height
,
depth
);
return
new
TextureStorage11_3D
(
this
,
levels
,
internalformat
,
renderTarget
,
width
,
height
,
depth
);
}
}
TextureStorage
*
Renderer11
::
createTextureStorage2DArray
(
int
levels
,
GLenum
internalformat
,
GLenum
usage
,
GLsizei
width
,
GLsizei
height
,
GLsizei
depth
)
TextureStorage
*
Renderer11
::
createTextureStorage2DArray
(
int
levels
,
GLenum
internalformat
,
bool
renderTarget
,
GLsizei
width
,
GLsizei
height
,
GLsizei
depth
)
{
{
return
new
TextureStorage11_2DArray
(
this
,
levels
,
internalformat
,
usage
,
width
,
height
,
depth
);
return
new
TextureStorage11_2DArray
(
this
,
levels
,
internalformat
,
renderTarget
,
width
,
height
,
depth
);
}
}
void
Renderer11
::
readTextureData
(
ID3D11Texture2D
*
texture
,
unsigned
int
subResource
,
const
gl
::
Rectangle
&
area
,
void
Renderer11
::
readTextureData
(
ID3D11Texture2D
*
texture
,
unsigned
int
subResource
,
const
gl
::
Rectangle
&
area
,
...
...
src/libGLESv2/renderer/d3d11/Renderer11.h
View file @
d4589c97
...
@@ -187,10 +187,10 @@ class Renderer11 : public Renderer
...
@@ -187,10 +187,10 @@ class Renderer11 : public Renderer
virtual
Image
*
createImage
();
virtual
Image
*
createImage
();
virtual
void
generateMipmap
(
Image
*
dest
,
Image
*
source
);
virtual
void
generateMipmap
(
Image
*
dest
,
Image
*
source
);
virtual
TextureStorage
*
createTextureStorage2D
(
SwapChain
*
swapChain
);
virtual
TextureStorage
*
createTextureStorage2D
(
SwapChain
*
swapChain
);
virtual
TextureStorage
*
createTextureStorage2D
(
int
levels
,
GLenum
internalformat
,
GLenum
usage
,
bool
forceRenderable
,
GLsizei
width
,
GLsizei
height
);
virtual
TextureStorage
*
createTextureStorage2D
(
int
levels
,
GLenum
internalformat
,
bool
renderTarget
,
GLsizei
width
,
GLsizei
height
);
virtual
TextureStorage
*
createTextureStorageCube
(
int
levels
,
GLenum
internalformat
,
GLenum
usage
,
bool
forceRenderable
,
int
size
);
virtual
TextureStorage
*
createTextureStorageCube
(
int
levels
,
GLenum
internalformat
,
bool
renderTarget
,
int
size
);
virtual
TextureStorage
*
createTextureStorage3D
(
int
levels
,
GLenum
internalformat
,
GLenum
usage
,
GLsizei
width
,
GLsizei
height
,
GLsizei
depth
);
virtual
TextureStorage
*
createTextureStorage3D
(
int
levels
,
GLenum
internalformat
,
bool
renderTarget
,
GLsizei
width
,
GLsizei
height
,
GLsizei
depth
);
virtual
TextureStorage
*
createTextureStorage2DArray
(
int
levels
,
GLenum
internalformat
,
GLenum
usage
,
GLsizei
width
,
GLsizei
height
,
GLsizei
depth
);
virtual
TextureStorage
*
createTextureStorage2DArray
(
int
levels
,
GLenum
internalformat
,
bool
renderTarget
,
GLsizei
width
,
GLsizei
height
,
GLsizei
depth
);
// Buffer creation
// Buffer creation
virtual
VertexBuffer
*
createVertexBuffer
();
virtual
VertexBuffer
*
createVertexBuffer
();
...
...
src/libGLESv2/renderer/d3d11/TextureStorage11.cpp
View file @
d4589c97
...
@@ -49,7 +49,7 @@ TextureStorage11 *TextureStorage11::makeTextureStorage11(TextureStorage *storage
...
@@ -49,7 +49,7 @@ TextureStorage11 *TextureStorage11::makeTextureStorage11(TextureStorage *storage
return
static_cast
<
TextureStorage11
*>
(
storage
);
return
static_cast
<
TextureStorage11
*>
(
storage
);
}
}
DWORD
TextureStorage11
::
GetTextureBindFlags
(
GLenum
internalFormat
,
GLuint
clientVersion
,
GLenum
glusage
)
DWORD
TextureStorage11
::
GetTextureBindFlags
(
GLenum
internalFormat
,
GLuint
clientVersion
,
bool
renderTarget
)
{
{
UINT
bindFlags
=
0
;
UINT
bindFlags
=
0
;
...
@@ -61,8 +61,7 @@ DWORD TextureStorage11::GetTextureBindFlags(GLenum internalFormat, GLuint client
...
@@ -61,8 +61,7 @@ DWORD TextureStorage11::GetTextureBindFlags(GLenum internalFormat, GLuint client
{
{
bindFlags
|=
D3D11_BIND_DEPTH_STENCIL
;
bindFlags
|=
D3D11_BIND_DEPTH_STENCIL
;
}
}
if
(
gl_d3d11
::
GetRTVFormat
(
internalFormat
,
clientVersion
)
!=
DXGI_FORMAT_UNKNOWN
&&
if
(
gl_d3d11
::
GetRTVFormat
(
internalFormat
,
clientVersion
)
!=
DXGI_FORMAT_UNKNOWN
&&
renderTarget
)
glusage
==
GL_FRAMEBUFFER_ATTACHMENT_ANGLE
)
{
{
bindFlags
|=
D3D11_BIND_RENDER_TARGET
;
bindFlags
|=
D3D11_BIND_RENDER_TARGET
;
}
}
...
@@ -220,8 +219,8 @@ TextureStorage11_2D::TextureStorage11_2D(Renderer *renderer, SwapChain11 *swapch
...
@@ -220,8 +219,8 @@ TextureStorage11_2D::TextureStorage11_2D(Renderer *renderer, SwapChain11 *swapch
mDepthStencilFormat
=
DXGI_FORMAT_UNKNOWN
;
mDepthStencilFormat
=
DXGI_FORMAT_UNKNOWN
;
}
}
TextureStorage11_2D
::
TextureStorage11_2D
(
Renderer
*
renderer
,
int
levels
,
GLenum
internalformat
,
GLenum
usage
,
bool
forceRenderable
,
GLsizei
width
,
GLsizei
height
)
TextureStorage11_2D
::
TextureStorage11_2D
(
Renderer
*
renderer
,
int
levels
,
GLenum
internalformat
,
bool
renderTarget
,
GLsizei
width
,
GLsizei
height
)
:
TextureStorage11
(
renderer
,
GetTextureBindFlags
(
internalformat
,
renderer
->
getCurrentClientVersion
(),
usage
))
:
TextureStorage11
(
renderer
,
GetTextureBindFlags
(
internalformat
,
renderer
->
getCurrentClientVersion
(),
renderTarget
))
{
{
mTexture
=
NULL
;
mTexture
=
NULL
;
for
(
unsigned
int
i
=
0
;
i
<
gl
::
IMPLEMENTATION_MAX_TEXTURE_LEVELS
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
gl
::
IMPLEMENTATION_MAX_TEXTURE_LEVELS
;
i
++
)
...
@@ -428,8 +427,8 @@ void TextureStorage11_2D::generateMipmap(int level)
...
@@ -428,8 +427,8 @@ void TextureStorage11_2D::generateMipmap(int level)
generateMipmapLayer
(
source
,
dest
);
generateMipmapLayer
(
source
,
dest
);
}
}
TextureStorage11_Cube
::
TextureStorage11_Cube
(
Renderer
*
renderer
,
int
levels
,
GLenum
internalformat
,
GLenum
usage
,
bool
forceRenderable
,
int
size
)
TextureStorage11_Cube
::
TextureStorage11_Cube
(
Renderer
*
renderer
,
int
levels
,
GLenum
internalformat
,
bool
renderTarget
,
int
size
)
:
TextureStorage11
(
renderer
,
GetTextureBindFlags
(
internalformat
,
renderer
->
getCurrentClientVersion
(),
usage
))
:
TextureStorage11
(
renderer
,
GetTextureBindFlags
(
internalformat
,
renderer
->
getCurrentClientVersion
(),
renderTarget
))
{
{
mTexture
=
NULL
;
mTexture
=
NULL
;
for
(
unsigned
int
i
=
0
;
i
<
6
;
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
6
;
i
++
)
...
@@ -644,9 +643,9 @@ void TextureStorage11_Cube::generateMipmap(int face, int level)
...
@@ -644,9 +643,9 @@ void TextureStorage11_Cube::generateMipmap(int face, int level)
generateMipmapLayer
(
source
,
dest
);
generateMipmapLayer
(
source
,
dest
);
}
}
TextureStorage11_3D
::
TextureStorage11_3D
(
Renderer
*
renderer
,
int
levels
,
GLenum
internalformat
,
GLenum
usage
,
TextureStorage11_3D
::
TextureStorage11_3D
(
Renderer
*
renderer
,
int
levels
,
GLenum
internalformat
,
bool
renderTarget
,
GLsizei
width
,
GLsizei
height
,
GLsizei
depth
)
GLsizei
width
,
GLsizei
height
,
GLsizei
depth
)
:
TextureStorage11
(
renderer
,
GetTextureBindFlags
(
internalformat
,
renderer
->
getCurrentClientVersion
(),
usage
))
:
TextureStorage11
(
renderer
,
GetTextureBindFlags
(
internalformat
,
renderer
->
getCurrentClientVersion
(),
renderTarget
))
{
{
mTexture
=
NULL
;
mTexture
=
NULL
;
...
@@ -888,9 +887,9 @@ void TextureStorage11_3D::generateMipmap(int level)
...
@@ -888,9 +887,9 @@ void TextureStorage11_3D::generateMipmap(int level)
generateMipmapLayer
(
source
,
dest
);
generateMipmapLayer
(
source
,
dest
);
}
}
TextureStorage11_2DArray
::
TextureStorage11_2DArray
(
Renderer
*
renderer
,
int
levels
,
GLenum
internalformat
,
GLenum
usage
,
TextureStorage11_2DArray
::
TextureStorage11_2DArray
(
Renderer
*
renderer
,
int
levels
,
GLenum
internalformat
,
bool
renderTarget
,
GLsizei
width
,
GLsizei
height
,
GLsizei
depth
)
GLsizei
width
,
GLsizei
height
,
GLsizei
depth
)
:
TextureStorage11
(
renderer
,
GetTextureBindFlags
(
internalformat
,
renderer
->
getCurrentClientVersion
(),
usage
))
:
TextureStorage11
(
renderer
,
GetTextureBindFlags
(
internalformat
,
renderer
->
getCurrentClientVersion
(),
renderTarget
))
{
{
mTexture
=
NULL
;
mTexture
=
NULL
;
...
...
src/libGLESv2/renderer/d3d11/TextureStorage11.h
View file @
d4589c97
...
@@ -29,7 +29,7 @@ class TextureStorage11 : public TextureStorage
...
@@ -29,7 +29,7 @@ class TextureStorage11 : public TextureStorage
static
TextureStorage11
*
makeTextureStorage11
(
TextureStorage
*
storage
);
static
TextureStorage11
*
makeTextureStorage11
(
TextureStorage
*
storage
);
static
DWORD
GetTextureBindFlags
(
GLenum
internalFormat
,
GLuint
clientVersion
,
GLenum
glusage
);
static
DWORD
GetTextureBindFlags
(
GLenum
internalFormat
,
GLuint
clientVersion
,
bool
renderTarget
);
UINT
getBindFlags
()
const
;
UINT
getBindFlags
()
const
;
...
@@ -79,7 +79,7 @@ class TextureStorage11_2D : public TextureStorage11
...
@@ -79,7 +79,7 @@ class TextureStorage11_2D : public TextureStorage11
{
{
public
:
public
:
TextureStorage11_2D
(
Renderer
*
renderer
,
SwapChain11
*
swapchain
);
TextureStorage11_2D
(
Renderer
*
renderer
,
SwapChain11
*
swapchain
);
TextureStorage11_2D
(
Renderer
*
renderer
,
int
levels
,
GLenum
internalformat
,
GLenum
usage
,
bool
forceRenderable
,
GLsizei
width
,
GLsizei
height
);
TextureStorage11_2D
(
Renderer
*
renderer
,
int
levels
,
GLenum
internalformat
,
bool
renderTarget
,
GLsizei
width
,
GLsizei
height
);
virtual
~
TextureStorage11_2D
();
virtual
~
TextureStorage11_2D
();
static
TextureStorage11_2D
*
makeTextureStorage11_2D
(
TextureStorage
*
storage
);
static
TextureStorage11_2D
*
makeTextureStorage11_2D
(
TextureStorage
*
storage
);
...
@@ -100,7 +100,7 @@ class TextureStorage11_2D : public TextureStorage11
...
@@ -100,7 +100,7 @@ class TextureStorage11_2D : public TextureStorage11
class
TextureStorage11_Cube
:
public
TextureStorage11
class
TextureStorage11_Cube
:
public
TextureStorage11
{
{
public
:
public
:
TextureStorage11_Cube
(
Renderer
*
renderer
,
int
levels
,
GLenum
internalformat
,
GLenum
usage
,
bool
forceRenderable
,
int
size
);
TextureStorage11_Cube
(
Renderer
*
renderer
,
int
levels
,
GLenum
internalformat
,
bool
renderTarget
,
int
size
);
virtual
~
TextureStorage11_Cube
();
virtual
~
TextureStorage11_Cube
();
static
TextureStorage11_Cube
*
makeTextureStorage11_Cube
(
TextureStorage
*
storage
);
static
TextureStorage11_Cube
*
makeTextureStorage11_Cube
(
TextureStorage
*
storage
);
...
@@ -121,7 +121,7 @@ class TextureStorage11_Cube : public TextureStorage11
...
@@ -121,7 +121,7 @@ class TextureStorage11_Cube : public TextureStorage11
class
TextureStorage11_3D
:
public
TextureStorage11
class
TextureStorage11_3D
:
public
TextureStorage11
{
{
public
:
public
:
TextureStorage11_3D
(
Renderer
*
renderer
,
int
levels
,
GLenum
internalformat
,
GLenum
usage
,
TextureStorage11_3D
(
Renderer
*
renderer
,
int
levels
,
GLenum
internalformat
,
bool
renderTarget
,
GLsizei
width
,
GLsizei
height
,
GLsizei
depth
);
GLsizei
width
,
GLsizei
height
,
GLsizei
depth
);
virtual
~
TextureStorage11_3D
();
virtual
~
TextureStorage11_3D
();
...
@@ -149,7 +149,7 @@ class TextureStorage11_3D : public TextureStorage11
...
@@ -149,7 +149,7 @@ class TextureStorage11_3D : public TextureStorage11
class
TextureStorage11_2DArray
:
public
TextureStorage11
class
TextureStorage11_2DArray
:
public
TextureStorage11
{
{
public
:
public
:
TextureStorage11_2DArray
(
Renderer
*
renderer
,
int
levels
,
GLenum
internalformat
,
GLenum
usage
,
TextureStorage11_2DArray
(
Renderer
*
renderer
,
int
levels
,
GLenum
internalformat
,
bool
renderTarget
,
GLsizei
width
,
GLsizei
height
,
GLsizei
depth
);
GLsizei
width
,
GLsizei
height
,
GLsizei
depth
);
virtual
~
TextureStorage11_2DArray
();
virtual
~
TextureStorage11_2DArray
();
...
...
src/libGLESv2/renderer/d3d9/Renderer9.cpp
View file @
d4589c97
...
@@ -3313,17 +3313,17 @@ TextureStorage *Renderer9::createTextureStorage2D(SwapChain *swapChain)
...
@@ -3313,17 +3313,17 @@ TextureStorage *Renderer9::createTextureStorage2D(SwapChain *swapChain)
return
new
TextureStorage9_2D
(
this
,
swapChain9
);
return
new
TextureStorage9_2D
(
this
,
swapChain9
);
}
}
TextureStorage
*
Renderer9
::
createTextureStorage2D
(
int
levels
,
GLenum
internalformat
,
GLenum
usage
,
bool
forceRenderable
,
GLsizei
width
,
GLsizei
height
)
TextureStorage
*
Renderer9
::
createTextureStorage2D
(
int
levels
,
GLenum
internalformat
,
bool
renderTarget
,
GLsizei
width
,
GLsizei
height
)
{
{
return
new
TextureStorage9_2D
(
this
,
levels
,
internalformat
,
usage
,
forceRenderable
,
width
,
height
);
return
new
TextureStorage9_2D
(
this
,
levels
,
internalformat
,
renderTarget
,
width
,
height
);
}
}
TextureStorage
*
Renderer9
::
createTextureStorageCube
(
int
levels
,
GLenum
internalformat
,
GLenum
usage
,
bool
forceRenderable
,
int
size
)
TextureStorage
*
Renderer9
::
createTextureStorageCube
(
int
levels
,
GLenum
internalformat
,
bool
renderTarget
,
int
size
)
{
{
return
new
TextureStorage9_Cube
(
this
,
levels
,
internalformat
,
usage
,
forceRenderable
,
size
);
return
new
TextureStorage9_Cube
(
this
,
levels
,
internalformat
,
renderTarget
,
size
);
}
}
TextureStorage
*
Renderer9
::
createTextureStorage3D
(
int
levels
,
GLenum
internalformat
,
GLenum
usage
,
GLsizei
width
,
GLsizei
height
,
GLsizei
depth
)
TextureStorage
*
Renderer9
::
createTextureStorage3D
(
int
levels
,
GLenum
internalformat
,
bool
renderTarget
,
GLsizei
width
,
GLsizei
height
,
GLsizei
depth
)
{
{
// 3D textures are not supported by the D3D9 backend.
// 3D textures are not supported by the D3D9 backend.
UNREACHABLE
();
UNREACHABLE
();
...
@@ -3331,7 +3331,7 @@ TextureStorage *Renderer9::createTextureStorage3D(int levels, GLenum internalfor
...
@@ -3331,7 +3331,7 @@ TextureStorage *Renderer9::createTextureStorage3D(int levels, GLenum internalfor
return
NULL
;
return
NULL
;
}
}
TextureStorage
*
Renderer9
::
createTextureStorage2DArray
(
int
levels
,
GLenum
internalformat
,
GLenum
usage
,
GLsizei
width
,
GLsizei
height
,
GLsizei
depth
)
TextureStorage
*
Renderer9
::
createTextureStorage2DArray
(
int
levels
,
GLenum
internalformat
,
bool
renderTarget
,
GLsizei
width
,
GLsizei
height
,
GLsizei
depth
)
{
{
// 2D array textures are not supported by the D3D9 backend.
// 2D array textures are not supported by the D3D9 backend.
UNREACHABLE
();
UNREACHABLE
();
...
...
src/libGLESv2/renderer/d3d9/Renderer9.h
View file @
d4589c97
...
@@ -203,10 +203,10 @@ class Renderer9 : public Renderer
...
@@ -203,10 +203,10 @@ class Renderer9 : public Renderer
virtual
Image
*
createImage
();
virtual
Image
*
createImage
();
virtual
void
generateMipmap
(
Image
*
dest
,
Image
*
source
);
virtual
void
generateMipmap
(
Image
*
dest
,
Image
*
source
);
virtual
TextureStorage
*
createTextureStorage2D
(
SwapChain
*
swapChain
);
virtual
TextureStorage
*
createTextureStorage2D
(
SwapChain
*
swapChain
);
virtual
TextureStorage
*
createTextureStorage2D
(
int
levels
,
GLenum
internalformat
,
GLenum
usage
,
bool
forceRenderable
,
GLsizei
width
,
GLsizei
height
);
virtual
TextureStorage
*
createTextureStorage2D
(
int
levels
,
GLenum
internalformat
,
bool
renderTarget
,
GLsizei
width
,
GLsizei
height
);
virtual
TextureStorage
*
createTextureStorageCube
(
int
levels
,
GLenum
internalformat
,
GLenum
usage
,
bool
forceRenderable
,
int
size
);
virtual
TextureStorage
*
createTextureStorageCube
(
int
levels
,
GLenum
internalformat
,
bool
renderTarget
,
int
size
);
virtual
TextureStorage
*
createTextureStorage3D
(
int
levels
,
GLenum
internalformat
,
GLenum
usage
,
GLsizei
width
,
GLsizei
height
,
GLsizei
depth
);
virtual
TextureStorage
*
createTextureStorage3D
(
int
levels
,
GLenum
internalformat
,
bool
renderTarget
,
GLsizei
width
,
GLsizei
height
,
GLsizei
depth
);
virtual
TextureStorage
*
createTextureStorage2DArray
(
int
levels
,
GLenum
internalformat
,
GLenum
usage
,
GLsizei
width
,
GLsizei
height
,
GLsizei
depth
);
virtual
TextureStorage
*
createTextureStorage2DArray
(
int
levels
,
GLenum
internalformat
,
bool
renderTarget
,
GLsizei
width
,
GLsizei
height
,
GLsizei
depth
);
// Buffer creation
// Buffer creation
virtual
VertexBuffer
*
createVertexBuffer
();
virtual
VertexBuffer
*
createVertexBuffer
();
...
...
src/libGLESv2/renderer/d3d9/TextureStorage9.cpp
View file @
d4589c97
...
@@ -38,7 +38,7 @@ TextureStorage9 *TextureStorage9::makeTextureStorage9(TextureStorage *storage)
...
@@ -38,7 +38,7 @@ TextureStorage9 *TextureStorage9::makeTextureStorage9(TextureStorage *storage)
return
static_cast
<
TextureStorage9
*>
(
storage
);
return
static_cast
<
TextureStorage9
*>
(
storage
);
}
}
DWORD
TextureStorage9
::
GetTextureUsage
(
GLenum
internalformat
,
Renderer9
*
renderer
,
GLenum
glusage
,
bool
forceRenderable
)
DWORD
TextureStorage9
::
GetTextureUsage
(
GLenum
internalformat
,
Renderer9
*
renderer
,
bool
renderTarget
)
{
{
GLuint
clientVersion
=
renderer
->
getCurrentClientVersion
();
GLuint
clientVersion
=
renderer
->
getCurrentClientVersion
();
...
@@ -49,9 +49,7 @@ DWORD TextureStorage9::GetTextureUsage(GLenum internalformat, Renderer9 *rendere
...
@@ -49,9 +49,7 @@ DWORD TextureStorage9::GetTextureUsage(GLenum internalformat, Renderer9 *rendere
{
{
d3dusage
|=
D3DUSAGE_DEPTHSTENCIL
;
d3dusage
|=
D3DUSAGE_DEPTHSTENCIL
;
}
}
else
if
(
forceRenderable
||
else
if
(
renderTarget
&&
(
gl_d3d9
::
GetRenderFormat
(
internalformat
,
renderer
)
!=
D3DFMT_UNKNOWN
))
(
gl_d3d9
::
GetRenderFormat
(
internalformat
,
renderer
)
!=
D3DFMT_UNKNOWN
&&
glusage
==
GL_FRAMEBUFFER_ATTACHMENT_ANGLE
))
{
{
d3dusage
|=
D3DUSAGE_RENDERTARGET
;
d3dusage
|=
D3DUSAGE_RENDERTARGET
;
}
}
...
@@ -99,8 +97,8 @@ TextureStorage9_2D::TextureStorage9_2D(Renderer *renderer, SwapChain9 *swapchain
...
@@ -99,8 +97,8 @@ TextureStorage9_2D::TextureStorage9_2D(Renderer *renderer, SwapChain9 *swapchain
initializeRenderTarget
();
initializeRenderTarget
();
}
}
TextureStorage9_2D
::
TextureStorage9_2D
(
Renderer
*
renderer
,
int
levels
,
GLenum
internalformat
,
GLenum
usage
,
bool
forceRenderable
,
GLsizei
width
,
GLsizei
height
)
TextureStorage9_2D
::
TextureStorage9_2D
(
Renderer
*
renderer
,
int
levels
,
GLenum
internalformat
,
bool
renderTarget
,
GLsizei
width
,
GLsizei
height
)
:
TextureStorage9
(
renderer
,
GetTextureUsage
(
internalformat
,
Renderer9
::
makeRenderer9
(
renderer
),
usage
,
forceRenderable
))
:
TextureStorage9
(
renderer
,
GetTextureUsage
(
internalformat
,
Renderer9
::
makeRenderer9
(
renderer
),
renderTarget
))
{
{
mTexture
=
NULL
;
mTexture
=
NULL
;
mRenderTarget
=
NULL
;
mRenderTarget
=
NULL
;
...
@@ -193,8 +191,8 @@ void TextureStorage9_2D::initializeRenderTarget()
...
@@ -193,8 +191,8 @@ void TextureStorage9_2D::initializeRenderTarget()
}
}
}
}
TextureStorage9_Cube
::
TextureStorage9_Cube
(
Renderer
*
renderer
,
int
levels
,
GLenum
internalformat
,
GLenum
usage
,
bool
forceRenderable
,
int
size
)
TextureStorage9_Cube
::
TextureStorage9_Cube
(
Renderer
*
renderer
,
int
levels
,
GLenum
internalformat
,
bool
renderTarget
,
int
size
)
:
TextureStorage9
(
renderer
,
GetTextureUsage
(
internalformat
,
Renderer9
::
makeRenderer9
(
renderer
),
usage
,
forceRenderable
))
:
TextureStorage9
(
renderer
,
GetTextureUsage
(
internalformat
,
Renderer9
::
makeRenderer9
(
renderer
),
renderTarget
))
{
{
mTexture
=
NULL
;
mTexture
=
NULL
;
for
(
int
i
=
0
;
i
<
6
;
++
i
)
for
(
int
i
=
0
;
i
<
6
;
++
i
)
...
...
src/libGLESv2/renderer/d3d9/TextureStorage9.h
View file @
d4589c97
...
@@ -29,7 +29,7 @@ class TextureStorage9 : public TextureStorage
...
@@ -29,7 +29,7 @@ class TextureStorage9 : public TextureStorage
static
TextureStorage9
*
makeTextureStorage9
(
TextureStorage
*
storage
);
static
TextureStorage9
*
makeTextureStorage9
(
TextureStorage
*
storage
);
static
DWORD
GetTextureUsage
(
GLenum
internalformat
,
Renderer9
*
renderer
,
GLenum
glusage
,
bool
forceRenderable
);
static
DWORD
GetTextureUsage
(
GLenum
internalformat
,
Renderer9
*
renderer
,
bool
renderTarget
);
D3DPOOL
getPool
()
const
;
D3DPOOL
getPool
()
const
;
DWORD
getUsage
()
const
;
DWORD
getUsage
()
const
;
...
@@ -61,7 +61,7 @@ class TextureStorage9_2D : public TextureStorage9
...
@@ -61,7 +61,7 @@ class TextureStorage9_2D : public TextureStorage9
{
{
public
:
public
:
TextureStorage9_2D
(
Renderer
*
renderer
,
SwapChain9
*
swapchain
);
TextureStorage9_2D
(
Renderer
*
renderer
,
SwapChain9
*
swapchain
);
TextureStorage9_2D
(
Renderer
*
renderer
,
int
levels
,
GLenum
internalformat
,
GLenum
usage
,
bool
forceRenderable
,
GLsizei
width
,
GLsizei
height
);
TextureStorage9_2D
(
Renderer
*
renderer
,
int
levels
,
GLenum
internalformat
,
bool
renderTarget
,
GLsizei
width
,
GLsizei
height
);
virtual
~
TextureStorage9_2D
();
virtual
~
TextureStorage9_2D
();
static
TextureStorage9_2D
*
makeTextureStorage9_2D
(
TextureStorage
*
storage
);
static
TextureStorage9_2D
*
makeTextureStorage9_2D
(
TextureStorage
*
storage
);
...
@@ -83,7 +83,7 @@ class TextureStorage9_2D : public TextureStorage9
...
@@ -83,7 +83,7 @@ class TextureStorage9_2D : public TextureStorage9
class
TextureStorage9_Cube
:
public
TextureStorage9
class
TextureStorage9_Cube
:
public
TextureStorage9
{
{
public
:
public
:
TextureStorage9_Cube
(
Renderer
*
renderer
,
int
levels
,
GLenum
internalformat
,
GLenum
usage
,
bool
forceRenderable
,
int
size
);
TextureStorage9_Cube
(
Renderer
*
renderer
,
int
levels
,
GLenum
internalformat
,
bool
renderTarget
,
int
size
);
virtual
~
TextureStorage9_Cube
();
virtual
~
TextureStorage9_Cube
();
static
TextureStorage9_Cube
*
makeTextureStorage9_Cube
(
TextureStorage
*
storage
);
static
TextureStorage9_Cube
*
makeTextureStorage9_Cube
(
TextureStorage
*
storage
);
...
...
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