gpt4 book ai didi

opengl - 多次调度相同的计算着色器

转载 作者:行者123 更新时间:2023-12-05 02:47:14 26 4
gpt4 key购买 nike

为同一个计算着色器多次调用 glDispatchCompute() 是否可能且安全,或者我必须一直等到着色器完成然后再次调度?

最佳答案

只要两个分派(dispatch)操作之间没有内存依赖性(即:您不是在访问前一个分派(dispatch)写入的数据),就应该没问题。否则,您将需要调用 glMemoryBarrier,并使用适合下一次分派(dispatch)访问数据的方式的位。

在两次分派(dispatch)之间更改实际统一变量(通过 glUniformglProgramUniform)是可以的。只要您通过实际的 API 调用(glBufferSubData 或在调度之间调用 glMapBufferRange)修改缓冲区的数据,更改 UBO 数据就可以了 .如果您通过指向持久映射的缓冲区数据的指针修改缓冲区的数据,那么您需要先进行完整的 CPU/GPU 同步,然后才能修改之前的调度调用读取的任何字节。

关于opengl - 多次调度相同的计算着色器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65111948/

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