]> git.tdb.fi Git - libs/gl.git/blob - source/backends/vulkan/texture2dmultisample_backend.cpp
Implement mipmap generation for the Vulkan backend
[libs/gl.git] / source / backends / vulkan / texture2dmultisample_backend.cpp
1 #include "error.h"
2 #include "frameformat.h"
3 #include "texture2dmultisample.h"
4 #include "texture2dmultisample_backend.h"
5 #include "vulkan.h"
6
7 namespace Msp {
8 namespace GL {
9
10 VulkanTexture2DMultisample::VulkanTexture2DMultisample():
11         Texture(VK_IMAGE_TYPE_2D)
12 {
13         throw std::logic_error("VulkanTexture2DMultisample is unimplemented");
14 }
15
16 void VulkanTexture2DMultisample::fill_image_info(void *ii) const
17 {
18         const Texture2DMultisample &self = *static_cast<const Texture2DMultisample *>(this);
19
20         VkImageCreateInfo *image_info = static_cast<VkImageCreateInfo *>(ii);
21         image_info->imageType = VK_IMAGE_TYPE_2D;
22         image_info->extent.width = self.width;
23         image_info->extent.height = self.height;
24         image_info->samples = static_cast<VkSampleCountFlagBits>(get_vulkan_samples(self.samples));
25 }
26
27 void VulkanTexture2DMultisample::generate_mipmap()
28 {
29         throw invalid_operation("VulkanTexture2DMultisample::generate_mipmap");
30 }
31
32 size_t VulkanTexture2DMultisample::get_data_size() const
33 {
34         return 0;
35 }
36
37 } // namespace GL
38 } // namespace Msp