mirror of
https://github.com/MobileGL-Dev/MobileGL
synced 2026-09-09 04:38: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) {
|
||||
case TextureUploadTarget::ProxyCubeMap:
|
||||
case TextureUploadTarget::ProxyTexture1DArray:
|
||||
case TextureUploadTarget::ProxyTexture2DArray:
|
||||
case TextureUploadTarget::ProxyTexture1D:
|
||||
case TextureUploadTarget::ProxyTexture2D:
|
||||
case TextureUploadTarget::ProxyTexture3D:
|
||||
case TextureUploadTarget::ProxyTexture2DMultisample:
|
||||
case TextureUploadTarget::ProxyTexture2DMultisampleArray:
|
||||
case TextureUploadTarget::ProxyTextureRectangle:
|
||||
case TextureUploadTarget::ProxyCubeMapArray:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
|
||||
@@ -17,7 +17,7 @@ namespace MobileGL {
|
||||
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
|
||||
enum class TextureUploadTarget {
|
||||
Texture1D,
|
||||
@@ -27,7 +27,9 @@ namespace MobileGL {
|
||||
ProxyTexture2D,
|
||||
ProxyTexture3D,
|
||||
Texture1DArray,
|
||||
Texture2DArray,
|
||||
ProxyTexture1DArray,
|
||||
ProxyTexture2DArray,
|
||||
TextureRectangle,
|
||||
ProxyTextureRectangle,
|
||||
CubeMapPositiveX,
|
||||
@@ -37,8 +39,12 @@ namespace MobileGL {
|
||||
CubeMapPositiveZ,
|
||||
CubeMapNegativeZ,
|
||||
ProxyCubeMap,
|
||||
CubeMapArray,
|
||||
ProxyCubeMapArray,
|
||||
Texture2DMultisample,
|
||||
Texture2DMultisampleArray,
|
||||
ProxyTexture2DMultisample,
|
||||
ProxyTexture2DMultisampleArray,
|
||||
TextureUploadTargetCount,
|
||||
Unknown = -1
|
||||
};
|
||||
@@ -182,4 +188,4 @@ namespace MobileGL {
|
||||
SwizzleParamCount,
|
||||
Unknown = -1
|
||||
};
|
||||
}
|
||||
} // namespace MobileGL
|
||||
@@ -1,4 +1,5 @@
|
||||
#include "TextureEnumConverter.h"
|
||||
#include "GL/glext.h"
|
||||
#include "MG_Util/Converters/GLToStr/GLEnumConverter.h"
|
||||
|
||||
namespace MobileGL {
|
||||
@@ -290,6 +291,14 @@ namespace MobileGL {
|
||||
return TextureUploadTarget::Texture1DArray;
|
||||
case GL_PROXY_TEXTURE_1D_ARRAY:
|
||||
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:
|
||||
return TextureUploadTarget::TextureRectangle;
|
||||
case GL_PROXY_TEXTURE_RECTANGLE:
|
||||
@@ -312,6 +321,10 @@ namespace MobileGL {
|
||||
return TextureUploadTarget::Texture2DMultisample;
|
||||
case GL_PROXY_TEXTURE_2D_MULTISAMPLE:
|
||||
return TextureUploadTarget::ProxyTexture2DMultisample;
|
||||
case GL_TEXTURE_2D_MULTISAMPLE_ARRAY:
|
||||
return TextureUploadTarget::Texture2DMultisampleArray;
|
||||
case GL_PROXY_TEXTURE_2D_MULTISAMPLE_ARRAY:
|
||||
return TextureUploadTarget::ProxyTexture2DMultisampleArray;
|
||||
default:
|
||||
return TextureUploadTarget::Unknown;
|
||||
}
|
||||
|
||||
@@ -306,22 +306,23 @@ namespace MobileGL {
|
||||
return GL_TEXTURE_2D_MULTISAMPLE;
|
||||
case TextureUploadTarget::ProxyTexture2DMultisample:
|
||||
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:
|
||||
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) {
|
||||
switch (mipmap) {
|
||||
case SamplerMipmapMode::None: {
|
||||
|
||||
@@ -20,10 +20,24 @@ namespace MobileGL {
|
||||
case TextureUploadTarget::CubeMapPositiveZ:
|
||||
case TextureUploadTarget::CubeMapNegativeZ:
|
||||
case TextureUploadTarget::ProxyCubeMap:
|
||||
case TextureUploadTarget::CubeMapArray:
|
||||
case TextureUploadTarget::ProxyCubeMapArray:
|
||||
return TextureTarget::TextureCubeMap;
|
||||
case TextureUploadTarget::Texture2DMultisample:
|
||||
case TextureUploadTarget::ProxyTexture2DMultisample:
|
||||
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:
|
||||
return TextureTarget::Unknown;
|
||||
}
|
||||
|
||||
@@ -296,6 +296,26 @@ namespace MobileGL {
|
||||
return "Texture2DMultisample";
|
||||
case TextureUploadTarget::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:
|
||||
return "Unknown";
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user