Hi,
I did the modifications only to get the code running in a small tessellation exercise I wrote a while back. I didn’t want to change much on the CPU side, so I just used the uniform buffer objects that were passed in already.
On the CPU side I didn’t specify the attribute binding, so I had to do it in GLSL. Doing this in GLSL is just a personal favor.I think the performance win isn’t that big. It’s more that I like that sort of grouping as it reminds me of constant buffers in Dx.
is that a performance win, or you just like to use uniforms this way?
For all uniform parameters I utilized a uniform buffer object, e.g.:layout(std140) uniform TessFactor { float tess_level_inner; float tess_level_outer; };Sorry, I neither have an AMD at home nor in the lab.I guess this is the relevant bit. I have an AMD Radeon HD 5670 (Linux, 64 bit, same problem on Win 7 64 bit with same drivers) with newest drivers. So can you please verify the code on AMD as well? Because if thats the problem, then I guess I should contact the AMD dev guys to fix this...
It works on my end. I tested on a GeForce 460 GTX (Win 7, 64 Bit).
I attached the code so you can test it yourself.
Yes, you should probably report this to AMD if it turns out to be some sort of bug.
Cheers!
Thank you
Well I had to do some modifications to get it running, but eventually it was running, so I guess I'm doing something wrong.
I've attached the modified code. (tessellation.dom, and Tessellation_end.cpp, plus file renamings and I added headers, libs and dlls)