Browse Source

WebGPURenderer: Ignore `diagnostic()` method in firefox (#29306)

sunag 1 năm trước cách đây
mục cha
commit
841ea63101

+ 12 - 2
src/renderers/webgpu/nodes/WGSLNodeBuilder.js

@@ -149,6 +149,16 @@ if ( /Windows/g.test( navigator.userAgent ) ) {
 
 
 //
 //
 
 
+let diagnostics = '';
+
+if ( /Firefox/g.test( navigator.userAgent ) !== true ) {
+
+	diagnostics += 'diagnostic( off, derivative_uniformity );\n';
+
+}
+
+//
+
 class WGSLNodeBuilder extends NodeBuilder {
 class WGSLNodeBuilder extends NodeBuilder {
 
 
 	constructor( object, renderer ) {
 	constructor( object, renderer ) {
@@ -1246,8 +1256,8 @@ fn main( ${shaderData.attributes} ) -> VaryingsStruct {
 	_getWGSLFragmentCode( shaderData ) {
 	_getWGSLFragmentCode( shaderData ) {
 
 
 		return `${ this.getSignature() }
 		return `${ this.getSignature() }
-
-diagnostic( off, derivative_uniformity );
+// global
+${ diagnostics }
 
 
 // uniforms
 // uniforms
 ${shaderData.uniforms}
 ${shaderData.uniforms}

粤ICP备19079148号