mirror of
https://github.com/cemu-project/Cemu.git
synced 2025-12-12 19:37:01 +00:00
Add all the files
This commit is contained in:
parent
e3db07a16a
commit
d60742f52b
1445 changed files with 430238 additions and 0 deletions
290
src/Common/GLInclude/glFunctions.h
Normal file
290
src/Common/GLInclude/glFunctions.h
Normal file
|
|
@ -0,0 +1,290 @@
|
|||
// OpenGL 1.1 - 2.0
|
||||
GLFUNC(PFNGLDRAWBUFFERPROC, glDrawBuffer)
|
||||
GLFUNC(PFNGLGENTEXTURESPROC, glGenTextures)
|
||||
GLFUNC(PFNGLDELETETEXTURESPROC, glDeleteTextures)
|
||||
GLFUNC(PFNGLBINDTEXTUREPROC, glBindTexture)
|
||||
GLFUNC(PFNGLTEXPARAMETERIPROC, glTexParameteri)
|
||||
GLFUNC(PFNGLTEXIMAGE2DPROC, glTexImage2D)
|
||||
GLFUNC(PFNGLTEXSUBIMAGE2DPROC, glTexSubImage2D)
|
||||
GLFUNC(PFNGLTEXIMAGE1DPROC, glTexImage1D)
|
||||
GLFUNC(PFNGLTEXSUBIMAGE1DPROC, glTexSubImage1D)
|
||||
GLFUNC(PFNGLGETTEXIMAGEPROC, glGetTexImage)
|
||||
GLFUNC(PFNGLENABLEPROC, glEnable)
|
||||
GLFUNC(PFNGLDISABLEPROC, glDisable)
|
||||
GLFUNC(PFNGLISENABLEDPROC, glIsEnabled)
|
||||
GLFUNC(PFNGLCLEARPROC, glClear)
|
||||
GLFUNC(PFNGLCLEARCOLORPROC, glClearColor)
|
||||
GLFUNC(PFNGLCLEARDEPTHPROC, glClearDepth)
|
||||
GLFUNC(PFNGLCLEARSTENCILPROC, glClearStencil)
|
||||
GLFUNC(PFNGLFLUSHPROC, glFlush)
|
||||
GLFUNC(PFNGLFINISHPROC, glFinish)
|
||||
GLFUNC(PFNGLPIXELSTOREIPROC, glPixelStorei)
|
||||
GLFUNC(PFNGLGETSTRINGPROC, glGetString)
|
||||
GLFUNC(PFNGLGETINTEGERVPROC, glGetIntegerv)
|
||||
GLFUNC(PFNGLGETTEXLEVELPARAMETERIVPROC, glGetTexLevelParameteriv)
|
||||
GLFUNC(PFNGLTEXPARAMETERFPROC, glTexParameterf)
|
||||
GLFUNC(PFNGLTEXPARAMETERFVPROC, glTexParameterfv)
|
||||
GLFUNC(PFNGLDEPTHFUNCPROC, glDepthFunc)
|
||||
GLFUNC(PFNGLDEPTHMASKPROC, glDepthMask)
|
||||
GLFUNC(PFNGLDEPTHRANGEPROC, glDepthRange)
|
||||
GLFUNC(PFNGLFRONTFACEPROC, glFrontFace)
|
||||
GLFUNC(PFNGLCULLFACEPROC, glCullFace)
|
||||
GLFUNC(PFNGLPOLYGONOFFSETPROC, glPolygonOffset)
|
||||
GLFUNC(PFNGLPOINTSIZEPROC, glPointSize)
|
||||
GLFUNC(PFNGLLOGICOPPROC, glLogicOp)
|
||||
GLFUNC(PFNGLPOLYGONMODEPROC, glPolygonMode)
|
||||
GLFUNC(PFNGLSCISSORPROC, glScissor)
|
||||
GLFUNC(PFNGLVIEWPORTPROC, glViewport)
|
||||
GLFUNC(PFNGLGETERRORPROC, glGetError)
|
||||
GLFUNC(PFNGLDRAWARRAYSPROC, glDrawArrays)
|
||||
|
||||
// everything else
|
||||
|
||||
GLFUNC(PFNGLUNIFORM1IPROC, glUniform1i)
|
||||
GLFUNC(PFNGLUNIFORM2IPROC, glUniform2i)
|
||||
GLFUNC(PFNGLUNIFORM2FPROC, glUniform2f)
|
||||
GLFUNC(PFNGLUNIFORM4FVPROC, glUniform4fv)
|
||||
GLFUNC(PFNGLUNIFORMMATRIX4FVPROC, glUniformMatrix4fv)
|
||||
|
||||
|
||||
GLFUNC(PFNGLGETSHADERINFOLOGPROC, glGetShaderInfoLog)
|
||||
|
||||
GLFUNC(PFNGLUSEPROGRAMPROC, glUseProgram)
|
||||
|
||||
GLFUNC(PFNGLGETUNIFORMLOCATIONPROC, glGetUniformLocation)
|
||||
|
||||
GLFUNC(PFNGLACTIVETEXTUREPROC, glActiveTexture)
|
||||
GLFUNC(PFNGLCLIENTACTIVETEXTUREPROC, glClientActiveTexture)
|
||||
|
||||
GLFUNC(PFNGLPRIMITIVERESTARTINDEXPROC, glPrimitiveRestartIndex)
|
||||
|
||||
GLFUNC(PFNGLDRAWRANGEELEMENTSPROC, glDrawRangeElements)
|
||||
GLFUNC(PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC, glDrawRangeElementsBaseVertex)
|
||||
|
||||
GLFUNC(PFNGLGENBUFFERSPROC, glGenBuffers)
|
||||
GLFUNC(PFNGLBINDBUFFERPROC, glBindBuffer)
|
||||
GLFUNC(PFNGLBUFFERDATAPROC, glBufferData)
|
||||
GLFUNC(PFNGLBUFFERSUBDATAPROC, glBufferSubData)
|
||||
GLFUNC(PFNGLMAPBUFFERPROC, glMapBuffer)
|
||||
GLFUNC(PFNGLUNMAPBUFFERPROC, glUnmapBuffer)
|
||||
GLFUNC(PFNGLDELETEBUFFERSARBPROC, glDeleteBuffers)
|
||||
|
||||
GLFUNC(PFNGLENABLEVERTEXATTRIBARRAYPROC, glEnableVertexAttribArray)
|
||||
GLFUNC(PFNGLDISABLEVERTEXATTRIBARRAYPROC, glDisableVertexAttribArray)
|
||||
GLFUNC(PFNGLGETATTRIBLOCATIONPROC, glGetAttribLocation)
|
||||
GLFUNC(PFNGLBINDATTRIBLOCATIONPROC, glBindAttribLocation)
|
||||
GLFUNC(PFNGLVERTEXATTRIBPOINTERPROC, glVertexAttribPointer)
|
||||
GLFUNC(PFNGLVERTEXATTRIBIPOINTERPROC, glVertexAttribIPointer)
|
||||
|
||||
GLFUNC(PFNGLBLENDEQUATIONPROC, glBlendEquation)
|
||||
GLFUNC(PFNGLBLENDFUNCSEPARATEEXTPROC, glBlendFuncSeparate)
|
||||
GLFUNC(PFNGLBLENDEQUATIONSEPARATEEXTPROC, glBlendEquationSeparate)
|
||||
GLFUNC(PFNGLBLENDEQUATIONSEPARATEIPROC, glBlendEquationSeparatei)
|
||||
GLFUNC(PFNGLBLENDFUNCSEPARATEIPROC, glBlendFuncSeparatei)
|
||||
GLFUNC(PFNGLBLENDCOLORPROC, glBlendColor)
|
||||
|
||||
GLFUNC(PFNGLDRAWBUFFERSPROC, glDrawBuffers)
|
||||
GLFUNC(PFNGLCLAMPCOLORARBPROC, glClampColor)
|
||||
|
||||
GLFUNC(PFNGLBINDFRAGDATALOCATIONEXTPROC, glBindFragDataLocation)
|
||||
|
||||
GLFUNC(PFNGLSHADERSOURCEPROC, glShaderSource)
|
||||
GLFUNC(PFNGLCOMPILESHADERPROC, glCompileShader)
|
||||
GLFUNC(PFNGLATTACHSHADERPROC, glAttachShader)
|
||||
GLFUNC(PFNGLLINKPROGRAMPROC, glLinkProgram)
|
||||
GLFUNC(PFNGLGETSHADERIVPROC, glGetShaderiv)
|
||||
GLFUNC(PFNGLGETPROGRAMIVPROC, glGetProgramiv)
|
||||
GLFUNC(PFNGLGETPROGRAMINFOLOGPROC, glGetProgramInfoLog)
|
||||
GLFUNC(PFNGLGETPROGRAMBINARYPROC, glGetProgramBinary)
|
||||
GLFUNC(PFNGLPROGRAMBINARYPROC, glProgramBinary)
|
||||
GLFUNC(PFNGLPROGRAMPARAMETERIPROC, glProgramParameteri)
|
||||
GLFUNC(PFNGLCREATEPROGRAMPROC, glCreateProgram)
|
||||
GLFUNC(PFNGLCREATESHADERPROC, glCreateShader)
|
||||
GLFUNC(PFNGLDELETEPROGRAMPROC, glDeleteProgram)
|
||||
GLFUNC(PFNGLDELETESHADERPROC, glDeleteShader)
|
||||
GLFUNC(PFNGLDETACHSHADERPROC, glDetachShader)
|
||||
GLFUNC(PFNGLGETATTACHEDSHADERSPROC, glGetAttachedShaders)
|
||||
|
||||
GLFUNC(PFNGLCREATESHADERPROGRAMVPROC, glCreateShaderProgramv)
|
||||
GLFUNC(PFNGLUSEPROGRAMSTAGESPROC, glUseProgramStages)
|
||||
GLFUNC(PFNGLBINDPROGRAMPIPELINEPROC, glBindProgramPipeline)
|
||||
GLFUNC(PFNGLGENPROGRAMPIPELINESPROC, glGenProgramPipelines)
|
||||
GLFUNC(PFNGLACTIVESHADERPROGRAMPROC, glActiveShaderProgram)
|
||||
GLFUNC(PFNGLDELETEPROGRAMPIPELINESPROC, glDeleteProgramPipelines)
|
||||
|
||||
GLFUNC(PFNGLPROGRAMUNIFORM1IPROC, glProgramUniform1i)
|
||||
GLFUNC(PFNGLPROGRAMUNIFORM2IPROC, glProgramUniform2i)
|
||||
GLFUNC(PFNGLPROGRAMUNIFORM1IVPROC, glProgramUniform1iv)
|
||||
GLFUNC(PFNGLPROGRAMUNIFORM4IVPROC, glProgramUniform4iv)
|
||||
GLFUNC(PFNGLPROGRAMUNIFORM1FVPROC, glProgramUniform1fv)
|
||||
GLFUNC(PFNGLPROGRAMUNIFORM2FVPROC, glProgramUniform2fv)
|
||||
|
||||
// FBO
|
||||
|
||||
GLFUNC(PFNGLGENFRAMEBUFFERSPROC, glGenFramebuffers)
|
||||
GLFUNC(PFNGLBINDFRAMEBUFFERPROC, glBindFramebuffer)
|
||||
GLFUNC(PFNGLFRAMEBUFFERTEXTURE2DPROC, glFramebufferTexture2D)
|
||||
GLFUNC(PFNGLFRAMEBUFFERTEXTURELAYERPROC, glFramebufferTextureLayer)
|
||||
GLFUNC(PFNGLNAMEDFRAMEBUFFERTEXTUREPROC, glNamedFramebufferTexture)
|
||||
GLFUNC(PFNGLCHECKFRAMEBUFFERSTATUSPROC, glCheckFramebufferStatus)
|
||||
GLFUNC(PFNGLINVALIDATEFRAMEBUFFERPROC, glInvalidateFramebuffer)
|
||||
GLFUNC(PFNGLDELETEFRAMEBUFFERSPROC, glDeleteFramebuffers)
|
||||
|
||||
//GLFUNC(PFNGLNAMEDFRAMEBUFFERTEXTUREPROC, glNamedFramebufferTexture)
|
||||
GLFUNC(PFNGLNAMEDFRAMEBUFFERTEXTURE2DEXTPROC, glNamedFramebufferTexture2DEXT)
|
||||
GLFUNC(PFNGLNAMEDFRAMEBUFFERTEXTURELAYERPROC, glNamedFramebufferTextureLayer)
|
||||
|
||||
GLFUNC(PFNGLENABLEIPROC, glEnablei)
|
||||
GLFUNC(PFNGLDISABLEIPROC, glDisablei)
|
||||
|
||||
GLFUNC(PFNGLBEGINQUERYINDEXEDPROC, glBeginQueryIndexed)
|
||||
GLFUNC(PFNGLENDQUERYINDEXEDPROC, glEndQueryIndexed)
|
||||
GLFUNC(PFNGLGETQUERYINDEXEDIVPROC, glGetQueryIndexediv)
|
||||
GLFUNC(PFNGLGETQUERYOBJECTI64VPROC, glGetQueryObjecti64v)
|
||||
|
||||
GLFUNC(PFNGLGENQUERIESPROC, glGenQueries)
|
||||
GLFUNC(PFNGLDELETEQUERIESPROC, glDeleteQueries)
|
||||
GLFUNC(PFNGLQUERYCOUNTERPROC, glQueryCounter)
|
||||
GLFUNC(PFNGLGETQUERYOBJECTIVPROC, glGetQueryObjectiv)
|
||||
|
||||
// FBO DSA
|
||||
|
||||
GLFUNC(PFNGLCREATEFRAMEBUFFERSPROC, glCreateFramebuffers)
|
||||
GLFUNC(PFNGLINVALIDATENAMEDFRAMEBUFFERDATAPROC, glInvalidateNamedFramebufferData)
|
||||
|
||||
|
||||
// misc
|
||||
|
||||
GLFUNC(PFNGLCOLORMASKIPROC, glColorMaski)
|
||||
GLFUNC(PFNGLTEXTUREBARRIERPROC, glTextureBarrier)
|
||||
GLFUNC(PFNGLCLIPCONTROLPROC, glClipControl)
|
||||
GLFUNC(PFNGLVIEWPORTINDEXEDFPROC, glViewportIndexedf)
|
||||
GLFUNC(PFNGLMAXSHADERCOMPILERTHREADSARBPROC, glMaxShaderCompilerThreadsARB)
|
||||
GLFUNC(PFNGLDEPTHRANGEDNVPROC, glDepthRangedNV)
|
||||
GLFUNC(PFNGLPOLYGONOFFSETCLAMPEXTPROC, glPolygonOffsetClampEXT)
|
||||
|
||||
// texture
|
||||
|
||||
GLFUNC(PFNGLTEXTUREVIEWPROC, glTextureView)
|
||||
GLFUNC(PFNGLTEXSTORAGE1DPROC, glTexStorage1D)
|
||||
GLFUNC(PFNGLTEXSTORAGE2DPROC, glTexStorage2D)
|
||||
GLFUNC(PFNGLTEXSTORAGE3DPROC, glTexStorage3D)
|
||||
GLFUNC(PFNGLTEXIMAGE3DPROC, glTexImage3D)
|
||||
GLFUNC(PFNGLTEXSUBIMAGE3DPROC, glTexSubImage3D)
|
||||
GLFUNC(PFNGLCOMPRESSEDTEXIMAGE2DPROC, glCompressedTexImage2D)
|
||||
GLFUNC(PFNGLCOMPRESSEDTEXIMAGE3DPROC, glCompressedTexImage3D)
|
||||
GLFUNC(PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC, glCompressedTexSubImage2D)
|
||||
GLFUNC(PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC, glCompressedTexSubImage3D)
|
||||
GLFUNC(PFNGLCOMPRESSEDTEXTURESUBIMAGE2DPROC, glCompressedTextureSubImage2D)
|
||||
GLFUNC(PFNGLCOMPRESSEDTEXTURESUBIMAGE3DPROC, glCompressedTextureSubImage3D)
|
||||
GLFUNC(PFNGLCOPYIMAGESUBDATAPROC, glCopyImageSubData)
|
||||
GLFUNC(PFNGLCLEARTEXIMAGEPROC, glClearTexImage)
|
||||
GLFUNC(PFNGLCLEARTEXSUBIMAGEPROC, glClearTexSubImage)
|
||||
GLFUNC(PFNGLINVALIDATETEXIMAGEPROC, glInvalidateTexImage)
|
||||
|
||||
// texture DSA
|
||||
|
||||
GLFUNC(PFNGLBINDTEXTUREUNITPROC, glBindTextureUnit)
|
||||
GLFUNC(PFNGLGETTEXTURELEVELPARAMETERIVPROC, glGetTextureLevelParameteriv)
|
||||
GLFUNC(PFNGLTEXTUREPARAMETERIPROC, glTextureParameteri)
|
||||
GLFUNC(PFNGLGETTEXTURESUBIMAGEPROC, glGetTextureSubImage)
|
||||
GLFUNC(PFNGLTEXTURESUBIMAGE2DPROC, glTextureSubImage2D);
|
||||
GLFUNC(PFNGLTEXTURESUBIMAGE3DPROC, glTextureSubImage3D)
|
||||
|
||||
// instancing / draw
|
||||
|
||||
GLFUNC(PFNGLDRAWELEMENTSBASEVERTEXPROC, glDrawElementsBaseVertex)
|
||||
GLFUNC(PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC, glDrawElementsInstancedBaseVertexBaseInstance)
|
||||
GLFUNC(PFNGLDRAWARRAYSINSTANCEDPROC, glDrawArraysInstanced)
|
||||
|
||||
// vertex array
|
||||
|
||||
GLFUNC(PFNGLGENVERTEXARRAYSPROC, glGenVertexArrays)
|
||||
GLFUNC(PFNGLBINDVERTEXARRAYPROC, glBindVertexArray)
|
||||
GLFUNC(PFNGLDELETEVERTEXARRAYSPROC, glDeleteVertexArrays)
|
||||
GLFUNC(PFNGLBINDVERTEXBUFFERPROC, glBindVertexBuffer)
|
||||
GLFUNC(PFNGLVERTEXATTRIBFORMATPROC, glVertexAttribFormat)
|
||||
GLFUNC(PFNGLVERTEXATTRIBIFORMATPROC, glVertexAttribIFormat)
|
||||
GLFUNC(PFNGLVERTEXATTRIBBINDINGPROC, glVertexAttribBinding)
|
||||
GLFUNC(PFNGLVERTEXBINDINGDIVISORPROC, glVertexBindingDivisor)
|
||||
GLFUNC(PFNGLVERTEXATTRIBDIVISORPROC, glVertexAttribDivisor)
|
||||
|
||||
// vertex array DSA
|
||||
|
||||
GLFUNC(PFNGLCREATEVERTEXARRAYSPROC, glCreateVertexArrays)
|
||||
GLFUNC(PFNGLDISABLEVERTEXARRAYATTRIBPROC, glDisableVertexArrayAttrib)
|
||||
GLFUNC(PFNGLENABLEVERTEXARRAYATTRIBPROC, glEnableVertexArrayAttrib)
|
||||
GLFUNC(PFNGLVERTEXARRAYELEMENTBUFFERPROC, glVertexArrayElementBuffer)
|
||||
GLFUNC(PFNGLVERTEXARRAYVERTEXBUFFERPROC, glVertexArrayVertexBuffer)
|
||||
GLFUNC(PFNGLVERTEXARRAYATTRIBBINDINGPROC, glVertexArrayAttribBinding)
|
||||
GLFUNC(PFNGLVERTEXARRAYATTRIBIFORMATPROC, glVertexArrayAttribIFormat)
|
||||
GLFUNC(PFNGLVERTEXARRAYBINDINGDIVISORPROC, glVertexArrayBindingDivisor)
|
||||
|
||||
// sampler
|
||||
|
||||
GLFUNC(PFNGLGENSAMPLERSPROC, glGenSamplers)
|
||||
GLFUNC(PFNGLBINDSAMPLERPROC, glBindSampler)
|
||||
GLFUNC(PFNGLSAMPLERPARAMETERIPROC, glSamplerParameteri)
|
||||
GLFUNC(PFNGLSAMPLERPARAMETERFPROC, glSamplerParameterf)
|
||||
GLFUNC(PFNGLSAMPLERPARAMETERIVPROC, glSamplerParameteriv)
|
||||
GLFUNC(PFNGLSAMPLERPARAMETERFVPROC, glSamplerParameterfv)
|
||||
|
||||
// buffer object
|
||||
|
||||
GLFUNC(PFNGLGETUNIFORMBLOCKINDEXPROC, glGetUniformBlockIndex)
|
||||
GLFUNC(PFNGLUNIFORMBLOCKBINDINGPROC, glUniformBlockBinding)
|
||||
GLFUNC(PFNGLBINDBUFFERBASEPROC, glBindBufferBase)
|
||||
GLFUNC(PFNGLBINDBUFFERRANGEPROC, glBindBufferRange)
|
||||
GLFUNC(PFNGLGETBUFFERSUBDATAPROC, glGetBufferSubData)
|
||||
|
||||
// uniform storage buffer object
|
||||
|
||||
GLFUNC(PFNGLGETPROGRAMRESOURCEINDEXPROC, glGetProgramResourceIndex)
|
||||
GLFUNC(PFNGLSHADERSTORAGEBLOCKBINDINGPROC, glShaderStorageBlockBinding)
|
||||
|
||||
// stencil
|
||||
|
||||
GLFUNC(PFNGLSTENCILOPSEPARATEPROC, glStencilOpSeparate)
|
||||
GLFUNC(PFNGLSTENCILFUNCSEPARATEPROC, glStencilFuncSeparate)
|
||||
GLFUNC(PFNGLSTENCILMASKSEPARATEPROC, glStencilMaskSeparate)
|
||||
|
||||
// buffer
|
||||
|
||||
GLFUNC(PFNGLCREATEBUFFERSPROC, glCreateBuffers)
|
||||
GLFUNC(PFNGLBUFFERSTORAGEPROC, glBufferStorage)
|
||||
GLFUNC(PFNGLNAMEDBUFFERSTORAGEPROC, glNamedBufferStorage)
|
||||
GLFUNC(PFNGLMAPNAMEDBUFFERPROC, glMapNamedBuffer)
|
||||
GLFUNC(PFNGLMAPNAMEDBUFFERRANGEPROC, glMapNamedBufferRange)
|
||||
GLFUNC(PFNGLMAPBUFFERRANGEPROC, glMapBufferRange)
|
||||
GLFUNC(PFNGLFLUSHMAPPEDBUFFERRANGEPROC, glFlushMappedBufferRange)
|
||||
GLFUNC(PFNGLMEMORYBARRIERPROC, glMemoryBarrier)
|
||||
GLFUNC(PFNGLCOPYBUFFERSUBDATAPROC, glCopyBufferSubData)
|
||||
GLFUNC(PFNGLCOPYNAMEDBUFFERSUBDATAPROC, glCopyNamedBufferSubData)
|
||||
GLFUNC(PFNGLNAMEDBUFFERSUBDATAPROC, glNamedBufferSubData)
|
||||
GLFUNC(PFNGLGETNAMEDBUFFERSUBDATAPROC, glGetNamedBufferSubData);
|
||||
|
||||
// transform feedback
|
||||
|
||||
GLFUNC(PFNGLBEGINTRANSFORMFEEDBACKPROC, glBeginTransformFeedback)
|
||||
GLFUNC(PFNGLENDTRANSFORMFEEDBACKPROC, glEndTransformFeedback)
|
||||
GLFUNC(PFNGLTRANSFORMFEEDBACKVARYINGSPROC, glTransformFeedbackVaryings)
|
||||
|
||||
// sync / fence
|
||||
|
||||
GLFUNC(PFNGLFENCESYNCPROC, glFenceSync)
|
||||
GLFUNC(PFNGLCLIENTWAITSYNCPROC, glClientWaitSync)
|
||||
GLFUNC(PFNGLDELETESYNCPROC, glDeleteSync)
|
||||
|
||||
// debugging
|
||||
|
||||
GLFUNC(PFNGLOBJECTLABELPROC, glObjectLabel)
|
||||
GLFUNC(PFNGLDEBUGMESSAGECALLBACKPROC, glDebugMessageCallback)
|
||||
GLFUNC(PFNGLDEBUGMESSAGECONTROLPROC, glDebugMessageControl)
|
||||
|
||||
// wgl
|
||||
|
||||
#if BOOST_OS_WINDOWS > 0
|
||||
GLFUNC(PFNWGLSWAPINTERVALEXTPROC, wglSwapIntervalEXT)
|
||||
#endif
|
||||
|
||||
// x
|
||||
Loading…
Add table
Add a link
Reference in a new issue