Refactor texture usage logic to helper function
Trac #20875
Signed-off-by: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1107 736b8ea6-26fd-11df-bfd4-992fa37f6226
diff --git a/src/libGLESv2/Texture.cpp b/src/libGLESv2/Texture.cpp
index 92a2da5..e1e579c 100644
--- a/src/libGLESv2/Texture.cpp
+++ b/src/libGLESv2/Texture.cpp
@@ -95,6 +95,17 @@
return false;
}
+static inline DWORD GetTextureUsage(bool rendertarget, D3DFORMAT fmt)
+{
+ DWORD usage = 0;
+
+ if(rendertarget)
+ {
+ usage |= D3DUSAGE_RENDERTARGET;
+ }
+ return usage;
+}
+
Image::Image()
{
mWidth = 0;
@@ -1677,7 +1688,8 @@
if (width > 0 && height > 0)
{
IDirect3DDevice9 *device = getDevice();
- HRESULT result = device->CreateTexture(width, height, levels, isRenderTarget() ? D3DUSAGE_RENDERTARGET : 0, format, getPool(), &mTexture, NULL);
+ DWORD usage = GetTextureUsage(isRenderTarget(), format);
+ HRESULT result = device->CreateTexture(width, height, levels, usage, format, getPool(), &mTexture, NULL);
if (FAILED(result))
{
@@ -2368,7 +2380,8 @@
if (size > 0)
{
IDirect3DDevice9 *device = getDevice();
- HRESULT result = device->CreateCubeTexture(size, levels, isRenderTarget() ? D3DUSAGE_RENDERTARGET : 0, format, getPool(), &mTexture, NULL);
+ DWORD usage = GetTextureUsage(isRenderTarget(), format);
+ HRESULT result = device->CreateCubeTexture(size, levels, usage, format, getPool(), &mTexture, NULL);
if (FAILED(result))
{