Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OpenGL ES support #8

Closed
elkhalafy opened this issue Jun 4, 2018 · 25 comments
Closed

OpenGL ES support #8

elkhalafy opened this issue Jun 4, 2018 · 25 comments

Comments

@elkhalafy
Copy link

elkhalafy commented Jun 4, 2018

Hello

I have OpenGL Version 2.1 and I want run Blender 2.80 that support OpenGL 3.3 minimum, so I downloaded Mesa 3d for windows and it requires ( libglpi.dll ) please I want it for Important ?

Thanks

@elkhalafy elkhalafy changed the title lipgles.dll for Important lipglapi.dll for Important Jun 4, 2018
@pal1000
Copy link
Owner

pal1000 commented Jun 4, 2018

I'll try to add it hopefully this weekend.

@pal1000 pal1000 changed the title lipglapi.dll for Important Support for glapi and shared-glapi targets Jun 4, 2018
@elkhalafy
Copy link
Author

Thank you very much for support it in next releases, I waiting for it,

In fact I can't build it by myself cause This first time in my whole life use Mesa 3D, and I used it cause Blender 2.80, and I have OpenGL 2.1 and I need to use Blender 2.8 without depend upon My Graphics Card, the issue here is Mesa lack of features and also very low,
but no problem, I will try this time using libglapi.dll and I wish it works fast

Thank you

@pal1000
Copy link
Owner

pal1000 commented Jun 5, 2018

I downloaded a blender 2.80 64-bit build. I'd like to know how to trigger that DLL request as it doesn't happen for me when I start blender. Possibly some user action is involved to get there. For me everything looks right. I have a GPU that only supports OpenGL 3.1 and just like in your case it doesn't work without Mesa3D. On the bright side blender is written well enough to request OpenGL core profile so we don't have to deal with OpenGL version, GLSL version and context override to get it working.

@pal1000
Copy link
Owner

pal1000 commented Jun 5, 2018

I was successful on building libglapi.dll. It builds using the same method as swr driver. Pass gles=1 to scons build command and that's it. I made some research and this seams to be Mesa3D OpenGL ES driver. To be honest I am surprised to get a request for OpenGL ES support. This is atypical on Windows but it doesn't increase the build time by much and the non-shared library is less than 1MB in size so I will definitely include it in next release. For now you can work with this 64-bit libglapi.dll. Note that you need to replace Mesa3D opengl32.dll with the one from the archive or else you may come back asking for more help,

@pal1000 pal1000 added this to the 18.1.2.600-1 milestone Jun 5, 2018
@pal1000 pal1000 changed the title Support for glapi and shared-glapi targets Support for OpenGL ES Jun 5, 2018
@pal1000 pal1000 changed the title Support for OpenGL ES OpenGL ES support Jun 5, 2018
@elkhalafy
Copy link
Author

Thank you very much for support it, I don't it's OpenGL ES, I wish see it next releases for Mesa 3d for windows and next updates as official release with your version

Notice: Your build for win 64bit and I have 32bit windows and hardware, so please build it for Win 32bit too, build it for both 32&64bit

Thank you again, and I wait 32bit to test blender 2.8

Thanks

@pal1000
Copy link
Owner

pal1000 commented Jun 6, 2018

I have some bad news for you. When attempting to add GLES support I discovered that osmesa off-screen rendering driver which is also part of the build and GLES cannot coexist, maybe due to a bug in Mesa. The workaround is easy in theory but complex in practice as I need to do 2 builds: one with GLES and one with osmesa.
Mesa master is affected too. I'll probably post a minimal build (llvmpipe with GLES and nothing else) to have an interim solution.

@pal1000
Copy link
Owner

pal1000 commented Jun 7, 2018

I posted a package named mesa3d-gles to the last release with both 32-bit and 64-bit llvmpipe with GLES support and the GLAPI shared library. It should be enough for OpenGL and OpenGL ES mixed development.
Please reopen if you need further assistance,

@pal1000 pal1000 closed this as completed Jun 7, 2018
@elkhalafy
Copy link
Author

Thank you very very much, and this Is Good News, I will test it and I wish see Blender works faster

@elkhalafy
Copy link
Author

One question please ?

Is there any way to make Blender 2.8 Faster ?

The problem from Mesa 3D itself so there is any solution from you to make Mesa 3d Faster ??

@pal1000
Copy link
Owner

pal1000 commented Jun 7, 2018

I can't make it any faster. I am building following the documentation. Theoretically building on a system with latest generation CPU could make it faster but there is no guarantee and I don't have access to better hardware then what I posted in buildenvconf.md.

@elkhalafy
Copy link
Author

Got It, Thank you

pal1000 added a commit that referenced this issue Jun 11, 2018
@elkhalafy
Copy link
Author

please final attempt, May you build Mesa 3d using OpenSwr for 32bit ?

maybe this time makes blender faster, Just test, if you would not mind

Thanks

@pal1000
Copy link
Owner

pal1000 commented Jun 12, 2018

I checked swr and is generally slower than llvmpipe especially on old generations CPUs and requires a CPU with AVX support minimum which means SandyBridge (2nd generation Intel Core) and up. Also a SandyBridge system's integrated graphics has OpenGL 3.1 on Windows. Considering your iGPU only has OpenGL 2.1 support as you stated, it means your CPU is unlikely to have AVX support. Also 32-bit builds of swr were crashing since Mesa 17.3 so I dropped them as I received official word of them being unsupported, see here.

@elkhalafy
Copy link
Author

slower than llvmpipe

so no Good way or solution to make mesa 3d faster
anyway no problem, Thanks

@pal1000
Copy link
Owner

pal1000 commented Jun 14, 2018

The next release will also have OpenMP support enabled which at least makes the DLLs smaller. Didn't see any performance boost unfortunately, but who knows.

@elkhalafy
Copy link
Author

so the next release will supporting or enabling OpenMP, and this will makes Mesa 3D Faster ??

I need at least Good performance fast a little, that's all, but I wait, Thank you for your big efforts

@pal1000
Copy link
Owner

pal1000 commented Jun 15, 2018

You won't have to wait long as Mesa 18.1.2 release candidate is already out:
https://lists.freedesktop.org/archives/mesa-announce/2018-June/000436.html
I'll enable OpenMP support for it. I am not venturing on enabling floating-point textures and renderbuffers though despite having support for it due to patent issues. I ventured with S3TC because it was close to expiration and it was requested.

@elkhalafy
Copy link
Author

OK, Good, I wish see it Good with blender 2.8 this time and fix main issue, slow rendering

I wait for it, maybe it will be Good solution

but you will only depend on OpenMP, so you would not build it as another version with llvmpipe??

Thanks

@pal1000
Copy link
Owner

pal1000 commented Jun 15, 2018

OpenMP support is activated via build option for all supported drivers, llvmpipe included. There is no extra dependency involved and there is no need to make a separate build. I think OpenMP support comes from the compiler itself, which means Visual Studio. I'll turn it on on every release from now on unless a nasty bug is reported or I hit one during build process as I encountered with osmesa when I first tried OpenGL ES support. I managed to workaround it after a bit of brainstorming, but the result is an ugly hack which I don't like and of course it involved a trade-off. Fortunately it is self contained, meaning only osmesa has regressions and it can't use OpenGL ES.

@pal1000
Copy link
Owner

pal1000 commented Jun 16, 2018

Posted Mesa 18.1.2 builds. I enabled OpenMP and as much as I could of OpenGL ES stack - GLES, GLAPI and OpenGL ES drivers. I didn't figure out how build libEGL..dll if that is even possible. Also I have no control over what build target convinces Mesa3D to include OpenGL ES drivers. It only happens if all build targets are selected which is exactly what happens with express configuration. If you don't specify any build target then it builds all of them.

@elkhalafy
Copy link
Author

so this build version, built it with OpenMP even OpenGL ES

I will give test for it using blender

@elkhalafy
Copy link
Author

get back to old mode for building, I think llnmpipe mode is Good so far

@pal1000
Copy link
Owner

pal1000 commented Jun 17, 2018

Thanks for testing and suggestion but I unexpectedly found other reasons to enable OpenMP even if there is no performance difference:

  • faster build ( cuts off 5-10 min from a build without swr and 15-20 min from a build where also swr is included);
  • smaller binaries, especially where swrast is a large part of the driver, most obvious with swr for AVX2 capable CPUs.

@elkhalafy
Copy link
Author

OK, Got it, No problem with me,

@pal1000
Copy link
Owner

pal1000 commented Feb 26, 2019

First you shouldn't hijack other issues to post your concern especially when you are clearly off-topic. Though I see you are a newbie so the easiest way to get started is to read the documentation, the readme file that is displayed on the project front page. Reading the docs is mandatory you can't escape it. At minimum you need to read installation and usage section.

Repository owner deleted a comment from jhorgint Nov 21, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants