
[英]Compute shader won't write to texture
我正在将一个应用程序从 Windows 移植到 Ubuntu 20.04,我的计算着色器都不会写入纹理。 我在下面的程序中重现了这个问题。 我将纹理初始化为零,在着色器运行后纹理仍然填充有零。 ...
[英]Compute shader won't write to texture
我正在将一个应用程序从 Windows 移植到 Ubuntu 20.04,我的计算着色器都不会写入纹理。 我在下面的程序中重现了这个问题。 我将纹理初始化为零,在着色器运行后纹理仍然填充有零。 ...
[英]Rust Vulkano creation of compute pipeline does not work and freeze my video card
我正在尝试将着色器加载到 amd 视频卡中。 创建所有缓冲区后,我尝试创建一个新的计算管道。 当我开始调试它打印消息时,我发现“完成创建计算管道”从未被打印出来。 当我用 `cargo run --release` 运行它时,它会打印:“Creating pipeline with shader”, ...
[英]what are the common used fast Edge Detection Algorithm using GPU shader(glsl, hlsl, not CUDA)?
使用 GPU 着色器(glsl、hlsl,而不是 CUDA)的最快边缘检测算法是什么? 只是片段着色器,只是图像处理,不管图像是彩色的还是灰色的具有普通缓冲区和深度缓冲区的颜色缓冲区。 ...
[英]GL_R32UI Single Channel Texture Buffer Utilization
glGenTextures(MAX_TEMP_ARRAY_NUMBER, m_array_buffers); for (int i = 0; i < MAX_TEMP_ARRAY_NUMBER; i++) { glBindTexture(GL_TEXTURE_2D, m_array_b ...
[英]Why are half my uniforms missing when initializing a compute shader using python modernGL?
问题是:我正在用 python 创建一个计算着色器,用于使用 modernGL 进行辐射传输。 但是在创建时,它不包含我在着色器代码中声明的所有制服。 这是我的(简化的)python 代码: 这是着色器源文件“src_code”的头部: 当我尝试列出包含在计算着色器对象中的制服时,几乎有一半不见了 ...
[英]How should I make multithreaded program that uses GPU for computation?
我正在制作使用计算着色器的模拟程序,但遇到了问题。 我目前正在使用 OpenGL 上下文来呈现 GUI 内容以控制和观看模拟。 我使用相同的上下文来调用 glDispatchCompute。 这可能会导致程序 window 冻结,因为模拟可能在任何 UPS 中运行(例如每秒 0.1 - 10000 ...
[英]Do two consecutive DirectX 12 Dispatch() calls run sequentially or concurrently on the GPU?
当连续运行两个Dispatch()调用时,例如: 是否保证第二个Dispatch()将在 GPU 上的第一个Dispatch()之后运行? 或者,它们可以在 GPU 上同时运行吗? 澄清一下,在这两个Dispatch()调用之间不再有 C++ 代码。 ...
[英]Is it possible to terminate (compute) shader execution in OpenGL?
我有一个计算 Mandelbrot 集的计算着色器。 对于更深的缩放,这可能需要几分钟。 是否可以终止计算着色器(例如,如果我在计算时平移或更改缩放比例)? 我正在使用 C++。 我想我可以让着色器分阶段进行计算,并在 CPU 端检查参数是否已更改。 但我认为这会降低性能并且会使代码有点混乱... ...
[英]Problem generating Perlin Noise in HLSL from C# working code
我正在尝试根据有效的 C# 代码编写 Compute-Shader Perlin Noise 代码。 问题是我只有光滑的点。 左侧 C# 工作,右侧计算着色器,两者均具有此值 如果我降低频率,点会变大: 这是我正在使用的代码 #pragma kernel CSMain RWTexture2D& ...
[英]Why does my vulkan compute shader receive a 0.0 float as -170146355474918162907645410264962039808.0?
我正在开发一个小型 vulkan 应用程序,它利用计算着色器来转换一些几何数据。 此数据通过多个存储缓冲区发送到单个计算着色器。 为了确保一切都按预期到达我的计算着色器(没有字节 alignment 问题等),我临时创建了一个 output 缓冲区,我只需将输入数据复制到 GPU 端并将其从 CP ...
[英]Compute shader can't get result image
我正在使用计算着色器获取 colors 的列以匹配条件,我想获取结果以进行进一步处理。 我想获取image1D imgOutput中的output数据,但是get_img什么也获取不到,是我做错了吗? 第一个块中的纹理之前已经生成。Shader spriteRowProgram, spriteCol ...
[英]Binding size '...' is larger than the maximum binding size (134217728)
我想处理 GPU 上的大量数据。我编写了简单的测试着色器,它只是使数组元素为负数。 这里是:@group(0) @binding(0) var<storage, read> sourceArray : array<f32>; @group(0) @binding(1) va ...
[英]Why I can't enable webgpu in Google Chrome?
我正在尝试在我的 web 应用程序中使用webgpu 。 我找到了关于如何使用 WebGL 计算功能的指南。 我启用#enable-webgpu-developer-features标志,甚至使用--enable-unsafe-webgpu选项运行 Google Chrome。 但是在调用canv ...
[英]OpenGL compute shaders producing incorrect texture coordinates from invocation ID
我有一个计算着色器,它对深度 sampler2D 进行采样,但是当使用 texture() 时,结果很奇怪,有一些锯齿状的边缘。 如果我使用 texelFetch() 那么它工作正常,所以我猜它是获取正确纹理坐标的问题? 仅供参考,采样器使用最近的过滤并且没有 mips。 这是使用texelFetc ...
[英]How to increment numbers in hlsl
我是着色器的新手,我不知道如何在计算着色器(HLSL)中增加数字。 很明显上面的代码不起作用。 i++ 导致竞态条件(顺便说一句,我在几个小时前了解了竞态条件)。 我在 RWStructuredBuffer 方面取得了部分成功。 我读了一些 MS 文档,要么他们的文档很烂,要么我的脑细胞很烂。 如 ...
[英]Understanding of Buffer index in compute shader
计算着色器脚本: c# 脚本: 这些是测试结果中的值的代码。 我不明白 result[id] = id; 线。 没错, result[id] 。 使用索引访问缓冲区。 在google的时候,我看到一个帖子说着色器function执行的线程数一样多。 那么在上述情况下,导致 numthreads(8 ...
[英]Updating constant Buffer in a compute shader
我创建了一个简单的程序来测试计算着色器。 只需传递一些 VERTEX 和一个常量缓冲区。 计算着色器将常量缓冲区中的值添加到顶点,并将顶点放入可附加缓冲区中。 然后我恢复可附加缓冲区并查看结果。 结果是常量缓冲区仅在第一次更新,所以我总是得到相同的结果。 这是我的计算着色器: 常量缓冲区: 每次按下 ...
[英]Num Threads trade-off in non-parallelizable work
我一直是个好孩子,并且并行化了我的计算着色器以执行 955 个线程进行 20 次迭代[numthreads(955, 1, 1)] void main( uint3 pos : SV_DispatchThreadID ) { ... for (uint i = 0; i < 2 ...
[英]How to mitigate CPU to GPU bottleneck
我正在使用 ComputeSharp 库在大量数据上运行计算着色器。 数据集大约 10GB,分成更小的(大约 3Gb)块供 GPU 处理。 问题是每个部分都需要大约 1 秒的时间来加载、计算和返回,即使计算几乎是即时的。 我正在寻找一种方法来加快速度,因为现在它在某些情况下会被 CPU 超越。 更多 ...
[英]bit shift operation in parallel prefix sum
该代码是从OpenGL-Superbible 10并行计算前缀总和。 所示着色器的本地工作组大小为 1024,这意味着它将处理 2048 个元素的 arrays,因为每次调用都会计算 output 数组的两个元素。 共享变量 shared_data 用于存储正在运行的数据。 执行开始时,着色器将两个 ...