Compare commits

...

3 Commits

Author SHA1 Message Date
Simon Ser 5619cf368b backend/drm: add entry for Valve EDID vendor
As found in e.g. the Steam Deck.
2021-10-26 08:45:30 -06:00
Simon Ser c43130cb89 readme: refresh dependencies 2021-10-26 15:31:38 +02:00
Simon Ser bf42630d32 output: refuse to enable with zero mode
This can happen if the compositor enables an output without
picking a mode, or performs a modeset with a zero width/height.
2021-10-26 07:01:34 -06:00
3 changed files with 14 additions and 3 deletions

View File

@ -43,11 +43,11 @@ Install dependencies:
* meson
* wayland
* wayland-protocols
* EGL
* GLESv2
* EGL and GLESv2 (optional, for the GLES2 renderer)
* Vulkan loader, headers and glslang (optional, for the Vulkan renderer)
* libdrm
* GBM
* libinput
* libinput (optional, for the libinput backend)
* xkbcommon
* udev
* pixman

View File

@ -94,6 +94,7 @@ static const char *get_manufacturer(uint16_t id) {
case ID('V', 'E', 'S'): return "Vestel Elektronik Sanayi ve Ticaret A. S.";
case ID('V', 'I', 'T'): return "Visitech AS";
case ID('V', 'I', 'Z'): return "VIZIO, Inc";
case ID('V', 'L', 'V'): return "Valve";
case ID('V', 'S', 'C'): return "ViewSonic Corporation";
case ID('Y', 'M', 'H'): return "Yamaha Corporation";
default: return "Unknown";

View File

@ -547,6 +547,16 @@ static bool output_basic_test(struct wlr_output *output) {
enabled = output->pending.enabled;
}
if (enabled && (output->pending.committed & (WLR_OUTPUT_STATE_ENABLED |
WLR_OUTPUT_STATE_MODE))) {
int pending_width, pending_height;
output_pending_resolution(output, &pending_width, &pending_height);
if (pending_width == 0 || pending_height == 0) {
wlr_log(WLR_DEBUG, "Tried to enable an output with a zero mode");
return false;
}
}
if (!enabled && output->pending.committed & WLR_OUTPUT_STATE_BUFFER) {
wlr_log(WLR_DEBUG, "Tried to commit a buffer on a disabled output");
return false;