gpt4 book ai didi

opengl - glGenerateMipmap 需要哪个内存屏障?

转载 作者:行者123 更新时间:2023-12-02 09:47:52 24 4
gpt4 key购买 nike

我已使用 GL_ARB_shader_image_load_store 写入纹理的第一个 mipmap 级别。文档指出,在其他操作中使用该图像的内容之前,我需要调用 glMemoryBarrier,以便适本地刷新缓存。

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

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

最佳答案

OpenGL 4.6 规范澄清了这一点:

Any synchronization required before performing this reduction will be done within the Generate*Mipmap commands themselves.

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

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

之前的规范没有给出答案,尽管此错误报告中的信息表明 prior implementations did exactly the above .

关于opengl - glGenerateMipmap 需要哪个内存屏障?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24693861/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com