ওয়েবকোডেক্স ইন্টিগ্রেশন
WebGPU importExternalTexture()
এর মাধ্যমে HTMLVideoElement
থেকে অস্বচ্ছ "বহিরাগত টেক্সচার" বস্তু তৈরি করতে একটি API প্রকাশ করে। আপনি ভিডিও ফ্রেমগুলিকে দক্ষতার সাথে নমুনা করতে এই বস্তুগুলি ব্যবহার করতে পারেন, সম্ভাব্যভাবে সরাসরি উৎস YUV রঙ মডেল ডেটা থেকে 0-কপি উপায়ে৷
যাইহোক, প্রাথমিক WebGPU স্পেসিফিকেশন WebCodecs VideoFrame
অবজেক্ট থেকে GPUExternalTexture
অবজেক্ট তৈরি করার অনুমতি দেয়নি। এই ক্ষমতা উন্নত ভিডিও প্রসেসিং অ্যাপগুলির জন্য গুরুত্বপূর্ণ যেগুলি ইতিমধ্যেই WebCodecs ব্যবহার করে এবং ভিডিও প্রক্রিয়াকরণ পাইপলাইনে WebGPU সংহত করতে চায়৷ WebCodecs ইন্টিগ্রেশন একটি GPUExternalTexture
এবং একটি copyExternalImageToTexture()
কলের উত্স হিসাবে VideoFrame
ব্যবহার করার জন্য সমর্থন যোগ করে৷ নিম্নলিখিত উদাহরণ, এবং ক্রোমেস্ট্যাটাস এন্ট্রি দেখুন।
// Access the GPU device.
const adapter = await navigator.gpu.requestAdapter();
const device = await adapter.requestDevice();
// Create VideoFrame from HTMLVideoElement.
const video = document.querySelector("video");
const videoFrame = new VideoFrame(video);
// Create texture from VideoFrame.
const texture = device.importExternalTexture({ source: videoFrame });
// TODO: Use texture in bind group creation.
এটির সাথে খেলতে WebCodecs পরীক্ষামূলক নমুনার সাথে ভিডিও আপলোডিং দেখুন।
হারিয়ে যাওয়া ডিভাইস GPUAdapter requestDevice() দ্বারা ফেরত দেওয়া হয়েছে
যদি GPUAdapter
এ requestDevice()
পদ্ধতিটি ব্যর্থ হয় কারণ এটি ইতিমধ্যেই একটি GPUDevice
তৈরি করতে ব্যবহৃত হয়েছে, তাহলে এটি এখন null
দিয়ে প্রত্যাখ্যান করা একটি প্রতিশ্রুতি ফিরিয়ে দেওয়ার পরিবর্তে অবিলম্বে হারিয়ে যাওয়া হিসাবে চিহ্নিত একটি GPUDevice
দিয়ে পূরণ করে। ক্রোমিয়াম সংখ্যা দেখুন:1234617 ।
const adapter = await navigator.gpu.requestAdapter();
const device1 = await adapter.requestDevice();
// New! The promise is not rejected anymore with null.
const device2 = await adapter.requestDevice();
// And the device is immediately marked as lost.
const info = await device2.lost;
importExternalTexture() বলা হলে ভিডিও প্লেব্যাক মসৃণ রাখুন
যখন importExternalTexture()
একটি HTMLVideoElement
এর সাথে কল করা হয়, ভিডিওটি ভিউপোর্টে দৃশ্যমান না হলে সংশ্লিষ্ট ভিডিও প্লেব্যাকটি আর থ্রোটল করা হয় না। ক্রোমিয়াম সংখ্যা দেখুন:1425252 ।
বিশেষ সঙ্গতি
GPUPipelineError()
কনস্ট্রাক্টরের message
আর্গুমেন্ট ঐচ্ছিক। ক্রোমিয়াম পরিবর্তন দেখুন:4613967 ।
WGSL সোর্স code
\0
থাকলে createShaderModule()
কল করার সময় একটি ত্রুটি দেখা দেয়। দেখুন ভোরের সংখ্যা: 1345 ।
createSampler()
দিয়ে টেক্সচার স্যাম্পল করার সময় ডিফল্ট সর্বোচ্চ মাত্রার বিস্তারিত ( lodMaxClamp
) ব্যবহার করা হয় 32। দেখুন পরিবর্তন ক্রোমিয়াম:4608063 ।
বিকাশকারীর অভিজ্ঞতা উন্নত করা
ডেভেলপাররা যখন অসমর্থিত প্ল্যাটফর্মে WebGPU ব্যবহার করছেন তখন তাদের মনে করিয়ে দিতে DevTools JavaScript কনসোলে একটি বার্তা প্রদর্শিত হয়। ক্রোমিয়াম পরিবর্তন দেখুন:4589369 ।
ডেভেলপারদের সারিতে কমান্ড পাঠাতে বাধ্য না করে getMappedRange()
ব্যর্থ হলে বাফার যাচাইকরণের ত্রুটি বার্তাগুলি অবিলম্বে DevTools JavaScript কনসোলে দেখানো হয়। ক্রোমিয়াম পরিবর্তন দেখুন:4597950 ।
ভোরের আপডেট
disallow_unsafe_apis
ডিবাগ টগলের নাম পরিবর্তন করে allow_unsafe_apis
করা হয়েছে এবং এটিকে ডিফল্ট অক্ষম করা হয়েছে। এই টগলটি API এন্ট্রি পয়েন্ট বা প্যারামিটার সংমিশ্রণে যাচাইকরণ ত্রুটিগুলিকে দমন করে যা এখনও নিরাপদ বলে বিবেচিত হয় না। এটি ডিবাগ করার জন্য দরকারী হতে পারে। দেখুন ভোরের সংখ্যা:1685 ।
wgpu::ShaderModuleWGSLDescriptor
অবচিত source
বৈশিষ্ট্য code
পক্ষে সরানো হয়েছে। দেখুন পরিবর্তন ভোর:130321 ।
অনুপস্থিত wgpu::RenderBundle::SetLabel()
পদ্ধতি প্রয়োগ করা হয়েছে। দেখুন পরিবর্তন ভোরঃ 134502 ।
wgpu::RequestAdapterOptionsBackendType
বিকল্পের সাথে অ্যাডাপ্টার পাওয়ার সময় অ্যাপ্লিকেশনগুলি একটি নির্দিষ্ট ব্যাকএন্ডের জন্য অনুরোধ করতে পারে। নীচের একটি উদাহরণ দেখুন এবং প্রভাত সংখ্যা:1875 ।
wgpu::RequestAdapterOptionsBackendType backendTypeOptions = {};
backendTypeOptions.backendType = wgpu::BackendType::D3D12;
wgpu::RequestAdapterOptions options = {};
options.nextInChain = &backendTypeOptions;
// Request D3D12 adapter.
myInstance.RequestAdapter(&options, myCallback, myUserData);
একটি নতুন SwapChain::GetCurrentTexture()
পদ্ধতি swapchain টেক্সচারের জন্য অতিরিক্ত ব্যবহারের সাথে যোগ করা হয়েছে যাতে রিটার্ন wgpu::Texture
কপিতে ব্যবহার করা যায়। নীচের একটি উদাহরণ দেখুন এবং প্রভাত সংখ্যা:1551 ।
wgpu::SwapChain swapchain = myDevice.CreateSwapChain(mySurface, &myDesc);
swapchain.GetCurrentTexture();
swapchain.Present();
এটি শুধুমাত্র কিছু মূল হাইলাইট কভার করে। কমিটের সম্পূর্ণ তালিকা দেখুন।
WebGPU-তে নতুন কি আছে
ওয়েবজিপিইউ সিরিজে নতুন কী কভার করা হয়েছে তার একটি তালিকা।
ক্রোম 131
- WGSL এ ক্লিপ দূরত্ব
- GPUCanvasContext getConfiguration()
- বিন্দু এবং লাইন আদিম গভীরতা পক্ষপাত থাকতে হবে না
- সাবগ্রুপগুলির জন্য অন্তর্নির্মিত ফাংশন অন্তর্ভুক্ত স্ক্যান
- মাল্টি-ড্র পরোক্ষ জন্য পরীক্ষামূলক সমর্থন
- Shader মডিউল সংকলন বিকল্প কঠোর গণিত
- GPUAdapter requestAdapterInfo() সরান
- ভোরের আপডেট
ক্রোম 130
- দ্বৈত উৎস মিশ্রন
- ধাতুতে Shader সংকলন সময় উন্নতি
- GPUAdapter রিকোয়েস্ট অ্যাডাপ্টারইনফো() এর অবচয়
- ভোরের আপডেট
ক্রোম 129
ক্রোম 128
- সাবগ্রুপগুলির সাথে পরীক্ষা করা হচ্ছে
- লাইন এবং পয়েন্টের জন্য গভীরতার পক্ষপাত সেটিং বাতিল করুন
- ডিফল্ট প্রতিরোধ করলে ক্যাপচারড ত্রুটি DevTools সতর্কতা লুকান
- WGSL ইন্টারপোলেট স্যাম্পলিং প্রথমে এবং হয়
- ভোরের আপডেট
ক্রোম 127
- অ্যান্ড্রয়েডে OpenGL ES-এর জন্য পরীক্ষামূলক সমর্থন
- GPUAdapter তথ্য বৈশিষ্ট্য
- WebAssembly ইন্টারপ উন্নতি
- উন্নত কমান্ড এনকোডার ত্রুটি
- ভোরের আপডেট
ক্রোম 126
- maxTextureArrayLayers সীমা বাড়ান
- Vulkan ব্যাকএন্ডের জন্য বাফার আপলোড অপ্টিমাইজেশান
- Shader সংকলন সময় উন্নতি
- জমা দেওয়া কমান্ড বাফার অনন্য হতে হবে
- ভোরের আপডেট
ক্রোম 125
ক্রোম 124
- রিড-ওনলি এবং রিড-রাইট স্টোরেজ টেক্সচার
- সেবা কর্মী এবং শেয়ার্ড ওয়ার্কার্স সমর্থন
- নতুন অ্যাডাপ্টারের তথ্য বৈশিষ্ট্য
- বাগ ফিক্স
- ভোরের আপডেট
ক্রোম 123
- DP4a বিল্ট-ইন ফাংশন WGSL-এ সমর্থন করে
- WGSL-এ অনিয়ন্ত্রিত পয়েন্টার পরামিতি
- WGSL-এ কম্পোজিট ডিরেফারেন্স করার জন্য সিনট্যাক্স চিনি
- স্টেনসিল এবং গভীরতার দিকগুলির জন্য আলাদা পঠনযোগ্য অবস্থা
- ভোরের আপডেট
ক্রোম 122
- সামঞ্জস্যপূর্ণ মোডের সাথে নাগাল প্রসারিত করুন (বিকাশের বৈশিষ্ট্য)
- maxVertexAttributes সীমা বাড়ান
- ভোরের আপডেট
ক্রোম 121
- অ্যান্ড্রয়েডে WebGPU সমর্থন করুন
- উইন্ডোজে শেডার কম্পাইলেশনের জন্য FXC-এর পরিবর্তে DXC ব্যবহার করুন
- গণনা এবং রেন্ডার পাসে টাইমস্ট্যাম্প প্রশ্ন
- শেডার মডিউলে ডিফল্ট এন্ট্রি পয়েন্ট
- GPUExternalTexture রঙের স্থান হিসাবে প্রদর্শন-p3 সমর্থন করে
- মেমরি হিপ তথ্য
- ভোরের আপডেট
ক্রোম 120
- WGSL-এ 16-বিট ফ্লোটিং-পয়েন্ট মানগুলির জন্য সমর্থন
- সীমা ধাক্কা
- গভীরতা-স্টেনসিল অবস্থায় পরিবর্তন
- অ্যাডাপ্টারের তথ্য আপডেট
- টাইমস্ট্যাম্প ক্যোয়ান্টাইজেশন
- বসন্ত-পরিষ্কার বৈশিষ্ট্য
ক্রোম 119
- ফিল্টারযোগ্য 32-বিট ফ্লোট টেক্সচার
- unorm10-10-10-2 শীর্ষবিন্দু বিন্যাস
- rgb10a2uint টেক্সচার ফরম্যাট
- ভোরের আপডেট
ক্রোম 118
-
copyExternalImageToTexture()
এ HTMLImageElement এবং ImageData সমর্থন - পঠন-লেখা এবং শুধুমাত্র-পঠন সঞ্চয়স্থান টেক্সচারের জন্য পরীক্ষামূলক সমর্থন
- ভোরের আপডেট
ক্রোম 117
- শীর্ষবিন্দু বাফার আনসেট করুন
- বাইন্ড গ্রুপ আনসেট করুন
- ডিভাইস হারিয়ে গেলে অ্যাসিঙ্ক পাইপলাইন তৈরির ত্রুটিগুলি নীরব করুন৷
- SPIR-V shader মডিউল তৈরির আপডেট
- বিকাশকারীর অভিজ্ঞতা উন্নত করা
- স্বয়ংক্রিয়ভাবে তৈরি লেআউট সহ পাইপলাইন ক্যাশ করা হচ্ছে
- ভোরের আপডেট
ক্রোম 116
- ওয়েবকোডেক্স ইন্টিগ্রেশন
- হারিয়ে যাওয়া ডিভাইস GPUAdapter
requestDevice()
দ্বারা ফেরত দেওয়া হয়েছে -
importExternalTexture()
বলা হলে ভিডিও প্লেব্যাক মসৃণ রাখুন - বিশেষ সঙ্গতি
- বিকাশকারীর অভিজ্ঞতা উন্নত করা
- ভোরের আপডেট
ক্রোম 115
- WGSL ভাষা এক্সটেনশন সমর্থিত
- Direct3D 11 এর জন্য পরীক্ষামূলক সমর্থন
- AC পাওয়ারে ডিফল্টরূপে আলাদা GPU পান
- বিকাশকারীর অভিজ্ঞতা উন্নত করা
- ভোরের আপডেট
ক্রোম 114
- জাভাস্ক্রিপ্ট অপ্টিমাইজ করুন
- getCurrentTexture() কনফিগার না করা ক্যানভাসে InvalidStateError নিক্ষেপ করে
- WGSL আপডেট
- ভোরের আপডেট