Miguel Pozo pragma37
  • Joined on 2018-04-26
Miguel Pozo commented on pull request blender/blender#128281 2024-09-30 17:09:43 +02:00
Fix #128164: Race condition in ShaderCreateInfo::finalize()

Yes, that's it.

Miguel Pozo pushed to pull-fix-128164 at pragma37/blender 2024-09-30 16:58:06 +02:00
40cd60e77c Fix shader_builder
Miguel Pozo commented on pull request blender/blender#128281 2024-09-30 16:44:46 +02:00
Fix #128164: Race condition in ShaderCreateInfo::finalize()

GPUCodegen destructor calls ShaderCreateInfo destructor. But deleting a ShaderCreateInfo pointer holding a GPUCodegen instance is undefined behavior. This may not be a problem at the…

Miguel Pozo commented on pull request blender/blender#128281 2024-09-30 16:13:30 +02:00
Fix #128164: Race condition in ShaderCreateInfo::finalize()

This is unrelated to the PR itself, really. I just saw the issue while looking at this code. I can commit it to main directly instead if you prefer.

Miguel Pozo commented on pull request blender/blender#128281 2024-09-30 16:07:26 +02:00
Fix #128164: Race condition in ShaderCreateInfo::finalize()

Because it has a derived class with a constructor.

Miguel Pozo commented on pull request blender/blender#128281 2024-09-30 16:06:55 +02:00
Fix #128164: Race condition in ShaderCreateInfo::finalize()

Because it's a derived class, so deleting a base class pointer won't call this destructor. I've also made the base class destructor virtual.

Miguel Pozo commented on pull request blender/blender#128281 2024-09-30 16:04:07 +02:00
Fix #128164: Race condition in ShaderCreateInfo::finalize()

Ok then, here is another approach I can see working:

  • Make all static create infos call finalize on startup.
  • Make a special variant of the ShaderCreateInfo that does not do any…
Miguel Pozo pushed to pull-fix-128164 at pragma37/blender 2024-09-30 15:57:20 +02:00
c8178cceb0 Finalize from main thread
ff1c3a856d Finalize on startup
83eb2fe04a Revert "CreateShaderInfo::finalize_mutex_"
Compare 3 commits »
Miguel Pozo pushed to pull-fix-128164-alt at pragma37/blender 2024-09-30 13:42:32 +02:00
ff1c3a856d Finalize on startup
83eb2fe04a Revert "CreateShaderInfo::finalize_mutex_"
Compare 2 commits »
Miguel Pozo created branch pull-fix-128164-alt in pragma37/blender 2024-09-30 13:42:31 +02:00
Miguel Pozo pushed to main at pragma37/.profile 2024-09-27 20:33:14 +02:00
af20f38cba Update reports/2024.md
Miguel Pozo created pull request blender/blender#128281 2024-09-27 20:25:12 +02:00
Fix #128164: Race condition in ShaderCreateInfo::finalize()
Miguel Pozo pushed to pull-fix-128164 at pragma37/blender 2024-09-27 20:17:34 +02:00
f629fc7cb1 CreateShaderInfo::finalize_mutex_
7665e28b37 GPv3: Assert in weight paint with zero points
d6ec2f0539 UI: Update icon for Grease Pencil layer and group
19465bec19 GPv3: Add canvas options to the overlay settings
954f723421 Cleanup: GPv3: Remove duplicated "Add Extra" menu
Compare 10 commits »
Miguel Pozo created branch pull-fix-128164 in pragma37/blender 2024-09-27 20:17:33 +02:00
Miguel Pozo commented on issue blender/blender#128164 2024-09-27 19:33:43 +02:00
Eevee: Race condition in ShaderCreateInfo::finalize()

I assumed this would have been caused by the recent draw_manager_shader refactors, but doesn't seem to be the case.

The issue here seems that we are compiling, at the same time, deferred and…

Miguel Pozo commented on issue blender/blender#126562 2024-09-27 15:47:44 +02:00
Opening Blender 3 document in Blender 4 breaks Alpha transparency in Cycles

The initial PR version tried to be more clever: blender/blender#113980 (comment)

There isn't 100% robust solution to this problem. Arguably,…

Miguel Pozo commented on issue blender/blender#128250 2024-09-27 15:35:36 +02:00
Render: Grease Pencil is not correctly composited into the scene by default

Fixing this is trivial:

diff --git a/source/blender/draw/engines/eevee_next/eevee_film.cc b/source/blender/draw/engines/eevee_next/eevee_film.cc
index dbed6f50318..fad03f00867…
Miguel Pozo commented on pull request blender/blender#128076 2024-09-26 22:47:48 +02:00
GPU: Change GLSL include directive

And we need to do these includes at runtime (because of material shaders) at this point we don't have any filesystem structure.

I only took a quick look, but PreprocessGlsl takes a…

Miguel Pozo commented on pull request blender/blender#128076 2024-09-26 20:10:15 +02:00
GPU: Change GLSL include directive

Since we are at it, can't we just use something like shaderc PreprocessGlsl and have a real preprocessor?