-
Notifications
You must be signed in to change notification settings - Fork 217
kdrive/fbdev: Various glamor fixes and improvements #1840
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
base: master
Are you sure you want to change the base?
Conversation
62bfc59 to
a49300f
Compare
a49300f to
e24b1b1
Compare
This brings Xfbdev's glamor code in line with glamor/glamor_egl.c Signed-off-by: stefan11111 <[email protected]>
e24b1b1 to
41d0b36
Compare
Signed-off-by: stefan11111 <[email protected]>
8e36eb1 to
e97cf96
Compare
6af46c0 to
68b0649
Compare
68b0649 to
8831a33
Compare
|
@metux @cepelinas9000 @notbabaisyou @X11Libre/dev With glamor egl, even if hw accelerated, in some cases it will end up slower that with just llvmpipe with the dri glx backend. However, with glamor egl, I get better performance in games (even if not for general desktop use), and I can get vulkan working (no Idea how that works, there is no DRI3 here, but it does). Should we just always enable glamor egl, and let the user switch it off with |
Signed-off-by: stefan11111 <[email protected]>
8831a33 to
012839f
Compare
How does that happen ? Haven't checked the exact relation between glamor and GLX yet. I can imagine that when using GLX & glamor, both might somehow getting in conflict into each other, stalling each other down.
Why should Vulkan depend on DRI3 ?
Running 2D ops ontop of softpipe probably is slower, so perhaps fall back to optimized CPU code here. |
3499c0c to
b6b72b4
Compare
My guess is that it's because gpu's usually draw into tiled buffers (when using drm), while a framebuffer is linear (in the ideal case). From my testing, I get lower fps in glxgears when using nvidia's gl through glamor egl, but I get better performance in games, compared to just running llvmpipe with the dri glx backends. (softpipe is abysmally slow)
Ironically, despite all of nvidia's problems regarding rendering with egl to linear buffers, I couldn't get intel's gl from mesa working with this. I was only able to get nvidia's gl working, and use that for intel.
I doubt that is the case.
This is what happens when trying to run vkgears on top of llvmpipe.
So we should do it like in |
Mesa has a hard requirement for DRI3, refusing to use their X11 WSI backend if it isn't available.
GLAMOR has a GLX provider that replaces Mesa's DRIL for providing DRI2 setup and GLX FBconfig's. @stefan11111 You could try patching the GLX provider to refuse setup on FBDEV through a custom GLAMOR flag in
GPUs tile everything possible to reduce memory bandwidth demands.... |
What would that achieve? |
|
Hmph, was thinking that it was a GLX/DRI2 issue. Probably isn't it. |
I ended up doing this the other way around. In |
ff491a5 to
7ecfd52
Compare
|
@metux @notbabaisyou @X11Libre/dev |
3c7b9ca to
eea7729
Compare
This makes it so that glamor glx can properly initialize and choose hw accelerated `FBConfig`s, instead of just using softpipe/llvmpipe. This commit fixes the issue described in X11Libre#1832 (comment) Now, `FBConfig`s corresponding to the choosen accelerated `EGLDevice` are choosen by `glXChooseFBConfig`. Signed-off-by: stefan11111 <[email protected]>
With this, `glamor_init` initializes only what is needed for the glx provider, and does not accelerate the X server's rendering. Xfbdev now checks for the gl renderer, and if it is softpipe or llvmpipe, it only initializes the glx provider. This behavior can be overridden with command-line flags Signed-off-by: stefan11111 <[email protected]>
eea7729 to
3d47cf0
Compare
kdrive/fbdev: Allow forcing glamor to create GL/GLES contexts
This brings Xfbdev's glamor code in line with glamor/glamor_egl.c
This patch also fixes #1832 (comment)