Part of the Khronos Group
OpenGL.org

The Industry's Foundation for High Performance Graphics

from games to virtual reality, mobile phones to supercomputers

Results 1 to 3 of 3

Thread: NVIDIA 310.* crashes when compiling GLSL using "restrict" keyword on image unit

Hybrid View

  1. #1
    Junior Member Newbie
    Join Date
    Mar 2011
    Location
    Australia
    Posts
    25

    NVIDIA 310.* crashes when compiling GLSL using "restrict" keyword on image unit

    title says it all.

    declare any image unit from the image load store extension will cause a crash on the call to compile the shader, eg:
    layout(size4x32) uniform imageBuffer restrict data;

    specifying restrict before the image keyword does not cause a crash. Howver, this defies the specs:
    layout(size4x32) uniform restrict imageBuffer data;
    layout(size4x32) restrict uniform imageBuffer data;
    restrict layout(size4x32) uniform imageBuffer data;

    (from: http://www.opengl.org/registry/specs...load_store.txt)
    ``For "coherent", "volatile", and "const", the qualifier should typicallygo before the image type. For "restrict", the qualifier must go after
    the image type, since "restrict" applies to the pointer, not the data
    being pointed to.''
    Last edited by sleap; 11-23-2012 at 02:27 AM.

  2. #2
    Junior Member Regular Contributor
    Join Date
    Mar 2009
    Posts
    153
    If you are using ARB_shader_image_load extension you should use ARB style formats so: rgba32f (in your case) there is no size4x32 format in ARB version of this extension (only in EXT). Memory qualifiers are: 'coherent', 'volatile', 'restrict', 'readonly' and 'writeonly' (there is no 'const' qualifier in ARB version).

    This declaration works as expected:
    layout(rgba32f) uniform imageBuffer restrict data;
    Last edited by randall; 11-23-2012 at 07:03 AM.

  3. #3
    Junior Member Newbie
    Join Date
    Mar 2011
    Location
    Australia
    Posts
    25
    Thanks for the response. I'm aware of the two formats. They both work for me but I've just chosen size4x32 as it works on my ATI card.

    Your declaration still causes a crash with my 310.19 drivers.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •