দ্বৈত উৎস মিশ্রন
একটি একক ফ্রেমবাফারে দুটি ফ্র্যাগমেন্ট শেডার আউটপুট একত্রিত করাকে ডুয়াল সোর্স ব্লেন্ডিং বলা হয়। এই কৌশলটি বিশেষ করে এমন অ্যাপ্লিকেশনগুলির জন্য দরকারী যেগুলির জন্য জটিল মিশ্রন ক্রিয়াকলাপ প্রয়োজন, যেমন পোর্টার-ডাফ ব্লেন্ড মোডগুলির উপর ভিত্তি করে৷ একটি একক রেন্ডার পাস দিয়ে পরবর্তী রেন্ডার পাস প্রতিস্থাপন করে, ডুয়াল সোর্স মিশ্রন কর্মক্ষমতা এবং নমনীয়তা বাড়াতে পারে।
নতুন "dual-source-blending"
ওয়েবজিপিইউ বৈশিষ্ট্যটি আপনাকে @location(0)
এ WGSL @blend_src
অ্যাট্রিবিউট ব্যবহার করতে দেয় মিশ্রন উত্স সূচক এবং নিম্নলিখিত মিশ্রণের কারণগুলি বোঝাতে: "src1"
, "one-minus-src1"
, "src1-alpha"
, এবং "one-minus-src1-alpha"
। নিম্নলিখিত স্নিপেট, ক্রোমেস্ট্যাটাস এন্ট্রি এবং ইস্যু 341973423 দেখুন।
const adapter = await navigator.gpu.requestAdapter();
if (!adapter.features.has("dual-source-blending")) {
throw new Error("Dual source blending support is not available");
}
// Explicitly request dual source blending support.
const device = await adapter.requestDevice({
requiredFeatures: ["dual-source-blending"],
});
const code = `
enable dual_source_blending;
struct FragOut {
@location(0) @blend_src(0) color : vec4f,
@location(0) @blend_src(1) blend : vec4f,
}
@fragment fn main() -> FragOut {
var output : FragOut;
output.color = vec4f(1.0, 1.0, 1.0, 1.0);
output.blend = vec4f(0.5, 0.5, 0.5, 0.5);
return output;
}
`;
const shaderModule = device.createShaderModule({ code });
// Create a render pipeline with this shader module
// and run the shader on the GPU...
ধাতুতে Shader সংকলন সময় উন্নতি
ক্রোম টিম মেটাল ব্যাকএন্ড সহ WebGPU সমর্থন করে এমন ডিভাইসগুলির জন্য একটি মধ্যবর্তী প্রতিনিধিত্ব (IR) প্রবর্তনের মাধ্যমে Tint, WebGPU শেডার ভাষা সংকলককে উন্নত করছে৷ এই আইআর, টিন্টের অ্যাবস্ট্রাক্ট সিনট্যাক্স ট্রি (এএসটি) এবং মেটাল ব্যাকএন্ড রাইটারের মধ্যে অবস্থিত, কম্পাইলারটিকে আরও দক্ষ এবং রক্ষণাবেক্ষণযোগ্য করে তুলবে, শেষ পর্যন্ত ডেভেলপার এবং ব্যবহারকারী উভয়কেই উপকৃত করবে। প্রাথমিক পরীক্ষাগুলি দেখায় যে টিন্টের নতুন সংস্করণটি 10 গুণ দ্রুততর হয় যখন ইউনিটির ডাব্লুজিএসএল শেডারগুলিকে এমএসএল-এ অনুবাদ করা হয়।
এই উন্নতিগুলি, ইতিমধ্যেই অ্যান্ড্রয়েড এবং ক্রোমওএস-এ অ্যাক্সেসযোগ্য, ম্যাকওএস ডিভাইসগুলিতে ধীরে ধীরে প্রসারিত হচ্ছে যা মেটাল ব্যাকএন্ডের সাথে WebGPU সমর্থন করে৷ সংখ্যা 42251016 দেখুন।
GPUAdapter রিকোয়েস্ট অ্যাডাপ্টারইনফো() এর অবচয়
GPUAdapter requestAdapterInfo()
অ্যাসিঙ্ক্রোনাস পদ্ধতিটি অপ্রয়োজনীয় কারণ বিকাশকারীরা ইতিমধ্যেই GPUAdapter info
বৈশিষ্ট্য ব্যবহার করে সিঙ্ক্রোনাসভাবে GPUAdapterInfo পেতে পারে। তাই, নন-স্ট্যান্ডার্ড GPUAdapter requestAdapterInfo()
পদ্ধতিটি এখন বাতিল করা হয়েছে। অবমূল্যায়ন করার অভিপ্রায় দেখুন।
ভোরের আপডেট
webgpu.h C API এক্সটেনশন স্ট্রাকটের জন্য কিছু নামকরণ প্রথাকে সংজ্ঞায়িত করেছে। নিচের নাম পরিবর্তন এবং ইস্যু 42241174 দেখুন।
WGPURenderPassDescriptor এক্সটেনশন | |
WGPURenderPassDescriptorMaxDrawCount -> | WGPURenderPassMaxDrawCount |
WGPUShaderModuleDescriptor এক্সটেনশন | |
WGPUShaderModuleSPIRVDescriptor -> | WGPUShaderSourceSPIRV |
WGPUShaderModuleWGSLDescriptor -> | WGPUShaderSourceWGSL |
WGPUSurfaceDescriptor এক্সটেনশন | |
WGPUSurfaceDescriptorFromMetalLayer -> | WGPUSurfaceSourceMetalLayer |
WGPUSurfaceDescriptorFromWindowsHWND -> | WGPUSurfaceSourceWindowsHWND |
WGPUSurfaceDescriptorFromXlibWindow -> | WGPUSurfaceSourceXlibWindow |
WGPUSurfaceDescriptorFromWaylandSurface -> | WGPUSurfaceSourceWaylandSurface |
WGPUSurfaceDescriptorFromAndroidNativeWindow -> | WGPUSurfaceSourceAndroidNativeWindow |
WGPUSurfaceDescriptorFromXcbWindow -> | WGPUSurfaceSourceXCBWindow |
WGPUSurfaceDescriptorFromCanvasHTMLSelector -> | WGPUSurfaceSourceCanvasHTMLSelector_Emscripten |
WGPUDepthStencilState
এর depthWriteEnabled
অ্যাট্রিবিউট টাইপ জাভাস্ক্রিপ্ট API-এর মতো এর তিনটি সম্ভাব্য অবস্থা (সত্য, মিথ্যা এবং অনির্ধারিত) প্রতিফলিত করার জন্য বুলিয়ান থেকে WGPUOptionalBool
এ স্যুইচ করে। আরও জানতে, নিম্নলিখিত কোড স্নিপেট এবং webgpu-হেডার PR দেখুন।
wgpu::DepthStencilState depthStencilState = {};
depthStencilState.depthWriteEnabled = wgpu::OptionalBool::True; // Undefined by default
এটি শুধুমাত্র কিছু মূল হাইলাইট কভার করে। কমিটের সম্পূর্ণ তালিকা দেখুন।
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 আপডেট
- ভোরের আপডেট