Maximum texture size on Arm Mali 400MP

I see that Arm mali supports 4K textures & i have verified this using below calls

GLint maxGPUTextureSize;

glGetIntegerv(GL_MAX_TEXTURE_SIZE, &maxGPUTextureSize);

My question is : In my GL application ,I have an textures which are of size more than 4K & it does get uploaded without any warnings or errors from driver.

What could be the suspected performance impact here, I have an mip-mapping enabled in my code.

Could the performance impact be only be at startup Or it could also impact run-time performance too.

Parents
  • Hi.

    It's impossible to give you an answer about the performance impact; it depends on the sampling pattern and LOD level selection. If you never pick from LOD zero the performance impact may be nothing more than the additional memory footprint (the large texture may never be accessed), if you start sparsely sampling from the additional large LOD 0 level then you may thrash the texture cache and the performance loss may be extreme.

    In addition note that at some point large textures will have a quality loss; there are only a finite number of bits of precision in the sample coordinates; for every additional 2^N of width you add you need one extra bit of sample coordinate (which you can't add) to maintain the sample accuracy of sub-pixel sample addressing. At some point that will start to cause problems, but it depends on texture size and the number of UV wrap multiples you expect to have (every wrap multiple of 2^N pixels effectively steals bits from the normalized zero-to-one range addressing accuracy).

    HTH,
    Pete

Reply
  • Hi.

    It's impossible to give you an answer about the performance impact; it depends on the sampling pattern and LOD level selection. If you never pick from LOD zero the performance impact may be nothing more than the additional memory footprint (the large texture may never be accessed), if you start sparsely sampling from the additional large LOD 0 level then you may thrash the texture cache and the performance loss may be extreme.

    In addition note that at some point large textures will have a quality loss; there are only a finite number of bits of precision in the sample coordinates; for every additional 2^N of width you add you need one extra bit of sample coordinate (which you can't add) to maintain the sample accuracy of sub-pixel sample addressing. At some point that will start to cause problems, but it depends on texture size and the number of UV wrap multiples you expect to have (every wrap multiple of 2^N pixels effectively steals bits from the normalized zero-to-one range addressing accuracy).

    HTH,
    Pete

Children
More questions in this forum