Pierre-Loup A. Griffais
30d8582b62
Ding dong the witch is dead!
2020-01-01 15:30:38 +09:00
Pierre-Loup A. Griffais
d3e0b3c963
Select a non-SRGB swapchain format to fix washed out colors. Thanks Bas!
2020-01-01 15:30:38 +09:00
Pierre-Loup A. Griffais
9d359e3213
I guess HLSL does weird padding with float2s?
...
With this and some more fixes, output pipeline looks pretty much perfect.
2020-01-01 15:30:38 +09:00
Pierre-Loup A. Griffais
ec34dad8a9
Plumb steamcompmgr window painting to Vulkan compute.
2020-01-01 15:30:38 +09:00
Pierre-Loup A. Griffais
622f198549
Fix swapped channels on glxgears rendering. Still super dark though.
2020-01-01 15:30:38 +09:00
Pierre-Loup A. Griffais
8e4a4101f5
Vulkan: set scanout bit on memory for imported images.
...
As Bas points out, their original WSI allocated them expecting them to
get scanned out, so this has a better chance of describing their memory
layout in the absence of full modifiers. This fixes corruption for me
on Vega at least, but glxgears colors are swapped still.
2020-01-01 15:30:38 +09:00
Pierre-Loup A. Griffais
445844e83f
Bas rightfully points out the system wlroots dep isn't needed anymore.
2020-01-01 15:30:38 +09:00
Pierre-Loup A. Griffais
bfd02982ab
Kill EGL with fire, rest of GL will follow shortly.
...
Working nested Vulkan path now using surface from SDL2 window.
For some definition of working, tile corruption there too.
2020-01-01 15:30:37 +09:00
Pierre-Loup A. Griffais
9517ace5c0
Taking about 0.5ms at 1080p on a HP Envy Raven laptop with this.
...
Sometimes we're running _before_ the app according to gpuvis, beware.
2020-01-01 15:30:37 +09:00
Pierre-Loup A. Griffais
15e6809031
It helps to actually import the DRM data!
...
Getting glxgears-shaped tile corruption, which is closer to expectations
without real DRM modifiers.
2020-01-01 15:30:37 +09:00
Pierre-Loup A. Griffais
d7dc7b435d
Vulkan: start of actual rendering code.
...
Getting corruption on screen at 7FPS!
2020-01-01 15:30:37 +09:00
Pierre-Loup A. Griffais
586bc69f5f
Vulkan: some surgery on image code to make it import textures as well.
2020-01-01 15:30:37 +09:00
Pierre-Loup A. Griffais
e61b20710e
Enough Vulkan stuff to render to an image and flip it on screen.
...
No texturing yet, that's next after some surgery on the lump of code.
2020-01-01 15:30:37 +09:00
Pierre-Loup A. Griffais
2be0bdbcbb
Start of Vulkan compute rendering code. Getting FBIDs (glxgears still OK).
2020-01-01 15:30:37 +09:00
Pierre-Loup A. Griffais
df5244f547
Keep track of in-flight flips in DRM-land to defer frees of fbids if needed.
...
This makes output sane now for Xwayland buffers.
2020-01-01 15:30:37 +09:00
Pierre-Loup A. Griffais
1a0d25cbe2
Not sure if that fence stuff is right.
2020-01-01 15:30:37 +09:00
Pierre-Loup A. Griffais
bc7207c69d
More DRM flipping/importing, getting half of glxgears on screen.
...
Lower half is getting eaten by something, presumably underflow as it's black.
Make EGL and DRM coexist; make ensure_win_resources safe to call regardless
of what resources we want, so outer code doesn't have to care.
2020-01-01 15:30:37 +09:00
Pierre-Loup A. Griffais
4e324dd6eb
Importing into DRM.
2020-01-01 15:30:37 +09:00
Pierre-Loup A. Griffais
66511514d4
More DRM stuff, untested as of now, lifted from kmscube.
2020-01-01 15:30:37 +09:00
Pierre-Loup A. Griffais
487f9887a3
Remove a wlroots patch not needed on mesa git anymore.
2020-01-01 15:30:37 +09:00
Pierre-Loup A. Griffais
67c5affe47
Start of some DRM plumbing, make it work again outside of X.
2020-01-01 15:30:37 +09:00
Pierre-Loup A. Griffais
4a7fe18845
Try to fix hangs in Portal when it isn't vsynced.
2020-01-01 15:30:37 +09:00
Pierre-Loup A. Griffais
a58dfdd203
Only acknowledge frame_done once per commit, otherwise we pull unwanted
...
frames out of thin air.
Also use dummy ClientMessage events to nudge steamcompmgr's event loop,
Expose events have a meaning and we don't want to confuse some clients.
2020-01-01 15:30:37 +09:00
Pierre-Loup A. Griffais
985d6e40a7
Use actual display name instead of relying on the environment.
2020-01-01 15:30:37 +09:00
Pierre-Loup A. Griffais
2bdbd01902
Some cleanup,
2020-01-01 15:30:37 +09:00
Pierre-Loup A. Griffais
4a1550b7b0
steamcompmgr only makes sense in the nested X display in this scenario.
2020-01-01 15:30:37 +09:00
Pierre-Loup A. Griffais
77d0e72c69
Make commandline coexist across both sides, plumb nested size control.
2020-01-01 15:30:37 +09:00
Pierre-Loup A. Griffais
ced1d16f65
No further need for constant event debugging; command-line is now usable.
2020-01-01 15:30:37 +09:00
Pierre-Loup A. Griffais
e36f1f6c5b
Fix up frame cadence ordering a bit.
2020-01-01 15:30:37 +09:00
Pierre-Loup A. Griffais
825db84b13
Make the wayland commit side master of who has valid contents.
...
And fix a bug that would make overlays flicker.
2020-01-01 15:30:37 +09:00
Pierre-Loup A. Griffais
306583be94
Reinstate normal GameID detection logic, so we can run Steam now.
2020-01-01 15:30:37 +09:00
Pierre-Loup A. Griffais
95e132179d
Chop off some more concepts that were higher-level than I thought initially.
2020-01-01 15:30:37 +09:00
Pierre-Loup A. Griffais
11d50c1618
CHOP
2020-01-01 15:30:37 +09:00
Pierre-Loup A. Griffais
77b4a683c0
chop chop (glxgears still works)
2020-01-01 15:30:37 +09:00
Pierre-Loup A. Griffais
ef8f14b05e
chop (glxgears still works)
2020-01-01 15:30:37 +09:00
Pierre-Loup A. Griffais
f919e65c38
Notify XWayland surfaces when we're done with a frame from them.
...
And remove rootston's output render path. This seems like it was the only
strictly needed thing, frames seem to time out without that. Will probably
find bugs later.
2020-01-01 15:30:37 +09:00
Pierre-Loup A. Griffais
7e9bc2a6a0
Use patched static wlroots as a submodule and subproject.
...
That should help setting it up on a machine that might want to use normal
wlroots for other things. Resolve a GL symbol conflict now that we're
colocated with wlroots' dynamic loading code.
2020-01-01 15:30:37 +09:00
Pierre-Loup A. Griffais
07c4714234
Won't be needing that anymore.
2020-01-01 15:30:37 +09:00
Pierre-Loup A. Griffais
3cf1bd219d
Only do libinput if we're not hosted in X.
2020-01-01 15:30:37 +09:00
Pierre-Loup A. Griffais
3aac5b9015
Get working input, but steamcompmgr now randomly takes down my X server when
...
exiting.
2020-01-01 15:30:37 +09:00
Pierre-Loup A. Griffais
5bf32a3335
Use headless backend, give it a dummy output, keyboard and pointer.
...
I can render an app with the only GPU work coming from steamcompmgr now.
2020-01-01 15:30:37 +09:00
Pierre-Loup A. Griffais
32fe2d5bfb
Register GL error callback instead of checking by hand.
2020-01-01 15:30:37 +09:00
Pierre-Loup A. Griffais
3a091e864a
Process doesn't go away when closing clients anymore.
2020-01-01 15:30:37 +09:00
Pierre-Loup A. Griffais
6c04eba8c6
Allow re-import, still consume FDs that fall through the crack.
...
Lets glxgears animate at 60fps and doesn't leak FDs anymore.
steamcompmgr still goes down when glxgears exits.
2020-01-01 15:30:37 +09:00
Pierre-Loup A. Griffais
6dc724b2cd
No idea what that was for, but it can presumably go.
2020-01-01 15:30:37 +09:00
Pierre-Loup A. Griffais
617174e4b4
Add placeholder GameID to every window so I can easily test with glxgears.
2020-01-01 15:30:37 +09:00
Pierre-Loup A. Griffais
382004513a
Finish removing glX stuff, remove path_rendering stuff (with prejudice),
...
add some freeing of resources.
2020-01-01 15:30:37 +09:00
Pierre-Loup A. Griffais
7c4e06af94
Missed some files.
2020-01-01 15:30:37 +09:00
Pierre-Loup A. Griffais
b39c5a67d4
Hook up steamcompmgr output pipeline.
...
Get steamcompmgr's GL context from EGL and rip out GLX, as we need EGL to
import dma-bufs.
When new buffers are committed to surfaces, push their information to
steamcompmgr (without any feedback for now, fire-and-forget).
Can render games now.
2020-01-01 15:30:37 +09:00
Pierre-Loup A. Griffais
d740ac4d57
Windows render again now that WL_SURFACE_ID is plumbed through steamcompmgr.
2020-01-01 15:30:37 +09:00