Feature: Pipeline-controlled GLSL version or OpenGL feature management
spiralhalo opened this issue ยท 0 comments
Actively manage the required GLSL/OpenGL version used by the pipeline and restrict arbitrary #version
directive in post shaders for a more robust system requirement management. The ideas proposed are:
- Pipeline can request a specific GLSL/OpenGL version,
- Canvas detects the system's supported OpenGL version and hides or disable unsupported pipelines in the form of log message or a GUI element,
#version
header is provided by Canvas (or Frex) according to the requested GLSL version. Optionally, detect and suppress existing#version
directive.
Note that at the moment there isn't any presented use case for this except for compute shaders.
- Alternatively Canvas's pipeline API can provide a list of optional "extended features" such as compute shaders which pipelines can request and Canvas infers the required GLSL version automatically (the rest of the points still stand).