mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-02-21 22:54:16 +01:00
[vulkan] Add setHdrMetadata method to Presenter
This commit is contained in:
parent
731bf84edd
commit
e5418a956a
@ -446,6 +446,7 @@ namespace dxvk {
|
|||||||
presenterDevice.queue = graphicsQueue.queueHandle;
|
presenterDevice.queue = graphicsQueue.queueHandle;
|
||||||
presenterDevice.adapter = m_device->adapter()->handle();
|
presenterDevice.adapter = m_device->adapter()->handle();
|
||||||
presenterDevice.features.fullScreenExclusive = m_device->features().extFullScreenExclusive;
|
presenterDevice.features.fullScreenExclusive = m_device->features().extFullScreenExclusive;
|
||||||
|
presenterDevice.features.hdrMetadata = m_device->features().extHdrMetadata;
|
||||||
|
|
||||||
vk::PresenterDesc presenterDesc;
|
vk::PresenterDesc presenterDesc;
|
||||||
presenterDesc.imageExtent = { m_desc.Width, m_desc.Height };
|
presenterDesc.imageExtent = { m_desc.Width, m_desc.Height };
|
||||||
|
@ -238,6 +238,12 @@ namespace dxvk::vk {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Presenter::setHdrMetadata(const VkHdrMetadataEXT& hdrMetadata) {
|
||||||
|
if (m_device.features.hdrMetadata)
|
||||||
|
m_vkd->vkSetHdrMetadataEXT(m_vkd->device(), 1, &m_swapchain, &hdrMetadata);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
VkResult Presenter::getSupportedFormats(std::vector<VkSurfaceFormatKHR>& formats, VkFullScreenExclusiveEXT fullScreenExclusive) const {
|
VkResult Presenter::getSupportedFormats(std::vector<VkSurfaceFormatKHR>& formats, VkFullScreenExclusiveEXT fullScreenExclusive) const {
|
||||||
uint32_t numFormats = 0;
|
uint32_t numFormats = 0;
|
||||||
|
|
||||||
|
@ -49,6 +49,7 @@ namespace dxvk::vk {
|
|||||||
*/
|
*/
|
||||||
struct PresenterFeatures {
|
struct PresenterFeatures {
|
||||||
bool fullScreenExclusive : 1;
|
bool fullScreenExclusive : 1;
|
||||||
|
bool hdrMetadata : 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -191,6 +192,13 @@ namespace dxvk::vk {
|
|||||||
*/
|
*/
|
||||||
bool supportsColorSpace(VkColorSpaceKHR colorspace);
|
bool supportsColorSpace(VkColorSpaceKHR colorspace);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Sets HDR metadata
|
||||||
|
*
|
||||||
|
* \param [in] hdrMetadata HDR Metadata
|
||||||
|
*/
|
||||||
|
void setHdrMetadata(const VkHdrMetadataEXT& hdrMetadata);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
Rc<InstanceFn> m_vki;
|
Rc<InstanceFn> m_vki;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user