glGenerateMipmap需要哪个内存屏障?

rdb*_*rdb 8 opengl glsl mipmaps memory-barriers

我使用GL_ARB_shader_image_load_store写入纹理的第一个mipmap级别.文档说明我需要在其他操作中使用此图像的内容之前调用glMemoryBarrier,以便适当地刷新缓存.

例如,在我执行glTexSubImage2D操作之前,我需要发出GL_TEXTURE_UPDATE_BARRIER_BIT,在使用对该纹理进行采样的着色器发出绘制调用之前,我需要发出GL_TEXTURE_FETCH_BARRIER_BIT.

但是,在确保glGenerateMipmap将使用最近写入的数据之前,我需要发出哪个障碍?

Nic*_*las 4

OpenGL 4.6 规范澄清了这一点:

执行此减少之前所需的任何同步都将在命令本身内完成Generate*Mipmap

所以你不需要任何类型的同步。如果您以任何方式将数据写入基本 mipmap 级别,glGenerateMipmap则将执行足够的同步以使读取工作正常。

鉴于此,这可能是一个真正的鉴于此,在渲染帧的过程中不要调用它

先前的规范没有答案,尽管此错误报告中的信息表明先前的实现完全符合上述要求