Lines Matching defs:gpu

8 #include "src/gpu/vk/GrVkBuffer.h"
10 #include "include/gpu/GrDirectContext.h"
11 #include "src/gpu/GrDirectContextPriv.h"
12 #include "src/gpu/GrResourceProvider.h"
13 #include "src/gpu/vk/GrVkDescriptorSet.h"
14 #include "src/gpu/vk/GrVkGpu.h"
15 #include "src/gpu/vk/GrVkMemory.h"
16 #include "src/gpu/vk/GrVkMemoryReclaimer.h"
17 #include "src/gpu/vk/GrVkUtil.h"
21 GrVkBuffer::GrVkBuffer(GrVkGpu* gpu,
28 : GrGpuBuffer(gpu, sizeInBytes, bufferType, accessPattern)
40 static const GrVkDescriptorSet* make_uniform_desc_set(GrVkGpu* gpu, VkBuffer buffer, size_t size) {
41 const GrVkDescriptorSet* descriptorSet = gpu->resourceProvider().getUniformDescriptorSet();
65 GR_VK_CALL(gpu->vkInterface(),
66 UpdateDescriptorSets(gpu->device(), 1, &descriptorWrite, 0, nullptr));
70 sk_sp<GrVkBuffer> GrVkBuffer::Make(GrVkGpu* gpu,
78 // we're on a device where gpu only memory has faster reads on the gpu than memory that is also
80 bool requiresMappable = gpu->protectedContext() ||
83 !gpu->vkCaps().gpuOnlyBuffersMorePerformant();
133 err = VK_CALL(gpu, CreateBuffer(gpu->device(), &bufInfo, nullptr, &buffer));
139 if (!GrVkMemory::AllocAndBindBufferMemory(gpu, buffer, allocUsage, &alloc, size)) {
141 if (!GrVkMemory::AllocAndBindBufferMemory(gpu, buffer, allocUsage, &alloc)) {
143 VK_CALL(gpu, DestroyBuffer(gpu->device(), buffer, nullptr));
150 uniformDescSet = make_uniform_desc_set(gpu, buffer, size);
152 DestroyAndFreeBufferMemory(gpu, alloc, buffer);
157 return sk_sp<GrVkBuffer>(new GrVkBuffer(gpu, size, bufferType, accessPattern, buffer, alloc,
161 sk_sp<GrVkBuffer> GrVkBuffer::MakeFromOHNativeBuffer(GrVkGpu* gpu,
166 SkASSERT(gpu);
198 bool requiresMappable = gpu->protectedContext() ||
201 !gpu->vkCaps().gpuOnlyBuffersMorePerformant();
210 VkResult err = VK_CALL(gpu, CreateBuffer(gpu->device(), &bufInfo, nullptr, &buffer));
215 if (!GrVkMemory::ImportAndBindBufferMemory(gpu, nativeBuffer, buffer, &alloc)) {
216 VK_CALL(gpu, DestroyBuffer(gpu->device(), buffer, nullptr));
220 return sk_sp<GrVkBuffer>(new GrVkBuffer(gpu, bufferSize, bufferType, accessPattern, buffer, alloc, nullptr));
224 void GrVkBuffer::DestroyAndFreeBufferMemory(const GrVkGpu* gpu, const GrVkAlloc& alloc, const VkBuffer& buffer)
226 VK_CALL(gpu, DestroyBuffer(gpu->device(), buffer, nullptr));
227 GrVkMemory::FreeBufferMemory(gpu, alloc);
253 GrVkGpu* gpu = this->getVkGpu();
254 GrVkMemory::FlushMappedAlloc(gpu, fAlloc, 0, size);
255 GrVkMemory::UnmapAlloc(gpu, fAlloc);
274 GrVkGpu* gpu = this->getVkGpu();
277 SkASSERT(!gpu->protectedContext());
281 if ((size <= 65536) && (0 == (size & 0x3)) && !gpu->vkCaps().avoidUpdateBuffers()) {
282 gpu->updateBuffer(sk_ref_sp(this), src, /*offset=*/0, size);
284 GrResourceProvider* resourceProvider = gpu->getContext()->priv().resourceProvider();
291 gpu->copyBuffer(std::move(transferBuffer), sk_ref_sp(this), /*srcOffset=*/0,