Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
third_party
skia
src
gpu
graphite
vk
VulkanDescriptorSet.cpp
Go to the documentation of this file.
1
/*
2
* Copyright 2023 Google LLC
3
*
4
* Use of this source code is governed by a BSD-style license that can be
5
* found in the LICENSE file.
6
*/
7
8
#include "
src/gpu/graphite/vk/VulkanDescriptorSet.h
"
9
10
#include "
src/gpu/graphite/vk/VulkanDescriptorPool.h
"
11
#include "
src/gpu/graphite/vk/VulkanSharedContext.h
"
12
13
namespace
skgpu::graphite
{
14
15
sk_sp<VulkanDescriptorSet>
VulkanDescriptorSet::Make
(
const
VulkanSharedContext
* ctxt,
16
const
sk_sp<VulkanDescriptorPool>
&
pool
) {
17
VkDescriptorSet descSet;
18
VkDescriptorSetAllocateInfo
dsAllocateInfo;
19
memset(&dsAllocateInfo, 0,
sizeof
(
VkDescriptorSetAllocateInfo
));
20
dsAllocateInfo.
sType
=
VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO
;
21
dsAllocateInfo.
pNext
=
nullptr
;
22
dsAllocateInfo.
descriptorPool
=
pool
->descPool();
23
dsAllocateInfo.
descriptorSetCount
= 1;
24
dsAllocateInfo.
pSetLayouts
=
pool
->descSetLayout();
25
26
VkResult
result
;
27
VULKAN_CALL_RESULT
(
28
ctxt,
result
, AllocateDescriptorSets(ctxt->
device
(), &dsAllocateInfo, &descSet));
29
if
(
result
!=
VK_SUCCESS
) {
30
return
nullptr
;
31
}
32
return
sk_sp<VulkanDescriptorSet>
(
new
VulkanDescriptorSet
(ctxt, descSet,
pool
));
33
}
34
35
VulkanDescriptorSet::VulkanDescriptorSet
(
const
VulkanSharedContext
* ctxt,
36
VkDescriptorSet set,
37
sk_sp<VulkanDescriptorPool>
pool
)
38
:
Resource
(ctxt,
39
Ownership
::
kOwned
,
40
skgpu
::
Budgeted
::
kYes
,
41
/*gpuMemorySize=*/
0,
42
/*label=*/
"VulkanDescriptorSet"
)
43
, fDescSet (set)
44
, fPool (
pool
) {
45
fPool->ref();
46
}
47
48
void
VulkanDescriptorSet::freeGpuData
() {
49
fPool->unref();
50
}
51
52
}
// namespace skgpu::graphite
pool
AutoreleasePool pool
Definition
BazelBenchmarkTestRunner.cpp:313
VulkanDescriptorPool.h
VulkanDescriptorSet.h
VULKAN_CALL_RESULT
#define VULKAN_CALL_RESULT(SHARED_CONTEXT, RESULT, X)
Definition
VulkanGraphiteUtilsPriv.h:33
VulkanSharedContext.h
sk_sp
Definition
SkRefCnt.h:220
skgpu::graphite::Resource
Definition
Resource.h:37
skgpu::graphite::VulkanDescriptorSet
Definition
VulkanDescriptorSet.h:25
skgpu::graphite::VulkanDescriptorSet::VulkanDescriptorSet
VulkanDescriptorSet(const VulkanSharedContext *, VkDescriptorSet, sk_sp< VulkanDescriptorPool >)
Definition
VulkanDescriptorSet.cpp:35
skgpu::graphite::VulkanDescriptorSet::Make
static sk_sp< VulkanDescriptorSet > Make(const VulkanSharedContext *, const sk_sp< VulkanDescriptorPool > &)
Definition
VulkanDescriptorSet.cpp:15
skgpu::graphite::VulkanDescriptorSet::freeGpuData
void freeGpuData() override
Definition
VulkanDescriptorSet.cpp:48
skgpu::graphite::VulkanSharedContext
Definition
VulkanSharedContext.h:28
skgpu::graphite::VulkanSharedContext::device
VkDevice device() const
Definition
VulkanSharedContext.h:39
result
GAsyncResult * result
Definition
fl_text_input_plugin.cc:106
skgpu::graphite
Definition
BoundsManagerBench.cpp:27
skgpu::graphite::SyncToCpu::kYes
@ kYes
skgpu::graphite::Ownership
Ownership
Definition
ResourceTypes.h:127
skgpu::graphite::Ownership::kOwned
@ kOwned
skgpu
Definition
GpuTools.h:21
skgpu::Budgeted
Budgeted
Definition
GpuTypes.h:35
VkDescriptorSetAllocateInfo
Definition
vulkan_core.h:3763
VkDescriptorSetAllocateInfo::descriptorSetCount
uint32_t descriptorSetCount
Definition
vulkan_core.h:3767
VkDescriptorSetAllocateInfo::sType
VkStructureType sType
Definition
vulkan_core.h:3764
VkDescriptorSetAllocateInfo::pNext
const void * pNext
Definition
vulkan_core.h:3765
VkDescriptorSetAllocateInfo::descriptorPool
VkDescriptorPool descriptorPool
Definition
vulkan_core.h:3766
VkDescriptorSetAllocateInfo::pSetLayouts
const VkDescriptorSetLayout * pSetLayouts
Definition
vulkan_core.h:3768
VkResult
VkResult
Definition
vulkan_core.h:140
VK_SUCCESS
@ VK_SUCCESS
Definition
vulkan_core.h:141
VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO
@ VK_STRUCTURE_TYPE_DESCRIPTOR_SET_ALLOCATE_INFO
Definition
vulkan_core.h:236
Generated on Fri Apr 26 2024 06:17:21 for Flutter Engine by
1.9.8