GPU: Add placeholders for PixelBuffer to vulkan backend.
PixelBuffer was recently introduced. This change adds empty placeholders to the vulkan backend and other related API tweaks.
This commit is contained in:
parent
587b213fe1
commit
09ee781a67
|
@ -191,8 +191,10 @@ set(VULKAN_SRC
|
|||
vulkan/vk_batch.cc
|
||||
vulkan/vk_context.cc
|
||||
vulkan/vk_drawlist.cc
|
||||
vulkan/vk_fence.cc
|
||||
vulkan/vk_framebuffer.cc
|
||||
vulkan/vk_index_buffer.cc
|
||||
vulkan/vk_pixel_buffer.cc
|
||||
vulkan/vk_query.cc
|
||||
vulkan/vk_shader.cc
|
||||
vulkan/vk_storage_buffer.cc
|
||||
|
@ -204,8 +206,10 @@ set(VULKAN_SRC
|
|||
vulkan/vk_batch.hh
|
||||
vulkan/vk_context.hh
|
||||
vulkan/vk_drawlist.hh
|
||||
vulkan/vk_fence.hh
|
||||
vulkan/vk_framebuffer.hh
|
||||
vulkan/vk_index_buffer.hh
|
||||
vulkan/vk_pixel_buffer.hh
|
||||
vulkan/vk_query.hh
|
||||
vulkan/vk_shader.hh
|
||||
vulkan/vk_storage_buffer.hh
|
||||
|
|
|
@ -10,8 +10,10 @@
|
|||
#include "vk_batch.hh"
|
||||
#include "vk_context.hh"
|
||||
#include "vk_drawlist.hh"
|
||||
#include "vk_fence.hh"
|
||||
#include "vk_framebuffer.hh"
|
||||
#include "vk_index_buffer.hh"
|
||||
#include "vk_pixel_buffer.hh"
|
||||
#include "vk_query.hh"
|
||||
#include "vk_shader.hh"
|
||||
#include "vk_storage_buffer.hh"
|
||||
|
@ -80,6 +82,11 @@ DrawList *VKBackend::drawlist_alloc(int /*list_length*/)
|
|||
return new VKDrawList();
|
||||
}
|
||||
|
||||
Fence *VKBackend::fence_alloc()
|
||||
{
|
||||
return new VKFence();
|
||||
}
|
||||
|
||||
FrameBuffer *VKBackend::framebuffer_alloc(const char *name)
|
||||
{
|
||||
return new VKFrameBuffer(name);
|
||||
|
@ -90,6 +97,11 @@ IndexBuf *VKBackend::indexbuf_alloc()
|
|||
return new VKIndexBuffer();
|
||||
}
|
||||
|
||||
PixelBuffer *VKBackend::pixelbuf_alloc(uint size)
|
||||
{
|
||||
return new VKPixelBuffer(size);
|
||||
}
|
||||
|
||||
QueryPool *VKBackend::querypool_alloc()
|
||||
{
|
||||
return new VKQueryPool();
|
||||
|
|
|
@ -33,8 +33,10 @@ class VKBackend : public GPUBackend {
|
|||
|
||||
Batch *batch_alloc() override;
|
||||
DrawList *drawlist_alloc(int list_length) override;
|
||||
Fence *fence_alloc() override;
|
||||
FrameBuffer *framebuffer_alloc(const char *name) override;
|
||||
IndexBuf *indexbuf_alloc() override;
|
||||
PixelBuffer *pixelbuf_alloc(uint size) override;
|
||||
QueryPool *querypool_alloc() override;
|
||||
Shader *shader_alloc(const char *name) override;
|
||||
Texture *texture_alloc(const char *name) override;
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
* Copyright 2022 Blender Foundation. All rights reserved. */
|
||||
|
||||
/** \file
|
||||
* \ingroup gpu
|
||||
*/
|
||||
|
||||
#include "vk_fence.hh"
|
||||
|
||||
namespace blender::gpu {
|
||||
|
||||
void VKFence::signal()
|
||||
{
|
||||
}
|
||||
|
||||
void VKFence::wait()
|
||||
{
|
||||
}
|
||||
|
||||
} // namespace blender::gpu
|
|
@ -0,0 +1,20 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
* Copyright 2022 Blender Foundation. All rights reserved. */
|
||||
|
||||
/** \file
|
||||
* \ingroup gpu
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "gpu_state_private.hh"
|
||||
|
||||
namespace blender::gpu {
|
||||
|
||||
class VKFence : public Fence {
|
||||
public:
|
||||
void signal() override;
|
||||
void wait() override;
|
||||
};
|
||||
|
||||
} // namespace blender::gpu
|
|
@ -0,0 +1,35 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
* Copyright 2022 Blender Foundation. All rights reserved. */
|
||||
|
||||
/** \file
|
||||
* \ingroup gpu
|
||||
*/
|
||||
|
||||
#include "vk_pixel_buffer.hh"
|
||||
|
||||
namespace blender::gpu {
|
||||
|
||||
VKPixelBuffer::VKPixelBuffer(int64_t size): PixelBuffer(size)
|
||||
{
|
||||
}
|
||||
|
||||
void *VKPixelBuffer::map()
|
||||
{
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
void VKPixelBuffer::unmap()
|
||||
{
|
||||
}
|
||||
|
||||
int64_t VKPixelBuffer::get_native_handle()
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
uint VKPixelBuffer::get_size()
|
||||
{
|
||||
return size_;
|
||||
}
|
||||
|
||||
} // namespace blender::gpu
|
|
@ -0,0 +1,23 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
* Copyright 2022 Blender Foundation. All rights reserved. */
|
||||
|
||||
/** \file
|
||||
* \ingroup gpu
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "gpu_texture_private.hh"
|
||||
|
||||
namespace blender::gpu {
|
||||
|
||||
class VKPixelBuffer : public PixelBuffer {
|
||||
public:
|
||||
VKPixelBuffer(int64_t size);
|
||||
void *map() override;
|
||||
void unmap() override;
|
||||
int64_t get_native_handle() override;
|
||||
uint get_size() override;
|
||||
};
|
||||
|
||||
} // namespace blender::gpu
|
|
@ -46,6 +46,13 @@ void VKTexture::update_sub(int /*mip*/,
|
|||
{
|
||||
}
|
||||
|
||||
void VKTexture::update_sub(int /*offset*/[3],
|
||||
int /*extent*/[3],
|
||||
eGPUDataFormat /*format*/,
|
||||
GPUPixelBuffer * /*pixbuf*/)
|
||||
{
|
||||
}
|
||||
|
||||
/* TODO(fclem): Legacy. Should be removed at some point. */
|
||||
uint VKTexture::gl_bindcode_get() const
|
||||
{
|
||||
|
|
|
@ -26,6 +26,10 @@ class VKTexture : public Texture {
|
|||
void *read(int mip, eGPUDataFormat format) override;
|
||||
void update_sub(
|
||||
int mip, int offset[3], int extent[3], eGPUDataFormat format, const void *data) override;
|
||||
void update_sub(int offset[3],
|
||||
int extent[3],
|
||||
eGPUDataFormat format,
|
||||
GPUPixelBuffer *pixbuf) override;
|
||||
|
||||
/* TODO(fclem): Legacy. Should be removed at some point. */
|
||||
uint gl_bindcode_get() const override;
|
||||
|
|
Loading…
Reference in New Issue