image_view: add minimal VkImageView wrapper
This commit is contained in:
parent
7bc8870e06
commit
f64990d0c2
@ -66,6 +66,7 @@ list (APPEND sources
|
|||||||
instance.hpp
|
instance.hpp
|
||||||
image.cpp
|
image.cpp
|
||||||
image.hpp
|
image.hpp
|
||||||
|
image_view.hpp
|
||||||
ostream.cpp
|
ostream.cpp
|
||||||
ostream.hpp
|
ostream.hpp
|
||||||
physical_device.cpp
|
physical_device.cpp
|
||||||
|
36
fwd.hpp
36
fwd.hpp
@ -28,23 +28,25 @@ namespace cruft::vk {
|
|||||||
template <typename SelfT, typename ParentT> struct enumerated;
|
template <typename SelfT, typename ParentT> struct enumerated;
|
||||||
template <typename SelfT, typename OwnerT> struct owned;
|
template <typename SelfT, typename OwnerT> struct owned;
|
||||||
|
|
||||||
struct instance;
|
|
||||||
struct physical_device;
|
|
||||||
struct device;
|
|
||||||
struct queue;
|
|
||||||
struct command_pool;
|
|
||||||
struct command_buffer;
|
|
||||||
struct fence;
|
|
||||||
struct semaphore;
|
|
||||||
struct event;
|
|
||||||
struct render_pass;
|
|
||||||
struct framebuffer;
|
|
||||||
struct shader_module;
|
|
||||||
struct pipeline;
|
|
||||||
struct pipeline_cache;
|
|
||||||
struct device_memory;
|
|
||||||
struct buffer;
|
struct buffer;
|
||||||
struct buffer_view;
|
struct buffer_view;
|
||||||
|
struct command_buffer;
|
||||||
|
struct command_pool;
|
||||||
|
struct device;
|
||||||
|
struct device_memory;
|
||||||
|
struct event;
|
||||||
|
struct fence;
|
||||||
|
struct framebuffer;
|
||||||
|
struct instance;
|
||||||
|
struct image;
|
||||||
|
struct image_view;
|
||||||
|
struct physical_device;
|
||||||
|
struct pipeline;
|
||||||
|
struct pipeline_cache;
|
||||||
|
struct queue;
|
||||||
|
struct render_pass;
|
||||||
|
struct semaphore;
|
||||||
|
struct shader_module;
|
||||||
struct surface;
|
struct surface;
|
||||||
|
|
||||||
class error;
|
class error;
|
||||||
@ -61,7 +63,9 @@ namespace cruft::vk {
|
|||||||
#define VK_OWNED_TYPE_MAP(FUNC) \
|
#define VK_OWNED_TYPE_MAP(FUNC) \
|
||||||
MAP(FUNC, \
|
MAP(FUNC, \
|
||||||
queue, \
|
queue, \
|
||||||
surface)
|
surface, \
|
||||||
|
semaphore, \
|
||||||
|
image_view)
|
||||||
|
|
||||||
#define VK_TYPE_MAP(FUNC) \
|
#define VK_TYPE_MAP(FUNC) \
|
||||||
MAP(FUNC,instance) \
|
MAP(FUNC,instance) \
|
||||||
|
30
image_view.hpp
Normal file
30
image_view.hpp
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
/*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*
|
||||||
|
* Copyright:
|
||||||
|
* 2016, Danny Robson <danny@nerdcruft.net>
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef CRUFT_VK_SEMAPHORE_HPP
|
||||||
|
#define CRUFT_VK_SEMAPHORE_HPP
|
||||||
|
|
||||||
|
#include "./object.hpp"
|
||||||
|
#include "./fwd.hpp"
|
||||||
|
|
||||||
|
namespace cruft::vk {
|
||||||
|
struct image_view : public owned<image_view,device> {
|
||||||
|
using owned::owned;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
@ -23,8 +23,8 @@
|
|||||||
|
|
||||||
namespace cruft::vk {
|
namespace cruft::vk {
|
||||||
struct semaphore : public owned<semaphore,device> {
|
struct semaphore : public owned<semaphore,device> {
|
||||||
|
using owned::owned;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -3,6 +3,8 @@
|
|||||||
#include <cruft/vk/queue.hpp>
|
#include <cruft/vk/queue.hpp>
|
||||||
#include <cruft/vk/device.hpp>
|
#include <cruft/vk/device.hpp>
|
||||||
#include <cruft/vk/surface.hpp>
|
#include <cruft/vk/surface.hpp>
|
||||||
|
#include <cruft/vk/semaphore.hpp>
|
||||||
|
#include <cruft/vk/image_view.hpp>
|
||||||
|
|
||||||
#include <GLFW/glfw3.h>
|
#include <GLFW/glfw3.h>
|
||||||
#include <GLFW/glfw3native.h>
|
#include <GLFW/glfw3native.h>
|
||||||
|
31
traits.hpp
31
traits.hpp
@ -93,23 +93,24 @@ namespace cruft::vk {
|
|||||||
|
|
||||||
|
|
||||||
//-------------------------------------------------------------------------
|
//-------------------------------------------------------------------------
|
||||||
template <> struct native_traits<instance> { using type = VkInstance; };
|
|
||||||
template <> struct native_traits<physical_device> { using type = VkPhysicalDevice; };
|
|
||||||
template <> struct native_traits<device> { using type = VkDevice; };
|
|
||||||
template <> struct native_traits<queue> { using type = VkQueue; };
|
|
||||||
template <> struct native_traits<command_pool> { using type = VkCommandPool; };
|
|
||||||
template <> struct native_traits<command_buffer> { using type = VkCommandBuffer; };
|
|
||||||
template <> struct native_traits<fence> { using type = VkFence; };
|
|
||||||
template <> struct native_traits<semaphore> { using type = VkSemaphore; };
|
|
||||||
template <> struct native_traits<event> { using type = VkEvent; };
|
|
||||||
template <> struct native_traits<render_pass> { using type = VkRenderPass; };
|
|
||||||
template <> struct native_traits<framebuffer> { using type = VkFramebuffer; };
|
|
||||||
template <> struct native_traits<shader_module> { using type = VkShaderModule; };
|
|
||||||
template <> struct native_traits<pipeline> { using type = VkPipeline; };
|
|
||||||
template <> struct native_traits<pipeline_cache> { using type = VkPipelineCache; };
|
|
||||||
template <> struct native_traits<device_memory> { using type = VkDeviceMemory; };
|
|
||||||
template <> struct native_traits<buffer> { using type = VkBuffer; };
|
template <> struct native_traits<buffer> { using type = VkBuffer; };
|
||||||
template <> struct native_traits<buffer_view> { using type = VkBufferView; };
|
template <> struct native_traits<buffer_view> { using type = VkBufferView; };
|
||||||
|
template <> struct native_traits<command_buffer> { using type = VkCommandBuffer; };
|
||||||
|
template <> struct native_traits<command_pool> { using type = VkCommandPool; };
|
||||||
|
template <> struct native_traits<device_memory> { using type = VkDeviceMemory; };
|
||||||
|
template <> struct native_traits<device> { using type = VkDevice; };
|
||||||
|
template <> struct native_traits<event> { using type = VkEvent; };
|
||||||
|
template <> struct native_traits<fence> { using type = VkFence; };
|
||||||
|
template <> struct native_traits<framebuffer> { using type = VkFramebuffer; };
|
||||||
|
template <> struct native_traits<image_view> { using type = VkImageView; };
|
||||||
|
template <> struct native_traits<instance> { using type = VkInstance; };
|
||||||
|
template <> struct native_traits<physical_device> { using type = VkPhysicalDevice; };
|
||||||
|
template <> struct native_traits<pipeline_cache> { using type = VkPipelineCache; };
|
||||||
|
template <> struct native_traits<pipeline> { using type = VkPipeline; };
|
||||||
|
template <> struct native_traits<queue> { using type = VkQueue; };
|
||||||
|
template <> struct native_traits<render_pass> { using type = VkRenderPass; };
|
||||||
|
template <> struct native_traits<semaphore> { using type = VkSemaphore; };
|
||||||
|
template <> struct native_traits<shader_module> { using type = VkShaderModule; };
|
||||||
template <> struct native_traits<surface> { using type = VkSurfaceKHR; };
|
template <> struct native_traits<surface> { using type = VkSurfaceKHR; };
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user