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