#pragma once #include "d3d9_include.h" #include "d3d9_format.h" #include "../dxvk/dxvk_device.h" #include "../dxvk/dxvk_context.h" namespace dxvk { class D3D9FormatHelper { public: D3D9FormatHelper(const Rc& device); void ConvertVideoFormat( D3D9_VIDEO_FORMAT_INFO videoFormat, const Rc& dstImage, VkImageSubresourceLayers dstSubresource, const Rc& srcBuffer); private: enum BindingIds : uint32_t { Image = 0, Buffer = 1, }; void InitShaders(); Rc InitShader(SpirvCodeBuffer code); Rc m_device; Rc m_context; std::array, D3D9VideoFormat_Count> m_shaders; }; }