Arm Community
Site
Search
User
Site
Search
User
Groups
Education Hub
Distinguished Ambassadors
Open Source Software and Platforms
Research Collaboration and Enablement
Forums
AI and ML forum
Architectures and Processors forum
Arm Development Platforms forum
Arm Development Studio forum
Arm Virtual Hardware forum
Automotive forum
Compilers and Libraries forum
Graphics, Gaming, and VR forum
High Performance Computing (HPC) forum
Infrastructure Solutions forum
Internet of Things (IoT) forum
Keil forum
Morello forum
Operating Systems forum
SoC Design and Simulation forum
SystemReady Forum
Blogs
AI and ML blog
Announcements
Architectures and Processors blog
Automotive blog
Graphics, Gaming, and VR blog
High Performance Computing (HPC) blog
Infrastructure Solutions blog
Internet of Things (IoT) blog
Operating Systems blog
SoC Design and Simulation blog
Tools, Software and IDEs blog
Support
Arm Support Services
Documentation
Downloads
Training
Arm Approved program
Arm Design Reviews
Community Help
More
Cancel
Support forums
Graphics, Gaming, and VR forum
Mali 400 - Video memory available
Jump...
Cancel
Locked
Locked
Replies
3 replies
Subscribers
136 subscribers
Views
7074 views
Users
0 members are here
Mali-GPU
Mali-400
Options
Share
More actions
Cancel
Related
How was your experience today?
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion
Mali 400 - Video memory available
Jean-Georges Levieux
over 11 years ago
Note: This was originally posted on 6th September 2012 at
http://forums.arm.com
Hello,
We are developping a 3D game on a platform that has a Mali-400 MP4. I have a question about the video memory really available: the global chip has about 1go of memory (we can do 11 new of 100Mb each before to get a NULL pointer) but the memory available for graphics data seems quite low. Here is the code we used to check the available memory for both texture and VBO (tested seperatly):
// Vbo memory test.
while (CheckGLError("Flush before VBO") == true); // Flush all previous errors.
int const nSizeVBuffer = 512*1024;
static char pDataVBuffer[nSizeVBuffer];
int nNbVBO = 0;
do
{
GLuint nVBufferID = 0;
glGenBuffers( 1, &nVBufferID );
glBindBuffer( GL_ARRAY_BUFFER, nVBufferID);
glBufferData( GL_ARRAY_BUFFER, nSizeVBuffer, pDataVBuffer, GL_STATIC_DRAW);
nNbVBO++;
CPrintf::AddTextFile("Generate VBO %d (%d)\n", nNbVBO, nVBufferID);
} while (CheckGLError("VBO Loading") == false);
// Here we "transfer" about only 70Mbytes before the GLerror.
// Texture memory test.
while (CheckGLError("flush before Textures") == true); // Flush all previous errors.
int const nW = 256;
int const nH = 256;
static char pTabPixel[nW * nH * 4];
int nNbTexLoaded = 0;
do
{
GLuint nTexId;
glGenTextures ( 1, &nTexId);
glBindTexture ( GL_TEXTURE_2D, nTexId);
CPrintf::AddTextFile("Generate texture %d (%d)\n", nNbTexLoaded, nTexId);
glTexImage2D ( GL_TEXTURE_2D, 0, GL_RGB, nW, nH, 0, GL_RGB, GL_UNSIGNED_BYTE, pTabPixel);
nNbTexLoaded++;
} while (CheckGLError("Texture loading") == false);
// Here we "transfer" about only 90Mbytes before the GLerror.
So, in the best case it seems we have less than 100Mb of memory available for texture, vbo and ibo.
Does it seems a "normal" behavior or do we miss something? Could it be specific to the platform we are developping on (don't ask which one I cannot say)? Is there any way to have more "graphic" memory on Mali GPU?
Thank you in advance for your answers....
Regards,
Parents
Jean-Georges Levieux
over 11 years ago
Note: This was originally posted on 7th September 2012 at
http://forums.arm.com
Hello,
Thank you for the answer.
Unfortunately we are not building the driver, it's done by the vendor and linked dynamically at the launch of the application (we do not even have the lib files and we cannot change them by any way).
Just to have an additionnal information to talk with the vendor: does it means that when memory is allocated for the GPU it's not more available for the system (CPU)? So, if you need a lot of system memory for CPU usage you have to limit the GPU memory allocated in the driver? The memory cannot be shared as it's possible on some other GPU/System?
Regards,
Cancel
Up
0
Down
Cancel
Reply
Jean-Georges Levieux
over 11 years ago
Note: This was originally posted on 7th September 2012 at
http://forums.arm.com
Hello,
Thank you for the answer.
Unfortunately we are not building the driver, it's done by the vendor and linked dynamically at the launch of the application (we do not even have the lib files and we cannot change them by any way).
Just to have an additionnal information to talk with the vendor: does it means that when memory is allocated for the GPU it's not more available for the system (CPU)? So, if you need a lot of system memory for CPU usage you have to limit the GPU memory allocated in the driver? The memory cannot be shared as it's possible on some other GPU/System?
Regards,
Cancel
Up
0
Down
Cancel
Children
No data