feat/data-dnd e05cb15

compose_features.go RawHistoryFolder

1package vulkan
2
3import (
4	"unsafe"
5
6	vk "github.com/bnema/purego-vulkan/vulkan"
7)
8
9// VkPhysicalDeviceDescriptorIndexingFeatures is absent from the bindings.
10// Its layout and sType are defined by Vulkan 1.2 (vulkan_core.h).
11const descriptorIndexingFeaturesType vk.StructureType = 1000161001
12
13type descriptorIndexingFeatures struct {
14	SType                                              vk.StructureType
15	Next                                               unsafe.Pointer
16	ShaderInputAttachmentArrayDynamicIndexing          vk.Bool32
17	ShaderUniformTexelBufferArrayDynamicIndexing       vk.Bool32
18	ShaderStorageTexelBufferArrayDynamicIndexing       vk.Bool32
19	ShaderUniformBufferArrayNonUniformIndexing         vk.Bool32
20	ShaderSampledImageArrayNonUniformIndexing          vk.Bool32
21	ShaderStorageBufferArrayNonUniformIndexing         vk.Bool32
22	ShaderStorageImageArrayNonUniformIndexing          vk.Bool32
23	ShaderInputAttachmentArrayNonUniformIndexing       vk.Bool32
24	ShaderUniformTexelBufferArrayNonUniformIndexing    vk.Bool32
25	ShaderStorageTexelBufferArrayNonUniformIndexing    vk.Bool32
26	DescriptorBindingUniformBufferUpdateAfterBind      vk.Bool32
27	DescriptorBindingSampledImageUpdateAfterBind       vk.Bool32
28	DescriptorBindingStorageImageUpdateAfterBind       vk.Bool32
29	DescriptorBindingStorageBufferUpdateAfterBind      vk.Bool32
30	DescriptorBindingUniformTexelBufferUpdateAfterBind vk.Bool32
31	DescriptorBindingStorageTexelBufferUpdateAfterBind vk.Bool32
32	DescriptorBindingUpdateUnusedWhilePending          vk.Bool32
33	DescriptorBindingPartiallyBound                    vk.Bool32
34	DescriptorBindingVariableDescriptorCount           vk.Bool32
35	RuntimeDescriptorArray                             vk.Bool32
36}
37
38// composeResourceLimit counts both image planes and the instance SSBO.
39// No update-after-bind/partially-bound features are needed: tables are
40// completely initialized and updated only after their frame-slot fence.
41func composeResourceLimit(l vk.PhysicalDeviceLimits) uint32 {
42	if l.MaxDescriptorSetStorageBuffers <= 1 || l.MaxPerStageResources == 0 {
43		return 0
44	}
45	return min(uint32(maxComposeResources),
46		l.MaxPerStageDescriptorSamplers/2, l.MaxDescriptorSetSamplers/2,
47		l.MaxPerStageDescriptorSampledImages/2, l.MaxDescriptorSetSampledImages/2,
48		l.MaxPerStageDescriptorStorageBuffers, l.MaxDescriptorSetStorageBuffers-1,
49		(l.MaxPerStageResources-1)/3)
50}

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 23

Tags 10

↑↓ moveenter openesc close