- 
                Notifications
    
You must be signed in to change notification settings  - Fork 3.4k
 
Roll Emdawnwebgpu and repoint USE_WEBGPU tests at Emdawnwebgpu #25397
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 16 commits
595792c
              d12517b
              ef5a6da
              4f93d5f
              3d62df6
              e817b60
              e070e8e
              b3c5761
              c674a2c
              abd2580
              1dd4a1c
              9523fef
              1946c55
              1714f1c
              8ebf5ef
              74c3ec6
              f032e4d
              dfe379a
              e60d3d7
              f8dc3fc
              File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||
|---|---|---|---|---|---|---|---|---|
| 
          
            
          
           | 
    @@ -2586,6 +2586,7 @@ def test_contrib_ports(self): | |||||||
| 
     | 
||||||||
| @requires_network | ||||||||
| def test_remote_ports(self): | ||||||||
| self.set_setting('DEFAULT_TO_CXX') # emdawnwebgpu uses C++ internally | ||||||||
| self.emcc(test_file('hello_world.c'), ['--use-port=emdawnwebgpu']) | ||||||||
                
      
                  kainino0x marked this conversation as resolved.
               
              
                Outdated
          
            Show resolved
            Hide resolved
         | 
||||||||
| 
     | 
||||||||
| @crossplatform | ||||||||
| 
          
            
          
           | 
    @@ -9652,13 +9653,15 @@ def test_closure_full_js_library(self, args): | |||||||
| 
     | 
||||||||
| @also_with_wasm64 | ||||||||
                
      
                  kainino0x marked this conversation as resolved.
               
          
            Show resolved
            Hide resolved
         | 
||||||||
| def test_closure_webgpu(self): | ||||||||
| # This test can be removed if USE_WEBGPU is later included in INCLUDE_FULL_LIBRARY. | ||||||||
| if config.FROZEN_CACHE and self.get_setting('MEMORY64'): | ||||||||
| # CI configuration doesn't run `embuilder` with wasm64 on ports | ||||||||
| self.skipTest("test doesn't work with frozen cache") | ||||||||
| self.set_setting('DEFAULT_TO_CXX') # emdawnwebgpu uses C++ internally | ||||||||
| self.build('hello_world.c', cflags=[ | ||||||||
                
      
                  kainino0x marked this conversation as resolved.
               
              
                Outdated
          
            Show resolved
            Hide resolved
         | 
||||||||
| '--closure=1', | ||||||||
| '-Werror=closure', | ||||||||
| '-Wno-error=deprecated', | ||||||||
| '-sINCLUDE_FULL_LIBRARY', | ||||||||
| '-sUSE_WEBGPU', | ||||||||
| '--use-port=emdawnwebgpu', | ||||||||
| 
         There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Do we have any remaining tests for  There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. No, but I'm planning to remove it immediately after this (#25398).  | 
||||||||
| ]) | ||||||||
| 
     | 
||||||||
| # Tests --closure-args command line flag | ||||||||
| 
          
            
          
           | 
    @@ -12298,24 +12301,19 @@ def test_standalone_syscalls(self): | |||||||
| for engine in config.WASM_ENGINES: | ||||||||
| self.assertContained(expected, self.run_js('test.wasm', engine)) | ||||||||
| 
     | 
||||||||
| @parameterized({ | ||||||||
| '': ([],), | ||||||||
| 'assertions': (['-sASSERTIONS'],), | ||||||||
| 'closure': (['-sASSERTIONS', '--closure=1'],), | ||||||||
| 'dylink': (['-sMAIN_MODULE'],), | ||||||||
| }) | ||||||||
| def test_webgpu_compiletest(self, args): | ||||||||
| self.run_process([EMXX, test_file('webgpu_jsvalstore.cpp'), '-Wno-error=deprecated', '-sUSE_WEBGPU', '-sASYNCIFY'] + args) | ||||||||
| 
         There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Why is this test no longer useful? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The whole jsvalstore thing has been removed in Emdawnwebgpu. We have another mechanism but it would need entirely new tests.  | 
||||||||
| 
     | 
||||||||
| @flaky('https://github.com/emscripten-core/emscripten/issues/25343') | ||||||||
| @crossplatform | ||||||||
| @also_with_wasm64 | ||||||||
| @parameterized({ | ||||||||
| '': ([],), | ||||||||
| 'closure': (['--closure=1', '-Werror=closure'],), | ||||||||
| 'closure_assertions': (['--closure=1', '-Werror=closure', '-sASSERTIONS'],), | ||||||||
| }) | ||||||||
| def test_emdawnwebgpu_link_test(self, args): | ||||||||
| self.run_process([EMXX, test_file('test_emdawnwebgpu_link_test.cpp'), '--use-port=emdawnwebgpu', '-sASYNCIFY'] + args) | ||||||||
| if config.FROZEN_CACHE and self.get_setting('MEMORY64'): | ||||||||
| # CI configuration doesn't run `embuilder` with wasm64 on ports | ||||||||
| self.skipTest("test doesn't work with frozen cache") | ||||||||
| 
         There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Why is this  There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think it's because previously the cache was pre-populated with  I can try to pre-populate the cache with the appropriate Emdawnwebgpu objects if you think that's appropriate. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Lines 103 to 104 in 3b22cd6 
 I think it comes from this? I don't think it'll be that easy to add Emdawnwebgpu here though. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Oh, it would be added via this Line 139 in 3b22cd6 
 There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. But the old code and the new code here both use  There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Oh, sorry, I missed which test this was. I actually have no idea. If I remove emdawnwebgpu from my local cache and run the old test (on  Could the  There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Oh, CI has an explicit separate Embuilder step. Let me figure out how to test that locally and then see where I need to skip tests. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Okay, I figured out which configurations don't get precached and skipped only those. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. ... Although I did not figure out exactly why it was passing before and isn't now.   | 
||||||||
| self.emcc(test_file('test_emdawnwebgpu_link_test.cpp'), ['--use-port=emdawnwebgpu', '-sASYNCIFY'] + args) | ||||||||
| 
     | 
||||||||
| def test_signature_mismatch(self): | ||||||||
| create_file('a.c', 'void foo(); int main() { foo(); return 0; }') | ||||||||
| 
          
            
          
           | 
    ||||||||
Uh oh!
There was an error while loading. Please reload this page.