Open n8allan opened 2 years ago
Hi @n8allan
If I understand, you have managed to get to this point:
EGLContext context = eglCreateContext(display, configs[configIndex], EGL_NO_CONTEXT, contextAttribs);
without initializing the display (since you do not have one)? Would you be able to share your code?
Here's the code so far.
I ran into a problem with the compute shader compiler complaining about not supporting ES 3.1, I deduced that it was probably my older version of the OS, so I've updated to 64-bit Bullseye. I now get the following GL info:
version: "2.1 Mesa 20.3.5"
shading language version: "1.20"
vendor: "Broadcom"
renderer: "V3D 4.2"
The mesa version is now newer, but it still doesn't list ES 3.1 as a supported version.
The error:
Error in compiling the compute shader
Compiler log:
0:1(10): error: GLSL ES 3.10 is not supported. Supported versions are: 1.10, 1.20, 1.00 ES, and 3.00 ES
0:0(0): error: Compute shaders require GLSL 4.30 or GLSL ES 3.10
It appears that the
resources->count_connectors
is 0 in my case. Perhaps I have something configured incorrectly, but I suspect that this is because I do not have an HDMI connector on the host board (this is intentionally designed as a headless board).It appears that the connector is used to find the encoder, which is used to get the Crtc (whatever that is) which appears to be used to change buffers in other places.
Technically I don't even need display buffer or to render anything, I'm just trying to run an OpenGL ES Compute Shader, but I figured this would be a good place to start in terms of getting GL running headless. I'm going to try to remove all the display buffer related code and get a compute shader running; does anyone know if that should work?
[click click click]
Okay, with removing all that, I appear to have gotten it to run through creating an
EGLContext
. I'm not certain, yet, but that might be all I need to proceed to compiling and running a compute shader.