Home
last modified time | relevance | path

Searched refs:gpu (Results 1 – 25 of 1091) sorted by relevance

12345678910>>...44

/external/skia/gn/
Dgpu.gni11 "$_include/gpu/GrBackendDrawableInfo.h",
12 "$_include/gpu/GrBackendSemaphore.h",
13 "$_include/gpu/GrBackendSurface.h",
14 "$_include/gpu/GrBlend.h",
15 "$_include/gpu/GrConfig.h",
16 "$_include/gpu/GrContextOptions.h",
17 "$_include/gpu/GrContext.h",
18 "$_include/gpu/GrContextThreadSafeProxy.h",
19 "$_include/gpu/GrDriverBugWorkarounds.h",
20 "$_include/gpu/GrGpuResource.h",
[all …]
Dsksl.gni34 "$_src/gpu/effects/GrAARectEffect.fp",
35 "$_src/gpu/effects/GrAlphaThresholdFragmentProcessor.fp",
36 "$_src/gpu/effects/GrBlurredEdgeFragmentProcessor.fp",
37 "$_src/gpu/effects/GrCircleBlurFragmentProcessor.fp",
38 "$_src/gpu/effects/GrCircleEffect.fp",
39 "$_src/gpu/effects/GrConfigConversionEffect.fp",
40 "$_src/gpu/effects/GrConstColorProcessor.fp",
41 "$_src/gpu/effects/GrEllipseEffect.fp",
42 "$_src/gpu/effects/GrLumaColorFilterEffect.fp",
43 "$_src/gpu/effects/GrMagnifierEffect.fp",
[all …]
/external/skqp/gn/
Dgpu.gni11 "$_include/gpu/GrBackendDrawableInfo.h",
12 "$_include/gpu/GrBackendSemaphore.h",
13 "$_include/gpu/GrBackendSurface.h",
14 "$_include/gpu/GrBlend.h",
15 "$_include/gpu/GrConfig.h",
16 "$_include/gpu/GrContextOptions.h",
17 "$_include/gpu/GrContext.h",
18 "$_include/gpu/GrContextThreadSafeProxy.h",
19 "$_include/gpu/GrDriverBugWorkarounds.h",
20 "$_include/gpu/GrGpuResource.h",
[all …]
Dsksl.gni34 "$_src/gpu/effects/GrAARectEffect.fp",
35 "$_src/gpu/effects/GrAlphaThresholdFragmentProcessor.fp",
36 "$_src/gpu/effects/GrBlurredEdgeFragmentProcessor.fp",
37 "$_src/gpu/effects/GrCircleBlurFragmentProcessor.fp",
38 "$_src/gpu/effects/GrCircleEffect.fp",
39 "$_src/gpu/effects/GrConfigConversionEffect.fp",
40 "$_src/gpu/effects/GrConstColorProcessor.fp",
41 "$_src/gpu/effects/GrEllipseEffect.fp",
42 "$_src/gpu/effects/GrLumaColorFilterEffect.fp",
43 "$_src/gpu/effects/GrMagnifierEffect.fp",
[all …]
/external/skia/src/gpu/vk/
DGrVkCopyManager.cpp39 bool GrVkCopyManager::createCopyProgram(GrVkGpu* gpu) { in createCopyProgram() argument
42 const GrShaderCaps* shaderCaps = gpu->caps()->shaderCaps(); in createCopyProgram()
81 if (!GrCompileVkShaderModule(gpu, vertShaderText.c_str(), VK_SHADER_STAGE_VERTEX_BIT, in createCopyProgram()
84 this->destroyResources(gpu); in createCopyProgram()
89 if (!GrCompileVkShaderModule(gpu, fragShaderText.c_str(), VK_SHADER_STAGE_FRAGMENT_BIT, in createCopyProgram()
92 this->destroyResources(gpu); in createCopyProgram()
99 GrVkResourceProvider& resourceProvider = gpu->resourceProvider(); in createCopyProgram()
123 VkResult err = GR_VK_CALL(gpu->vkInterface(), CreatePipelineLayout(gpu->device(), in createCopyProgram()
128 this->destroyResources(gpu); in createCopyProgram()
140 fVertexBuffer = GrVkVertexBuffer::Make(gpu, sizeof(vdata), false); in createCopyProgram()
[all …]
DGrVkMemory.cpp34 bool GrVkMemory::AllocAndBindBufferMemory(const GrVkGpu* gpu, in AllocAndBindBufferMemory() argument
39 GrVkMemoryAllocator* allocator = gpu->memoryAllocator(); in AllocAndBindBufferMemory()
66 VkResult err = GR_VK_CALL(gpu->vkInterface(), BindBufferMemory(gpu->device(), buffer, in AllocAndBindBufferMemory()
70 FreeBufferMemory(gpu, type, *alloc); in AllocAndBindBufferMemory()
77 void GrVkMemory::FreeBufferMemory(const GrVkGpu* gpu, GrVkBuffer::Type type, in FreeBufferMemory() argument
80 GrVkMemoryAllocator* allocator = gpu->memoryAllocator(); in FreeBufferMemory()
83 GR_VK_CALL(gpu->vkInterface(), FreeMemory(gpu->device(), alloc.fMemory, nullptr)); in FreeBufferMemory()
89 bool GrVkMemory::AllocAndBindImageMemory(const GrVkGpu* gpu, in AllocAndBindImageMemory() argument
94 GrVkMemoryAllocator* allocator = gpu->memoryAllocator(); in AllocAndBindImageMemory()
98 GR_VK_CALL(gpu->vkInterface(), GetImageMemoryRequirements(gpu->device(), image, &memReqs)); in AllocAndBindImageMemory()
[all …]
DGrVkCommandBuffer.cpp44 void GrVkCommandBuffer::freeGPUData(GrVkGpu* gpu) const { in freeGPUData()
48 fTrackedResources[i]->unref(gpu); in freeGPUData()
53 fTrackedRecycledResources[i]->recycle(const_cast<GrVkGpu*>(gpu)); in freeGPUData()
58 fTrackedRecordingResources[i]->unref(gpu); in freeGPUData()
62 GR_VK_CALL(gpu->vkInterface(), FreeCommandBuffers(gpu->device(), fCmdPool->vkCommandPool(), in freeGPUData()
66 this->onFreeGPUData(gpu); in freeGPUData()
90 void GrVkCommandBuffer::releaseResources(GrVkGpu* gpu) { in releaseResources() argument
95 fTrackedResources[i]->unref(gpu); in releaseResources()
99 fTrackedRecycledResources[i]->recycle(const_cast<GrVkGpu*>(gpu)); in releaseResources()
104 fTrackedRecordingResources[i]->unref(gpu); in releaseResources()
[all …]
DGrVkBuffer.cpp22 const GrVkBuffer::Resource* GrVkBuffer::Create(const GrVkGpu* gpu, const Desc& desc) { in Create() argument
60 err = VK_CALL(gpu, CreateBuffer(gpu->device(), &bufInfo, nullptr, &buffer)); in Create()
65 if (!GrVkMemory::AllocAndBindBufferMemory(gpu, in Create()
75 VK_CALL(gpu, DestroyBuffer(gpu->device(), buffer, nullptr)); in Create()
76 GrVkMemory::FreeBufferMemory(gpu, desc.fType, alloc); in Create()
83 void GrVkBuffer::addMemoryBarrier(const GrVkGpu* gpu, in addMemoryBarrier() argument
102 gpu->addBufferMemoryBarrier(this->resource(), srcStageMask, dstStageMask, byRegion, in addMemoryBarrier()
106 void GrVkBuffer::Resource::freeGPUData(GrVkGpu* gpu) const { in freeGPUData()
109 VK_CALL(gpu, DestroyBuffer(gpu->device(), fBuffer, nullptr)); in freeGPUData()
110 GrVkMemory::FreeBufferMemory(gpu, fType, fAlloc); in freeGPUData()
[all …]
DGrVkCommandBuffer.h41 void pipelineBarrier(const GrVkGpu* gpu,
49 void bindInputBuffer(GrVkGpu* gpu, uint32_t binding, const GrVkVertexBuffer* vbuffer);
51 void bindIndexBuffer(GrVkGpu* gpu, const GrVkIndexBuffer* ibuffer);
53 void bindPipeline(const GrVkGpu* gpu, const GrVkPipeline* pipeline);
55 void bindDescriptorSets(const GrVkGpu* gpu,
64 void bindDescriptorSets(const GrVkGpu* gpu,
76 void setViewport(const GrVkGpu* gpu,
81 void setScissor(const GrVkGpu* gpu,
86 void setBlendConstants(const GrVkGpu* gpu, const float blendConstants[4]);
89 void clearAttachments(const GrVkGpu* gpu,
[all …]
DGrVkCommandPool.cpp14 GrVkCommandPool* GrVkCommandPool::Create(const GrVkGpu* gpu) { in Create() argument
20 gpu->queueIndex(), // queueFamilyIndex in Create()
23 GR_VK_CALL_ERRCHECK(gpu->vkInterface(), CreateCommandPool(gpu->device(), &cmdPoolInfo, in Create()
25 return new GrVkCommandPool(gpu, pool); in Create()
28 GrVkCommandPool::GrVkCommandPool(const GrVkGpu* gpu, VkCommandPool commandPool) in GrVkCommandPool() argument
30 fPrimaryCommandBuffer = GrVkPrimaryCommandBuffer::Create(gpu, this); in GrVkCommandPool()
33 GrVkSecondaryCommandBuffer* GrVkCommandPool::findOrCreateSecondaryCommandBuffer(GrVkGpu* gpu) { in findOrCreateSecondaryCommandBuffer() argument
39 return GrVkSecondaryCommandBuffer::Create(gpu, this); in findOrCreateSecondaryCommandBuffer()
51 void GrVkCommandPool::reset(GrVkGpu* gpu) { in reset() argument
55 GR_VK_CALL_ERRCHECK(gpu->vkInterface(), ResetCommandPool(gpu->device(), fCommandPool, 0)); in reset()
[all …]
DGrVkTextureRenderTarget.cpp21 GrVkTextureRenderTarget::GrVkTextureRenderTarget(GrVkGpu* gpu, in GrVkTextureRenderTarget() argument
32 : GrSurface(gpu, desc) in GrVkTextureRenderTarget()
34 , GrVkTexture(gpu, desc, info, layout, texView, mipMapsStatus, in GrVkTextureRenderTarget()
36 , GrVkRenderTarget(gpu, desc, info, layout, msaaInfo, std::move(msaaLayout), in GrVkTextureRenderTarget()
42 GrVkTextureRenderTarget::GrVkTextureRenderTarget(GrVkGpu* gpu, in GrVkTextureRenderTarget() argument
50 : GrSurface(gpu, desc) in GrVkTextureRenderTarget()
52 , GrVkTexture(gpu, desc, info, layout, texView, mipMapsStatus, in GrVkTextureRenderTarget()
54 , GrVkRenderTarget(gpu, desc, info, layout, colorAttachmentView, in GrVkTextureRenderTarget()
59 GrVkTextureRenderTarget::GrVkTextureRenderTarget(GrVkGpu* gpu, in GrVkTextureRenderTarget() argument
71 : GrSurface(gpu, desc) in GrVkTextureRenderTarget()
[all …]
DGrVkRenderTarget.cpp25 GrVkRenderTarget::GrVkRenderTarget(GrVkGpu* gpu, in GrVkRenderTarget() argument
33 : GrSurface(gpu, desc) in GrVkRenderTarget()
36 , GrRenderTarget(gpu, desc) in GrVkRenderTarget()
44 this->createFramebuffer(gpu); in GrVkRenderTarget()
50 GrVkRenderTarget::GrVkRenderTarget(GrVkGpu* gpu, in GrVkRenderTarget() argument
59 : GrSurface(gpu, desc) in GrVkRenderTarget()
62 , GrRenderTarget(gpu, desc) in GrVkRenderTarget()
70 this->createFramebuffer(gpu); in GrVkRenderTarget()
75 GrVkRenderTarget::GrVkRenderTarget(GrVkGpu* gpu, in GrVkRenderTarget() argument
80 : GrSurface(gpu, desc) in GrVkRenderTarget()
[all …]
/external/skqp/src/gpu/vk/
DGrVkCopyManager.cpp39 bool GrVkCopyManager::createCopyProgram(GrVkGpu* gpu) { in createCopyProgram() argument
42 const GrShaderCaps* shaderCaps = gpu->caps()->shaderCaps(); in createCopyProgram()
81 if (!GrCompileVkShaderModule(gpu, vertShaderText.c_str(), VK_SHADER_STAGE_VERTEX_BIT, in createCopyProgram()
84 this->destroyResources(gpu); in createCopyProgram()
89 if (!GrCompileVkShaderModule(gpu, fragShaderText.c_str(), VK_SHADER_STAGE_FRAGMENT_BIT, in createCopyProgram()
92 this->destroyResources(gpu); in createCopyProgram()
99 GrVkResourceProvider& resourceProvider = gpu->resourceProvider(); in createCopyProgram()
123 VkResult err = GR_VK_CALL(gpu->vkInterface(), CreatePipelineLayout(gpu->device(), in createCopyProgram()
128 this->destroyResources(gpu); in createCopyProgram()
140 fVertexBuffer = GrVkVertexBuffer::Make(gpu, sizeof(vdata), false); in createCopyProgram()
[all …]
DGrVkCommandBuffer.cpp44 void GrVkCommandBuffer::freeGPUData(GrVkGpu* gpu) const { in freeGPUData()
48 fTrackedResources[i]->unref(gpu); in freeGPUData()
53 fTrackedRecycledResources[i]->recycle(const_cast<GrVkGpu*>(gpu)); in freeGPUData()
58 fTrackedRecordingResources[i]->unref(gpu); in freeGPUData()
62 GR_VK_CALL(gpu->vkInterface(), FreeCommandBuffers(gpu->device(), fCmdPool->vkCommandPool(), in freeGPUData()
66 this->onFreeGPUData(gpu); in freeGPUData()
90 void GrVkCommandBuffer::releaseResources(GrVkGpu* gpu) { in releaseResources() argument
95 fTrackedResources[i]->unref(gpu); in releaseResources()
99 fTrackedRecycledResources[i]->recycle(const_cast<GrVkGpu*>(gpu)); in releaseResources()
104 fTrackedRecordingResources[i]->unref(gpu); in releaseResources()
[all …]
DGrVkMemory.cpp34 bool GrVkMemory::AllocAndBindBufferMemory(const GrVkGpu* gpu, in AllocAndBindBufferMemory() argument
39 GrVkMemoryAllocator* allocator = gpu->memoryAllocator(); in AllocAndBindBufferMemory()
66 VkResult err = GR_VK_CALL(gpu->vkInterface(), BindBufferMemory(gpu->device(), buffer, in AllocAndBindBufferMemory()
70 FreeBufferMemory(gpu, type, *alloc); in AllocAndBindBufferMemory()
77 void GrVkMemory::FreeBufferMemory(const GrVkGpu* gpu, GrVkBuffer::Type type, in FreeBufferMemory() argument
80 GrVkMemoryAllocator* allocator = gpu->memoryAllocator(); in FreeBufferMemory()
83 GR_VK_CALL(gpu->vkInterface(), FreeMemory(gpu->device(), alloc.fMemory, nullptr)); in FreeBufferMemory()
89 bool GrVkMemory::AllocAndBindImageMemory(const GrVkGpu* gpu, in AllocAndBindImageMemory() argument
94 GrVkMemoryAllocator* allocator = gpu->memoryAllocator(); in AllocAndBindImageMemory()
98 GR_VK_CALL(gpu->vkInterface(), GetImageMemoryRequirements(gpu->device(), image, &memReqs)); in AllocAndBindImageMemory()
[all …]
DGrVkCommandBuffer.h41 void pipelineBarrier(const GrVkGpu* gpu,
48 void bindInputBuffer(GrVkGpu* gpu, uint32_t binding, const GrVkVertexBuffer* vbuffer);
50 void bindIndexBuffer(GrVkGpu* gpu, const GrVkIndexBuffer* ibuffer);
52 void bindPipeline(const GrVkGpu* gpu, const GrVkPipeline* pipeline);
54 void bindDescriptorSets(const GrVkGpu* gpu,
63 void bindDescriptorSets(const GrVkGpu* gpu,
75 void setViewport(const GrVkGpu* gpu,
80 void setScissor(const GrVkGpu* gpu,
85 void setBlendConstants(const GrVkGpu* gpu, const float blendConstants[4]);
88 void clearAttachments(const GrVkGpu* gpu,
[all …]
DGrVkCommandPool.cpp14 GrVkCommandPool* GrVkCommandPool::Create(const GrVkGpu* gpu) { in Create() argument
20 gpu->queueIndex(), // queueFamilyIndex in Create()
23 GR_VK_CALL_ERRCHECK(gpu->vkInterface(), CreateCommandPool(gpu->device(), &cmdPoolInfo, in Create()
25 return new GrVkCommandPool(gpu, pool); in Create()
28 GrVkCommandPool::GrVkCommandPool(const GrVkGpu* gpu, VkCommandPool commandPool) in GrVkCommandPool() argument
30 fPrimaryCommandBuffer = GrVkPrimaryCommandBuffer::Create(gpu, this); in GrVkCommandPool()
33 GrVkSecondaryCommandBuffer* GrVkCommandPool::findOrCreateSecondaryCommandBuffer(GrVkGpu* gpu) { in findOrCreateSecondaryCommandBuffer() argument
39 return GrVkSecondaryCommandBuffer::Create(gpu, this); in findOrCreateSecondaryCommandBuffer()
51 void GrVkCommandPool::reset(GrVkGpu* gpu) { in reset() argument
55 GR_VK_CALL_ERRCHECK(gpu->vkInterface(), ResetCommandPool(gpu->device(), fCommandPool, 0)); in reset()
[all …]
DGrVkBuffer.cpp22 const GrVkBuffer::Resource* GrVkBuffer::Create(const GrVkGpu* gpu, const Desc& desc) { in Create() argument
60 err = VK_CALL(gpu, CreateBuffer(gpu->device(), &bufInfo, nullptr, &buffer)); in Create()
65 if (!GrVkMemory::AllocAndBindBufferMemory(gpu, in Create()
75 VK_CALL(gpu, DestroyBuffer(gpu->device(), buffer, nullptr)); in Create()
76 GrVkMemory::FreeBufferMemory(gpu, desc.fType, alloc); in Create()
83 void GrVkBuffer::addMemoryBarrier(const GrVkGpu* gpu, in addMemoryBarrier() argument
102 gpu->addBufferMemoryBarrier(srcStageMask, dstStageMask, byRegion, &bufferMemoryBarrier); in addMemoryBarrier()
105 void GrVkBuffer::Resource::freeGPUData(GrVkGpu* gpu) const { in freeGPUData()
108 VK_CALL(gpu, DestroyBuffer(gpu->device(), fBuffer, nullptr)); in freeGPUData()
109 GrVkMemory::FreeBufferMemory(gpu, fType, fAlloc); in freeGPUData()
[all …]
DGrVkTextureRenderTarget.cpp21 GrVkTextureRenderTarget::GrVkTextureRenderTarget(GrVkGpu* gpu, in GrVkTextureRenderTarget() argument
32 : GrSurface(gpu, desc) in GrVkTextureRenderTarget()
34 , GrVkTexture(gpu, desc, info, layout, texView, mipMapsStatus, in GrVkTextureRenderTarget()
36 , GrVkRenderTarget(gpu, desc, info, layout, msaaInfo, std::move(msaaLayout), in GrVkTextureRenderTarget()
42 GrVkTextureRenderTarget::GrVkTextureRenderTarget(GrVkGpu* gpu, in GrVkTextureRenderTarget() argument
50 : GrSurface(gpu, desc) in GrVkTextureRenderTarget()
52 , GrVkTexture(gpu, desc, info, layout, texView, mipMapsStatus, in GrVkTextureRenderTarget()
54 , GrVkRenderTarget(gpu, desc, info, layout, colorAttachmentView, in GrVkTextureRenderTarget()
59 GrVkTextureRenderTarget::GrVkTextureRenderTarget(GrVkGpu* gpu, in GrVkTextureRenderTarget() argument
71 : GrSurface(gpu, desc) in GrVkTextureRenderTarget()
[all …]
DGrVkRenderTarget.cpp25 GrVkRenderTarget::GrVkRenderTarget(GrVkGpu* gpu, in GrVkRenderTarget() argument
33 : GrSurface(gpu, desc) in GrVkRenderTarget()
36 , GrRenderTarget(gpu, desc) in GrVkRenderTarget()
44 this->createFramebuffer(gpu); in GrVkRenderTarget()
50 GrVkRenderTarget::GrVkRenderTarget(GrVkGpu* gpu, in GrVkRenderTarget() argument
59 : GrSurface(gpu, desc) in GrVkRenderTarget()
62 , GrRenderTarget(gpu, desc) in GrVkRenderTarget()
70 this->createFramebuffer(gpu); in GrVkRenderTarget()
75 GrVkRenderTarget::GrVkRenderTarget(GrVkGpu* gpu, in GrVkRenderTarget() argument
80 : GrSurface(gpu, desc) in GrVkRenderTarget()
[all …]
/external/skqp/
DAndroid.bp97 "include/gpu/",
112 "src/gpu/",
135 "tools/gpu/",
136 "tools/gpu/vk/",
787 "src/gpu/GrAHardwareBufferImageGenerator.cpp",
788 "src/gpu/GrAuditTrail.cpp",
789 "src/gpu/GrBackendSurface.cpp",
790 "src/gpu/GrBackendTextureImageGenerator.cpp",
791 "src/gpu/GrBitmapTextureMaker.cpp",
792 "src/gpu/GrBlurUtils.cpp",
[all …]
/external/libdrm/etnaviv/
Detnaviv_gpu.c49 struct etna_gpu *gpu; in etna_gpu_new() local
51 gpu = calloc(1, sizeof(*gpu)); in etna_gpu_new()
52 if (!gpu) { in etna_gpu_new()
57 gpu->dev = dev; in etna_gpu_new()
58 gpu->core = core; in etna_gpu_new()
60 gpu->model = get_param(dev, core, ETNAVIV_PARAM_GPU_MODEL); in etna_gpu_new()
61 gpu->revision = get_param(dev, core, ETNAVIV_PARAM_GPU_REVISION); in etna_gpu_new()
63 if (!gpu->model) in etna_gpu_new()
66 INFO_MSG(" GPU model: 0x%x (rev %x)", gpu->model, gpu->revision); in etna_gpu_new()
68 return gpu; in etna_gpu_new()
[all …]
/external/skqp/tests/
DVkMakeCopyPipelineTest.cpp35 void test(GrVkGpu* gpu, skiatest::Reporter* reporter) { in test() argument
69 if (!GrCompileVkShaderModule(gpu, vertShaderText, VK_SHADER_STAGE_VERTEX_BIT, in test()
72 this->destroyResources(gpu); in test()
78 if (!GrCompileVkShaderModule(gpu, fragShaderText, VK_SHADER_STAGE_FRAGMENT_BIT, in test()
81 this->destroyResources(gpu); in test()
88 GrVkResourceProvider& resourceProvider = gpu->resourceProvider(); in test()
111 VkResult err = GR_VK_CALL(gpu->vkInterface(), CreatePipelineLayout(gpu->device(), in test()
116 this->destroyResources(gpu); in test()
127 sk_sp<GrTexture> tex = gpu->createTexture(surfDesc, SkBudgeted::kNo); in test()
129 this->destroyResources(gpu); in test()
[all …]
/external/skia/tests/
DVkMakeCopyPipelineTest.cpp35 void test(GrVkGpu* gpu, skiatest::Reporter* reporter) { in test() argument
69 if (!GrCompileVkShaderModule(gpu, vertShaderText, VK_SHADER_STAGE_VERTEX_BIT, in test()
72 this->destroyResources(gpu); in test()
78 if (!GrCompileVkShaderModule(gpu, fragShaderText, VK_SHADER_STAGE_FRAGMENT_BIT, in test()
81 this->destroyResources(gpu); in test()
88 GrVkResourceProvider& resourceProvider = gpu->resourceProvider(); in test()
111 VkResult err = GR_VK_CALL(gpu->vkInterface(), CreatePipelineLayout(gpu->device(), in test()
116 this->destroyResources(gpu); in test()
127 sk_sp<GrTexture> tex = gpu->createTexture(surfDesc, SkBudgeted::kNo); in test()
129 this->destroyResources(gpu); in test()
[all …]
/external/autotest/client/site_tests/graphics_dEQP/scripts/
Dfailure_matrix.py64 def get_problem_count(dict, gpu): argument
65 if gpu in dict:
66 if not dict[gpu]:
69 for status in dict[gpu]:
71 count = count + len((dict[gpu])[status])
78 if status in dict[gpu]:
79 count = count + len((dict[gpu])[status])
81 print 'Warning: %s not found in dict!' % gpu
87 for gpu in dict:
89 if status in dict[gpu]:
[all …]

12345678910>>...44