EEVEE: World Sun Shadow no longer works in 4.5
On some drivers, the GLSL compiler doesn't reflect the omitted `local_size_*` of a compute shader inside `gl_WorkGroupSize`. This lead to the 2D size computation of 1D workgroups to become 0 which was bypassing the parallel reduction algorithms. Ensuring `local_size_*` are always set fixes the issue. For clarity, also fix the 1D shaders to not use `gl_WorkGroupSize.y`. This also fix a copy paste error in the Metal backend. This issue affected AMD drivers on Windows. Rel #142046 Candidate for backporting to 4.5 LTS. Pull Request: https://projects.blender.org/blender/blender/pulls/144056
This commit is contained in:
committed by
Clément Foucault
parent
936457871e
commit
16430b10f1
@@ -1220,15 +1220,15 @@ static PyObject *pygpu_shader_info_define(BPyGPUShaderCreateInfo *self, PyObject
|
||||
PyDoc_STRVAR(
|
||||
/* Wrap. */
|
||||
pygpu_shader_info_local_group_size_doc,
|
||||
".. method:: local_group_size(x, y=-1, z=-1)\n"
|
||||
".. method:: local_group_size(x, y=1, z=1)\n"
|
||||
"\n"
|
||||
" Specify the local group size for compute shaders.\n"
|
||||
"\n"
|
||||
" :arg x: The local group size in the x dimension.\n"
|
||||
" :type x: int\n"
|
||||
" :arg y: The local group size in the y dimension. Optional. Defaults to -1.\n"
|
||||
" :arg y: The local group size in the y dimension. Optional. Defaults to 1.\n"
|
||||
" :type y: int\n"
|
||||
" :arg z: The local group size in the z dimension. Optional. Defaults to -1.\n"
|
||||
" :arg z: The local group size in the z dimension. Optional. Defaults to 1.\n"
|
||||
" :type z: int\n");
|
||||
static PyObject *pygpu_shader_info_local_group_size(BPyGPUShaderCreateInfo *self, PyObject *args)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user