Compute Shader returns error but OpenGL version supports it

I tried using a compute shader in my project and got the error “Compute Shaders are not supported for OpenGL on this platform.”

To rule out any issues on the part of my PC, I updated my drivers and confirmed that my PC runs OpenGL 4.6. I think it should run compute shaders without any issue. I will use compute shaders with a C++ library to confirm that compute shaders work on my PC.

Note: Windows 11 not 10 as seen in the image.

I thought to print out graphics.adapter_info()and saw that there is an issue with compute shaders in the engine.
the adapter info returns

  family = "opengl",
  version_major = 4,
  version_minor = 6,
  features = { --[[000001E8CC49A4B0]]
    1 = 0,
    2 = 1,
    3 = 4,
    4 = 5,
    5 = 6,
    6 = 7,
    7 = 8
  },
  limits = { --[[000001E8CC493FA0]]
    max_compute_workgroup_size_y = 0,
    max_compute_workgroup_size_z = 0,
    max_compute_workgroup_invocations = 0,
    max_compute_shared_memory_size = 0,
    max_uniform_buffer_range = 65536,
    max_storage_buffer_range = 0,
    max_texture_size_2d = 16384,
    max_texture_size_3d = 2048,
    max_texture_size_cube = 16384,
    max_texture_array_layers = 2048,
    max_framebuffer_width = 16384,
    max_framebuffer_height = 16384,
    max_color_attachments = 8,
    max_samplers_per_stage = 32,
    max_textures_per_stage = 32,
    max_vertex_attributes = 16,
    max_vertex_buffers = 16,
    max_compute_workgroup_size_x = 0
  },
....

In the limits table, everything related to the compute equals zero which explains the error.

    max_compute_workgroup_size_y = 0,
    max_compute_workgroup_size_z = 0,
    max_compute_workgroup_invocations = 0,
    max_compute_shared_memory_size = 0,

This seems to be an engine level issue.

Has anyone else encountered this issue?

It has been fixed in the latest alpha, sorry for the inconvenience!

2 Likes

Oh that’s nice. Thanks for your reply.