Resolve an issue where a high resolution texutre 16k x 8k did not update in metal due to integer overflow of size parameter. This patch contains several changes to address size correctness across multiple use cases within the Metal backend. Authored by Apple: Michael Parkin-White Pull Request: https://projects.blender.org/blender/blender/pulls/108238
28 lines
473 B
C++
28 lines
473 B
C++
/* SPDX-License-Identifier: GPL-2.0-or-later
|
|
* Copyright 2022 Blender Foundation */
|
|
|
|
/** \file
|
|
* \ingroup gpu
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include "gpu_texture_private.hh"
|
|
|
|
#include "vk_buffer.hh"
|
|
|
|
namespace blender::gpu {
|
|
|
|
class VKPixelBuffer : public PixelBuffer {
|
|
VKBuffer buffer_;
|
|
|
|
public:
|
|
VKPixelBuffer(int64_t size);
|
|
void *map() override;
|
|
void unmap() override;
|
|
int64_t get_native_handle() override;
|
|
size_t get_size() override;
|
|
};
|
|
|
|
} // namespace blender::gpu
|