5 Feb 2023 |
Lee | ./utils/git-sync-deps | 15:52:27 |
Lee | I'll be online later today (later this afternoon like you basically) | 15:52:52 |
Lee | Let me know if you get any leads; I'll try to pick up where you leave off. | 15:53:34 |
Lee | I'm taking a bit of a break from curv today to work on a small idea I've had for awhile: a stream ripper type of utility. What this is, is it records audio from something like pulseaudio, but only when it detects the end of silence, and stops at the starts of silence. Then it writes it to a file, and then uses an audio fingerprint service like MusicBrainz to automatically add metadata to it and rename it properly | 15:55:02 |
Lee | I spent like 8 hours Saturday learning and fighting about the particularities of GLSL 4.6 or whatever so we could compile to SPIR-V | 15:55:53 |
Lee | I'm pretty sure we're damn close. The more I play around with the shader code the more confidence I'm building around it... | 15:56:21 |
Lee | Once this is done, it may be in our interest to write our own optimization code within Curv itself | 15:56:44 |
Lee | I feel the majority of optimizations can be trivial, i.e. avoid single assignments, look for possible pre-computations | 15:57:08 |
Lee | Those would be the big two for me | 15:57:17 |
Lee | I'm also thinking about https://github.com/curv3d/curv/discussions/169 throughout my days | 15:58:13 |
Lee | There has to be somethnig. | 15:58:24 |
Lee | * There has to be something to union things more efficiently. | 15:58:32 |
Lee | Like, is there a way to just overlap SDFs? | 15:59:27 |
Lee | (Which is slightly different than unioning, I'd think) | 15:59:45 |
Lee | 'ey, afternoon :) | 19:19:34 |
| RD joined the room. | 19:40:02 |
6 Feb 2023 |
| nekoruk#0 joined the room. | 20:08:26 |
7 Feb 2023 |
Lee | Gonna be busy this week, probably little time to touch curv | 04:47:02 |
8 Feb 2023 |
doug-moen | I found a problem by compiling the debug version of curv (make debug; debug/curv ). This enables a lot of run time checks. | 02:07:49 |
doug-moen | Redacted or Malformed Event | 02:09:28 |
doug-moen | That's wasn't the actual problem though. Got this error in the vertex shader:
error: main:20: error: 'non-opaque uniforms outside a block' : not allowed when using GLSL for Vulkan
GL ERROR: src=33350,id=1,sev=37190 GL_INVALID_VALUE in glSpecializeShaderARB("main" is not a valid entry point for shader)
| 02:28:10 |
doug-moen | I think this is a problem: "not allowed when using GLSL for Vulkan". We aren't using Vulkan. We are using OpenGL. | 02:28:54 |
doug-moen | So we are compiling the GLSL incorrectly (for Vulkan instead of for OpenGL). Just need to tell shaderc we are using OpenGL, maybe? | 02:33:53 |
doug-moen | / Sets the target shader environment, affecting which warnings or errors will
// be issued. The version will be for distinguishing between different versions
// of the target environment. The version value should be either 0 or
// a value listed in shaderc_env_version. The 0 value maps to Vulkan 1.0 if
// |target| is Vulkan, and it maps to OpenGL 4.5 if |target| is OpenGL.
SHADERC_EXPORT void shaderc_compile_options_set_target_env(
shaderc_compile_options_t options,
shaderc_target_env target,
uint32_t version);
| 02:36:25 |
doug-moen | Looking into this technology some more. I'm not sure why the shaderc GLSL compiler will produce better code than the GLSL compiler that's already in Mesa (the GPU driver on Linux). I expect Mesa to be competitive with shaderc, which is just the Android GLSL compiler. | 03:14:08 |
doug-moen | * Got this error in the vertex shader:
error: main:20: error: 'non-opaque uniforms outside a block' : not allowed when using GLSL for Vulkan
GL ERROR: src=33350,id=1,sev=37190 GL_INVALID_VALUE in glSpecializeShaderARB("main" is not a valid entry point for shader) | 16:53:20 |
Lee | If you think the case is already GPUs optimizing the current shader code, then we need to move toward reducing Curv code | 20:36:43 |
Lee | My main concern was to remove the factor of "is my GPU optimizing this?", which various across platforms and hardware... | 20:38:54 |
Lee | And trying to leverage code reducing capabilities on the GLSL side | 20:39:09 |
Lee | But if we need to go higher, at the curv level, so be it! | 20:39:17 |