首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenGL ES和Spir-V中的只读存储缓冲器

OpenGL ES和Spir-V中的只读存储缓冲器
EN

Stack Overflow用户
提问于 2019-02-21 05:41:28
回答 1查看 1K关注 0票数 0

在OpenGL ES着色语言中,着色器存储缓冲区对象(SSBO)可以使用限定符readonlywriteonly进行修饰。

OpenGL ES阴影语言版本3.1规范的4.9节(内存访问限定符)

着色存储块、在着色存储块中声明的变量和声明为图像类型的变量(基本的不透明类型,其关键字为“image”),可以使用以下一个或多个内存限定符进行进一步限定:.(列出了一个表)

所以我可以在opengl es着色器中得到这样的东西:

代码语言:javascript
复制
layout(std430, binding = 0) readonly buffer mybuffer {
        a_struct_type myarray[];  //a_struct_type was defined before
    };

但是如何在spir-v中指定只读呢?

spir-v规范 3.18节Access限定符中,它说:

由OpTypeImage和OpTypePipe使用。

这是否意味着,在spir-v中,SSBO不能指定为只读?我不认为SSBO属于OpTypeImage或OpTypePipe类型。

代码语言:javascript
复制
---------------------------------------------
 Resource Type  |  Storage Class |    Type       
---------------------------------------------
  Storage Buffer|  Uniform       |
                |----------------|  OpTypeStruct
                | Storage Buffer |
----------------------------------------------
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-21 05:53:52

合适的装饰品是非直观的NonWritableNonReadable

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54799985

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档