vindast

OpenGL sparse texture : memory leaking 

Discussion created by vindast on Sep 14, 2020
Latest reply on Sep 17, 2020 by vindast

I trying to implement sparse texture array.

I think I found a bug in the Amd driver, or i am doing something wrong.

 

On sparse array texture i get memory leaking:

Opengl memory leak on amd - YouTube

 

Texture format:

rgba8

 

Resolution:

1024 * 1024, 11 mip levels

 

Sourses:

Render/GLSparseTextureArray.h at master · vindast/Render · GitHub 

Render/GLSparseTextureArray.cpp at master · vindast/Render · GitHub 

 

Min exe, which produces this bug:

https://yadi.sk/d/VOjT0uZ8uhRdWw

System requirements: opengl 4.5, avx2

 

I found two scenarios:

 

case 1:

press button "create sparseTexture buffer"

enable "bDrawOnAllocation"

press button "create texture"

-> memory leak occur after glTexPageCommitmentARB and acces to texture in shader

 

case 2:

press button "create sparseTexture buffer"

press button "create texture"

press button "load texture"

-> memory leak occur after glTexPageCommitmentARB and try to update 0 mip level by glTexSubImage3D without acces to texture in shader

 

important information:

bug occur for layer count more then 512. (i get 2048 for GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB and GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_AMD)

for 512 not occur, if i have one GLSparseTextureArray object

for 513 occurs.

 

No gl errors get by glGetError().

 

Tested on:

rx 480 8gb, last driver : memory leak (win 10)

AMD Vega 8, new driver :  loaded, no memory leak, driver shutdown after a while (win 10)

nv gtx850m - ok, old driver (win 8.1)

GTX 1050 - ok, new driver

 

I think, my problem same like this:

OpenGL ARB_sparse_texture (Driver crash, texture issues) 

 

Sorry for the bad English

Outcomes