Skip to content

Evtl. Fehler bei SurfaceCapabilities.currentExtent #4

@yuriika

Description

@yuriika

In vulkan_swapchain.cpp funktionierte das hier

if (surfaceCapabilities.currentExtent.width == 0xFFFFFFFF) { 
		surfaceCapabilities.currentExtent.width = surfaceCapabilities.minImageExtent.width;
	}
	if (surfaceCapabilities.currentExtent.height == 0xFFFFFFFF) {
		surfaceCapabilities.currentExtent.height = surfaceCapabilities.minImageExtent.height;
	}

nicht bei mir unter Linux (Wayland)

Es funktioniert allerdings mit maxImageExtent.width / height, was m.E. auch mehr Sinn macht.

if (surfaceCapabilities.currentExtent.width == 0xFFFFFFFF) { 
		surfaceCapabilities.currentExtent.width = surfaceCapabilities.maxImageExtent.width;
	}
	if (surfaceCapabilities.currentExtent.height == 0xFFFFFFFF) {
		surfaceCapabilities.currentExtent.height = surfaceCapabilities.maxImageExtent.height;
	}

Mit minImageExtent schaut es aus, als ob das Fenster nur einen minimalen Auschnitt zeigt, der sich in der Mitte des Dreiecks befindet.

Ich nehme an, unter Windows läuft das erst gar nicht in die If rein, weil das currentExtent einfach schon einen vernünftigen Wert hat.

Ich hab das bei Kapitel / Video 11 festgestellt, weil ich kein Dreieck dargestellt bekommen habe.
Da ich gesehen habe, dass das im aktuellen Codestand auch noch so ist, wollte ich das hier mal mitteilen.

Ansonsten, vielen Dank für die guten Videos :)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions