]>
zoso.dev Git - nano-pow.git/log
Chris Duncan [Mon, 9 Jun 2025 21:47:03 +0000 (14:47 -0700)]
Initial PBO test implementation. Needs refactoring and optimization.
Chris Duncan [Mon, 9 Jun 2025 21:45:32 +0000 (14:45 -0700)]
Move texture binding for downsampling out of loop since it only needs to be bound once.
Chris Duncan [Mon, 9 Jun 2025 21:41:15 +0000 (14:41 -0700)]
Query around draw call only instead of including viewport change. Remove unnecessary texture binding since it is the render target, not used to modify textures.
Chris Duncan [Mon, 9 Jun 2025 21:22:47 +0000 (14:22 -0700)]
End query immediately after drawing instead of waiting to unbind framebuffer.
Chris Duncan [Mon, 9 Jun 2025 21:22:06 +0000 (14:22 -0700)]
Log when reset is done. Fix redundant null check.
Chris Duncan [Mon, 9 Jun 2025 21:16:27 +0000 (14:16 -0700)]
Initialize downsample FBO array at setup instead of import.
Chris Duncan [Mon, 9 Jun 2025 21:15:19 +0000 (14:15 -0700)]
Reduce size of pixels array which is way larger than necessary.
Chris Duncan [Mon, 9 Jun 2025 20:55:45 +0000 (13:55 -0700)]
Reset first when running setup and again on error. Remove redundant integer check on canvas size.
Chris Duncan [Mon, 9 Jun 2025 20:13:37 +0000 (13:13 -0700)]
Clear RAF on check error.
Chris Duncan [Mon, 9 Jun 2025 19:28:19 +0000 (12:28 -0700)]
Clean up RAF when generate is done.
Chris Duncan [Mon, 9 Jun 2025 19:25:50 +0000 (12:25 -0700)]
Comment formatting.
Chris Duncan [Mon, 9 Jun 2025 18:52:50 +0000 (11:52 -0700)]
Check all result pixel values to ensure value is found if low bits happen to be zero, and use shortcut behavior for truthiness.
Chris Duncan [Mon, 9 Jun 2025 18:28:47 +0000 (11:28 -0700)]
Comment formatting.
Chris Duncan [Mon, 9 Jun 2025 18:28:06 +0000 (11:28 -0700)]
Zero out animation frame handle during reset.
Chris Duncan [Mon, 9 Jun 2025 18:06:19 +0000 (11:06 -0700)]
Add missing context initialization in setup call. Downsample much more aggressively with 8 rounds. Add check to ensure final canvas is divisible by 256 for downsampling.
Chris Duncan [Mon, 9 Jun 2025 18:01:15 +0000 (11:01 -0700)]
Remove another debug flag.
Chris Duncan [Mon, 9 Jun 2025 18:01:00 +0000 (11:01 -0700)]
Fix attempted delete of FBO instead of its texture.
Chris Duncan [Mon, 9 Jun 2025 18:00:33 +0000 (11:00 -0700)]
Separate context from canvas initialization.
Chris Duncan [Mon, 9 Jun 2025 18:00:02 +0000 (11:00 -0700)]
Remove unused debug flag now that Logger is used. Add function to calculate max size for device.
Chris Duncan [Mon, 9 Jun 2025 14:49:04 +0000 (07:49 -0700)]
Fix paths in config files.
Chris Duncan [Mon, 9 Jun 2025 14:42:21 +0000 (07:42 -0700)]
Update imports and build scripts.
Chris Duncan [Mon, 9 Jun 2025 14:31:10 +0000 (07:31 -0700)]
Adjust imports for validate functions.
Chris Duncan [Mon, 9 Jun 2025 14:24:22 +0000 (07:24 -0700)]
Move config into its own directory. Update import paths.
Chris Duncan [Mon, 9 Jun 2025 14:22:32 +0000 (07:22 -0700)]
Move generate implementations into generate directory.
Chris Duncan [Sun, 8 Jun 2025 20:32:14 +0000 (13:32 -0700)]
Split CPU generate and validate.
Chris Duncan [Sun, 8 Jun 2025 20:17:02 +0000 (13:17 -0700)]
Use logger class in CPU implementation.
Chris Duncan [Sun, 8 Jun 2025 07:43:43 +0000 (00:43 -0700)]
Add option to disable generate self-check on test page.
Chris Duncan [Sun, 8 Jun 2025 07:27:40 +0000 (00:27 -0700)]
Fix timeout error handling.
Chris Duncan [Sun, 8 Jun 2025 06:16:48 +0000 (23:16 -0700)]
Use logger class in GL implementation.
Chris Duncan [Sun, 8 Jun 2025 06:07:21 +0000 (23:07 -0700)]
Refactor bigint prototype extensions to helper function module.
Chris Duncan [Thu, 5 Jun 2025 22:11:29 +0000 (15:11 -0700)]
Extend bigint with random function.
Chris Duncan [Thu, 5 Jun 2025 18:42:57 +0000 (11:42 -0700)]
Fix missing debug flag assignment. Delay config file log until after logger is enabled.
Chris Duncan [Thu, 5 Jun 2025 18:31:00 +0000 (11:31 -0700)]
Indicate in output when logs are from browser instance.
Chris Duncan [Wed, 4 Jun 2025 21:56:32 +0000 (14:56 -0700)]
Extend GPU timeout periods.
Chris Duncan [Wed, 4 Jun 2025 21:53:58 +0000 (14:53 -0700)]
Use logger for debugging. Always reload device when restoring, it's cheap. Do not add dispatch loop to queue, just await as usual.
Chris Duncan [Wed, 4 Jun 2025 21:38:22 +0000 (14:38 -0700)]
Split initial steps and compute steps for separate recovery attempts.
Chris Duncan [Wed, 4 Jun 2025 21:36:34 +0000 (14:36 -0700)]
Type guard queue tasks.
Chris Duncan [Wed, 4 Jun 2025 19:28:09 +0000 (12:28 -0700)]
Allow queue calls to cut to the front of the line. Simplify lots of GPU logging. Eliminate redundant reset function.
Chris Duncan [Wed, 4 Jun 2025 18:50:47 +0000 (11:50 -0700)]
Extract queuing feature to utility class.
Chris Duncan [Wed, 4 Jun 2025 18:50:28 +0000 (11:50 -0700)]
Fix bigint extension when prefix included.
Chris Duncan [Wed, 4 Jun 2025 18:50:10 +0000 (11:50 -0700)]
Add self-check of generate results to test page.
Chris Duncan [Wed, 4 Jun 2025 17:53:35 +0000 (10:53 -0700)]
Disable "Go" button on test page during test.
Chris Duncan [Wed, 4 Jun 2025 15:03:15 +0000 (08:03 -0700)]
Refactor log utility function into class to allow separation of debug flags between implementations.
Chris Duncan [Wed, 4 Jun 2025 13:06:02 +0000 (06:06 -0700)]
Do not start when restoring, it has its own process. Remove deprecated function calls. Do not redestroy device already destroyed by browser.
Chris Duncan [Wed, 4 Jun 2025 13:05:22 +0000 (06:05 -0700)]
Combine GPU resource creation since they will always be initialized together and extra functions are redundant.
Chris Duncan [Tue, 3 Jun 2025 21:39:04 +0000 (14:39 -0700)]
Simplify error handling again.
Chris Duncan [Tue, 3 Jun 2025 21:16:44 +0000 (14:16 -0700)]
Improve error handling throughout GPU.
Chris Duncan [Tue, 3 Jun 2025 18:31:14 +0000 (11:31 -0700)]
Short processing queue idle check.
Chris Duncan [Tue, 3 Jun 2025 18:21:15 +0000 (11:21 -0700)]
Fix processing queue executing multiple tasks.
Chris Duncan [Tue, 3 Jun 2025 04:25:16 +0000 (21:25 -0700)]
Catch reset errors.
Chris Duncan [Tue, 3 Jun 2025 04:22:04 +0000 (21:22 -0700)]
Use isContextLost as a timeout for recovery. Throw if device cannot be recovered or setup fails.
Chris Duncan [Tue, 3 Jun 2025 04:21:03 +0000 (21:21 -0700)]
Context recovery should take way less than 30s.
Chris Duncan [Tue, 3 Jun 2025 03:56:43 +0000 (20:56 -0700)]
Convert context loss flag to timeout tracker to allow eventual exception if context restored event is never fired.
Chris Duncan [Tue, 3 Jun 2025 03:46:56 +0000 (20:46 -0700)]
Fail entire GL generate call if context cannot be restored after loss.
Chris Duncan [Mon, 2 Jun 2025 21:52:05 +0000 (14:52 -0700)]
Lazy load GL canvas and context.
Chris Duncan [Mon, 2 Jun 2025 21:51:40 +0000 (14:51 -0700)]
Remove unused WASM variable.
Chris Duncan [Mon, 2 Jun 2025 21:51:27 +0000 (14:51 -0700)]
Remove unused import and add logging to server.
Chris Duncan [Mon, 2 Jun 2025 19:57:13 +0000 (12:57 -0700)]
Delete redundant buffer binding.
Chris Duncan [Mon, 2 Jun 2025 19:23:19 +0000 (12:23 -0700)]
Pass input UBO components by separate views and offsets.
Chris Duncan [Mon, 2 Jun 2025 16:54:44 +0000 (09:54 -0700)]
Simplify GL uniform nomenclature.
Chris Duncan [Mon, 2 Jun 2025 16:54:17 +0000 (09:54 -0700)]
Copy GPU and GL tsconfig files into build/ for IDE validation.
Chris Duncan [Mon, 2 Jun 2025 12:50:04 +0000 (05:50 -0700)]
Include SPDX headers in generated compute shader.
Chris Duncan [Mon, 2 Jun 2025 12:42:07 +0000 (05:42 -0700)]
Merge branch 'test/refactor' into next/cpu
Chris Duncan [Sun, 1 Jun 2025 23:16:04 +0000 (16:16 -0700)]
Refactor recovery process for GPU.
Chris Duncan [Sun, 1 Jun 2025 20:07:23 +0000 (13:07 -0700)]
Import extensions at entry point only so it doesn't need to be imported to each module individually after bundling.
Chris Duncan [Sun, 1 Jun 2025 19:58:56 +0000 (12:58 -0700)]
Fix GPU debug logging.
Chris Duncan [Sun, 1 Jun 2025 19:58:36 +0000 (12:58 -0700)]
Fix 64-bit CPRNG.
Chris Duncan [Sun, 1 Jun 2025 19:47:41 +0000 (12:47 -0700)]
Extract generate queue to outer class that calls API-specific method.
Chris Duncan [Sun, 1 Jun 2025 08:07:34 +0000 (01:07 -0700)]
Use crypto random values for better quality randomness.
Chris Duncan [Sat, 31 May 2025 07:34:15 +0000 (00:34 -0700)]
Fix license for REUSE compliance.
Chris Duncan [Sat, 31 May 2025 07:25:36 +0000 (00:25 -0700)]
Rename files.
Chris Duncan [Sat, 31 May 2025 07:19:48 +0000 (00:19 -0700)]
Generate GL primary draw shader instead of writing it explicitly. Fix ambient shader type definitions to apply to their respective APIs. Fix exports and tsconfig for generate files.
Chris Duncan [Sat, 31 May 2025 05:26:44 +0000 (22:26 -0700)]
Move GL shaders into their own directory.
Chris Duncan [Fri, 30 May 2025 20:54:36 +0000 (13:54 -0700)]
Fix duplicate null assignment. Separate context condition from query parameter availability in check function. Fix context restoration not recompiling.
Chris Duncan [Fri, 30 May 2025 20:12:15 +0000 (13:12 -0700)]
Reuse GL canvas and context and improve context loss handling.
Chris Duncan [Fri, 30 May 2025 03:45:32 +0000 (20:45 -0700)]
Refactor GPU into plain module. Simplify task queueing.
Chris Duncan [Fri, 30 May 2025 03:34:00 +0000 (20:34 -0700)]
Refactor worker to remove event listener prior to shutting down to avoid possible memory leaks.
Chris Duncan [Fri, 30 May 2025 03:29:59 +0000 (20:29 -0700)]
Refactor WASM reset process and remove redundant busy flag.
Chris Duncan [Thu, 29 May 2025 21:40:21 +0000 (14:40 -0700)]
Refactor GL as plain ES module. Fix incorrect event listeners for context loss and restoration, and remove them when resetting. Adjust context restoration to attempt to resume processing by queueing a no-op function.
Chris Duncan [Thu, 29 May 2025 15:41:42 +0000 (08:41 -0700)]
Refactor WASM class as plain ES module.
Chris Duncan [Thu, 29 May 2025 15:07:53 +0000 (08:07 -0700)]
Add missing license info reach REUSE compliance.
Chris Duncan [Thu, 29 May 2025 15:07:24 +0000 (08:07 -0700)]
Remove inaccurate comment.
Chris Duncan [Thu, 29 May 2025 00:10:44 +0000 (17:10 -0700)]
Generate work once prior to performance timing during CLI benchmark.
Chris Duncan [Wed, 28 May 2025 21:41:08 +0000 (14:41 -0700)]
Minor type fixes.
Chris Duncan [Wed, 28 May 2025 21:12:54 +0000 (14:12 -0700)]
Remove incorrect JSDoc and fix class comment.
Chris Duncan [Wed, 28 May 2025 20:26:48 +0000 (13:26 -0700)]
Rename API support type definitions.
Chris Duncan [Wed, 28 May 2025 20:17:02 +0000 (13:17 -0700)]
Shorten long literal type union for APIs with type alias. Refactor config class to use async factory method instead of sync constructor to allow dynamic API support querying. Always return `valid` from validate because why not?
Chris Duncan [Wed, 28 May 2025 18:20:49 +0000 (11:20 -0700)]
Fix infinite loop in CLI hash collection.
Chris Duncan [Wed, 28 May 2025 18:20:23 +0000 (11:20 -0700)]
Handle server listening event more explicitly.
Chris Duncan [Wed, 28 May 2025 17:40:32 +0000 (10:40 -0700)]
Delay API support check until NanoPow is ready. Whitespace.
Chris Duncan [Wed, 28 May 2025 17:19:40 +0000 (10:19 -0700)]
Fix license headers.
Chris Duncan [Wed, 28 May 2025 16:27:56 +0000 (09:27 -0700)]
Use CPU as an API that is always supported, and throw if user-specified API is unsupported on the platform.
Chris Duncan [Wed, 28 May 2025 16:24:27 +0000 (09:24 -0700)]
Set default API to best available if not specified by user.
Chris Duncan [Wed, 28 May 2025 16:20:00 +0000 (09:20 -0700)]
Refactor API support checks into utility classes.
Chris Duncan [Wed, 28 May 2025 15:50:34 +0000 (08:50 -0700)]
Move API support check into its own module for import to config class.
Chris Duncan [Wed, 28 May 2025 15:26:13 +0000 (08:26 -0700)]
Rename config class file.
Chris Duncan [Wed, 28 May 2025 15:16:26 +0000 (08:16 -0700)]
Refactor options to provide unvalidated and validated interfaces.
Chris Duncan [Tue, 27 May 2025 23:04:54 +0000 (16:04 -0700)]
Implement JSON serialization for options object.
Chris Duncan [Tue, 27 May 2025 21:46:27 +0000 (14:46 -0700)]
Server and CLI fixes.
Chris Duncan [Tue, 27 May 2025 21:23:25 +0000 (14:23 -0700)]
Remove unnecessary logging.