I've downloaded a branch and I've been wanting to experiment with the Dolphin rendering pipeline. However, I need access to OpenGL 4.0 functions.
1) I'm not entirely sure what's going on in the /GLExtensions/ directory. I tried following what was done for say, the gl 3.2 header but I still get undefined reference linker errors.
2) How/where in CMake are you linking OpenGL? Because it seems like it's using MESA even though I need it to link against the property nVidia drivers to get OpenGL 4.x. MESA doesn't support OpenGL 4.x enough at this time.
3) I read in the patch notes you guys removed GLEW. Why is that? How is your current system better? Was it solely for Android support? What was the rational? I couldn't find much details in the git notes--unless I missed them or don't know where to look.
4) Perhaps this is a silly question but is OpenGL ES solely used for mobile ports, or are you somehow using it for the desktop ports as well instead of plain OpenGL? I noticed version ES in the shaders.
Thank you for your time.
[edit] I've made progress. The functions seem to be working. However, I'm having trouble figuring out how the shaders and vertices are set up.
The main function that's doing drawing is VertexManager:
raw, correct? And each time it's called, it's expecting to draw a strip of triangles. Is this function called per object? Per frame? Entirely dependent on the game code?
How are the shaders set up? It seems like you've got ones for texture conversion, rendering, and more. What are the ones that are primarily active during a game?
Additionally, could you give me some general info about what's going on in ProgramShaderCache::SetShader?
1) I'm not entirely sure what's going on in the /GLExtensions/ directory. I tried following what was done for say, the gl 3.2 header but I still get undefined reference linker errors.
2) How/where in CMake are you linking OpenGL? Because it seems like it's using MESA even though I need it to link against the property nVidia drivers to get OpenGL 4.x. MESA doesn't support OpenGL 4.x enough at this time.
3) I read in the patch notes you guys removed GLEW. Why is that? How is your current system better? Was it solely for Android support? What was the rational? I couldn't find much details in the git notes--unless I missed them or don't know where to look.
4) Perhaps this is a silly question but is OpenGL ES solely used for mobile ports, or are you somehow using it for the desktop ports as well instead of plain OpenGL? I noticed version ES in the shaders.
Thank you for your time.
[edit] I've made progress. The functions seem to be working. However, I'm having trouble figuring out how the shaders and vertices are set up.
The main function that's doing drawing is VertexManager:

How are the shaders set up? It seems like you've got ones for texture conversion, rendering, and more. What are the ones that are primarily active during a game?
Additionally, could you give me some general info about what's going on in ProgramShaderCache::SetShader?