mirror of
https://github.com/MobileGL-Dev/MobileGL
synced 2026-09-12 06:08:30 +09:00
[Feat] (MG_State/TextureState): Add more TextureUploadTarget.
This commit is contained in:
@@ -10,9 +10,14 @@ namespace MobileGL::MG_Impl::GLImpl {
|
|||||||
switch (target) {
|
switch (target) {
|
||||||
case TextureUploadTarget::ProxyCubeMap:
|
case TextureUploadTarget::ProxyCubeMap:
|
||||||
case TextureUploadTarget::ProxyTexture1DArray:
|
case TextureUploadTarget::ProxyTexture1DArray:
|
||||||
|
case TextureUploadTarget::ProxyTexture2DArray:
|
||||||
|
case TextureUploadTarget::ProxyTexture1D:
|
||||||
case TextureUploadTarget::ProxyTexture2D:
|
case TextureUploadTarget::ProxyTexture2D:
|
||||||
|
case TextureUploadTarget::ProxyTexture3D:
|
||||||
case TextureUploadTarget::ProxyTexture2DMultisample:
|
case TextureUploadTarget::ProxyTexture2DMultisample:
|
||||||
|
case TextureUploadTarget::ProxyTexture2DMultisampleArray:
|
||||||
case TextureUploadTarget::ProxyTextureRectangle:
|
case TextureUploadTarget::ProxyTextureRectangle:
|
||||||
|
case TextureUploadTarget::ProxyCubeMapArray:
|
||||||
return true;
|
return true;
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ namespace MobileGL {
|
|||||||
Unknown = -1
|
Unknown = -1
|
||||||
};
|
};
|
||||||
|
|
||||||
// Don't tinker with order in this enum
|
// Don't tinker with order in this enum (especially CubeMap faces),
|
||||||
// it is used in TextureStorage
|
// it is used in TextureStorage
|
||||||
enum class TextureUploadTarget {
|
enum class TextureUploadTarget {
|
||||||
Texture1D,
|
Texture1D,
|
||||||
@@ -27,7 +27,9 @@ namespace MobileGL {
|
|||||||
ProxyTexture2D,
|
ProxyTexture2D,
|
||||||
ProxyTexture3D,
|
ProxyTexture3D,
|
||||||
Texture1DArray,
|
Texture1DArray,
|
||||||
|
Texture2DArray,
|
||||||
ProxyTexture1DArray,
|
ProxyTexture1DArray,
|
||||||
|
ProxyTexture2DArray,
|
||||||
TextureRectangle,
|
TextureRectangle,
|
||||||
ProxyTextureRectangle,
|
ProxyTextureRectangle,
|
||||||
CubeMapPositiveX,
|
CubeMapPositiveX,
|
||||||
@@ -37,8 +39,12 @@ namespace MobileGL {
|
|||||||
CubeMapPositiveZ,
|
CubeMapPositiveZ,
|
||||||
CubeMapNegativeZ,
|
CubeMapNegativeZ,
|
||||||
ProxyCubeMap,
|
ProxyCubeMap,
|
||||||
|
CubeMapArray,
|
||||||
|
ProxyCubeMapArray,
|
||||||
Texture2DMultisample,
|
Texture2DMultisample,
|
||||||
|
Texture2DMultisampleArray,
|
||||||
ProxyTexture2DMultisample,
|
ProxyTexture2DMultisample,
|
||||||
|
ProxyTexture2DMultisampleArray,
|
||||||
TextureUploadTargetCount,
|
TextureUploadTargetCount,
|
||||||
Unknown = -1
|
Unknown = -1
|
||||||
};
|
};
|
||||||
@@ -182,4 +188,4 @@ namespace MobileGL {
|
|||||||
SwizzleParamCount,
|
SwizzleParamCount,
|
||||||
Unknown = -1
|
Unknown = -1
|
||||||
};
|
};
|
||||||
}
|
} // namespace MobileGL
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
#include "TextureEnumConverter.h"
|
#include "TextureEnumConverter.h"
|
||||||
|
#include "GL/glext.h"
|
||||||
#include "MG_Util/Converters/GLToStr/GLEnumConverter.h"
|
#include "MG_Util/Converters/GLToStr/GLEnumConverter.h"
|
||||||
|
|
||||||
namespace MobileGL {
|
namespace MobileGL {
|
||||||
@@ -290,6 +291,14 @@ namespace MobileGL {
|
|||||||
return TextureUploadTarget::Texture1DArray;
|
return TextureUploadTarget::Texture1DArray;
|
||||||
case GL_PROXY_TEXTURE_1D_ARRAY:
|
case GL_PROXY_TEXTURE_1D_ARRAY:
|
||||||
return TextureUploadTarget::ProxyTexture1DArray;
|
return TextureUploadTarget::ProxyTexture1DArray;
|
||||||
|
case GL_TEXTURE_2D_ARRAY:
|
||||||
|
return TextureUploadTarget::Texture2DArray;
|
||||||
|
case GL_TEXTURE_CUBE_MAP_ARRAY:
|
||||||
|
return TextureUploadTarget::CubeMapArray;
|
||||||
|
case GL_PROXY_TEXTURE_CUBE_MAP_ARRAY:
|
||||||
|
return TextureUploadTarget::ProxyCubeMapArray;
|
||||||
|
case GL_PROXY_TEXTURE_2D_ARRAY:
|
||||||
|
return TextureUploadTarget::ProxyTexture2DArray;
|
||||||
case GL_TEXTURE_RECTANGLE:
|
case GL_TEXTURE_RECTANGLE:
|
||||||
return TextureUploadTarget::TextureRectangle;
|
return TextureUploadTarget::TextureRectangle;
|
||||||
case GL_PROXY_TEXTURE_RECTANGLE:
|
case GL_PROXY_TEXTURE_RECTANGLE:
|
||||||
@@ -312,6 +321,10 @@ namespace MobileGL {
|
|||||||
return TextureUploadTarget::Texture2DMultisample;
|
return TextureUploadTarget::Texture2DMultisample;
|
||||||
case GL_PROXY_TEXTURE_2D_MULTISAMPLE:
|
case GL_PROXY_TEXTURE_2D_MULTISAMPLE:
|
||||||
return TextureUploadTarget::ProxyTexture2DMultisample;
|
return TextureUploadTarget::ProxyTexture2DMultisample;
|
||||||
|
case GL_TEXTURE_2D_MULTISAMPLE_ARRAY:
|
||||||
|
return TextureUploadTarget::Texture2DMultisampleArray;
|
||||||
|
case GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY:
|
||||||
|
return TextureUploadTarget::ProxyTexture2DMultisampleArray;
|
||||||
default:
|
default:
|
||||||
return TextureUploadTarget::Unknown;
|
return TextureUploadTarget::Unknown;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -306,22 +306,23 @@ namespace MobileGL {
|
|||||||
return GL_TEXTURE_2D_MULTISAMPLE;
|
return GL_TEXTURE_2D_MULTISAMPLE;
|
||||||
case TextureUploadTarget::ProxyTexture2DMultisample:
|
case TextureUploadTarget::ProxyTexture2DMultisample:
|
||||||
return GL_PROXY_TEXTURE_2D_MULTISAMPLE;
|
return GL_PROXY_TEXTURE_2D_MULTISAMPLE;
|
||||||
|
case TextureUploadTarget::CubeMapArray:
|
||||||
|
return GL_TEXTURE_CUBE_MAP_ARRAY;
|
||||||
|
case TextureUploadTarget::ProxyCubeMapArray:
|
||||||
|
return GL_PROXY_TEXTURE_CUBE_MAP_ARRAY;
|
||||||
|
case TextureUploadTarget::Texture2DArray:
|
||||||
|
return GL_TEXTURE_2D_ARRAY;
|
||||||
|
case TextureUploadTarget::ProxyTexture2DArray:
|
||||||
|
return GL_PROXY_TEXTURE_2D_ARRAY;
|
||||||
|
case TextureUploadTarget::Texture2DMultisampleArray:
|
||||||
|
return GL_TEXTURE_2D_MULTISAMPLE_ARRAY;
|
||||||
|
case TextureUploadTarget::ProxyTexture2DMultisampleArray:
|
||||||
|
return GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY;
|
||||||
default:
|
default:
|
||||||
return GL_UNKNOWN_MGL;
|
return GL_UNKNOWN_MGL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// GLenum ConvertSamplerFilterModeToGLEnum(SamplerFilterMode v) {
|
|
||||||
// switch (v) {
|
|
||||||
// case SamplerFilterMode::Nearest:
|
|
||||||
// return GL_NEAREST;
|
|
||||||
// case SamplerFilterMode::Linear:
|
|
||||||
// return GL_LINEAR;
|
|
||||||
// default:
|
|
||||||
// return GL_UNKNOWN_MGL;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
GLenum ConvertSamplerFilterModeToGLEnum(SamplerFilterMode filter, SamplerMipmapMode mipmap) {
|
GLenum ConvertSamplerFilterModeToGLEnum(SamplerFilterMode filter, SamplerMipmapMode mipmap) {
|
||||||
switch (mipmap) {
|
switch (mipmap) {
|
||||||
case SamplerMipmapMode::None: {
|
case SamplerMipmapMode::None: {
|
||||||
|
|||||||
@@ -20,10 +20,24 @@ namespace MobileGL {
|
|||||||
case TextureUploadTarget::CubeMapPositiveZ:
|
case TextureUploadTarget::CubeMapPositiveZ:
|
||||||
case TextureUploadTarget::CubeMapNegativeZ:
|
case TextureUploadTarget::CubeMapNegativeZ:
|
||||||
case TextureUploadTarget::ProxyCubeMap:
|
case TextureUploadTarget::ProxyCubeMap:
|
||||||
|
case TextureUploadTarget::CubeMapArray:
|
||||||
|
case TextureUploadTarget::ProxyCubeMapArray:
|
||||||
return TextureTarget::TextureCubeMap;
|
return TextureTarget::TextureCubeMap;
|
||||||
case TextureUploadTarget::Texture2DMultisample:
|
case TextureUploadTarget::Texture2DMultisample:
|
||||||
case TextureUploadTarget::ProxyTexture2DMultisample:
|
case TextureUploadTarget::ProxyTexture2DMultisample:
|
||||||
return TextureTarget::Texture2DMultisample;
|
return TextureTarget::Texture2DMultisample;
|
||||||
|
case TextureUploadTarget::Texture2DMultisampleArray:
|
||||||
|
case TextureUploadTarget::ProxyTexture2DMultisampleArray:
|
||||||
|
return TextureTarget::Texture2DMultisampleArray;
|
||||||
|
case TextureUploadTarget::Texture3D:
|
||||||
|
case TextureUploadTarget::ProxyTexture3D:
|
||||||
|
return TextureTarget::Texture3D;
|
||||||
|
case TextureUploadTarget::Texture1D:
|
||||||
|
case TextureUploadTarget::ProxyTexture1D:
|
||||||
|
return TextureTarget::Texture1D;
|
||||||
|
case TextureUploadTarget::Texture2DArray:
|
||||||
|
case TextureUploadTarget::ProxyTexture2DArray:
|
||||||
|
return TextureTarget::Texture2DArray;
|
||||||
default:
|
default:
|
||||||
return TextureTarget::Unknown;
|
return TextureTarget::Unknown;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -296,6 +296,26 @@ namespace MobileGL {
|
|||||||
return "Texture2DMultisample";
|
return "Texture2DMultisample";
|
||||||
case TextureUploadTarget::ProxyTexture2DMultisample:
|
case TextureUploadTarget::ProxyTexture2DMultisample:
|
||||||
return "ProxyTexture2DMultisample";
|
return "ProxyTexture2DMultisample";
|
||||||
|
case TextureUploadTarget::CubeMapArray:
|
||||||
|
return "CubeMapArray";
|
||||||
|
case TextureUploadTarget::ProxyCubeMapArray:
|
||||||
|
return "ProxyCubeMapArray";
|
||||||
|
case TextureUploadTarget::Texture3D:
|
||||||
|
return "Texture3D";
|
||||||
|
case TextureUploadTarget::ProxyTexture3D:
|
||||||
|
return "ProxyTexture3D";
|
||||||
|
case TextureUploadTarget::Texture1D:
|
||||||
|
return "Texture1D";
|
||||||
|
case TextureUploadTarget::ProxyTexture1D:
|
||||||
|
return "ProxyTexture1D";
|
||||||
|
case TextureUploadTarget::Texture2DArray:
|
||||||
|
return "Texture2DArray";
|
||||||
|
case TextureUploadTarget::ProxyTexture2DArray:
|
||||||
|
return "ProxyTexture2DArray";
|
||||||
|
case TextureUploadTarget::Texture2DMultisampleArray:
|
||||||
|
return "Texture2DMultisampleArray";
|
||||||
|
case TextureUploadTarget::ProxyTexture2DMultisampleArray:
|
||||||
|
return "ProxyTexture2DMultisampleArray";
|
||||||
default:
|
default:
|
||||||
return "Unknown";
|
return "Unknown";
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user