Fix: EEVEE-Next: Nvidia compilation error
Workaround Error: C1317: qualified actual parameter #1 cannot be converted to less qualified parameter
This commit is contained in:
parent
f37a8cda30
commit
25160def62
|
@ -37,7 +37,7 @@ float shadow_unpack(uint shadow_bits, uint bit_depth, uint shift)
|
||||||
return float((shadow_bits >> shift) & ~(~0u << bit_depth)) / float((1u << bit_depth) - 1u);
|
return float((shadow_bits >> shift) & ~(~0u << bit_depth)) / float((1u << bit_depth) - 1u);
|
||||||
}
|
}
|
||||||
|
|
||||||
void light_shadow_single(LightData light,
|
void light_shadow_single(uint l_idx,
|
||||||
const bool is_directional,
|
const bool is_directional,
|
||||||
vec3 P,
|
vec3 P,
|
||||||
vec3 Ng,
|
vec3 Ng,
|
||||||
|
@ -45,6 +45,8 @@ void light_shadow_single(LightData light,
|
||||||
inout uint shadow_bits,
|
inout uint shadow_bits,
|
||||||
inout uint shift)
|
inout uint shift)
|
||||||
{
|
{
|
||||||
|
LightData light = light_buf[l_idx];
|
||||||
|
|
||||||
if (light.tilemap_index == LIGHT_NO_SHADOW) {
|
if (light.tilemap_index == LIGHT_NO_SHADOW) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -73,12 +75,12 @@ void light_shadow_mask(vec3 P, vec3 Ng, float vPz, float thickness, out uint sha
|
||||||
uint shift = 0u;
|
uint shift = 0u;
|
||||||
shadow_bits = 0u;
|
shadow_bits = 0u;
|
||||||
LIGHT_FOREACH_BEGIN_DIRECTIONAL (light_cull_buf, l_idx) {
|
LIGHT_FOREACH_BEGIN_DIRECTIONAL (light_cull_buf, l_idx) {
|
||||||
light_shadow_single(light_buf[l_idx], true, P, Ng, thickness, shadow_bits, shift);
|
light_shadow_single(l_idx, true, P, Ng, thickness, shadow_bits, shift);
|
||||||
}
|
}
|
||||||
LIGHT_FOREACH_END
|
LIGHT_FOREACH_END
|
||||||
|
|
||||||
LIGHT_FOREACH_BEGIN_LOCAL (light_cull_buf, light_zbin_buf, light_tile_buf, PIXEL, vPz, l_idx) {
|
LIGHT_FOREACH_BEGIN_LOCAL (light_cull_buf, light_zbin_buf, light_tile_buf, PIXEL, vPz, l_idx) {
|
||||||
light_shadow_single(light_buf[l_idx], false, P, Ng, thickness, shadow_bits, shift);
|
light_shadow_single(l_idx, false, P, Ng, thickness, shadow_bits, shift);
|
||||||
}
|
}
|
||||||
LIGHT_FOREACH_END
|
LIGHT_FOREACH_END
|
||||||
}
|
}
|
||||||
|
@ -117,7 +119,7 @@ void light_eval_single_closure(LightData light,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void light_eval_single(LightData light,
|
void light_eval_single(uint l_idx,
|
||||||
const bool is_directional,
|
const bool is_directional,
|
||||||
inout ClosureLightStack stack,
|
inout ClosureLightStack stack,
|
||||||
vec3 P,
|
vec3 P,
|
||||||
|
@ -127,6 +129,7 @@ void light_eval_single(LightData light,
|
||||||
uint packed_shadows,
|
uint packed_shadows,
|
||||||
inout uint shift)
|
inout uint shift)
|
||||||
{
|
{
|
||||||
|
LightData light = light_buf[l_idx];
|
||||||
int ray_count = uniform_buf.shadow.ray_count;
|
int ray_count = uniform_buf.shadow.ray_count;
|
||||||
int ray_step_count = uniform_buf.shadow.step_count;
|
int ray_step_count = uniform_buf.shadow.step_count;
|
||||||
|
|
||||||
|
@ -171,12 +174,12 @@ void light_eval(inout ClosureLightStack stack,
|
||||||
uint shift = 0u;
|
uint shift = 0u;
|
||||||
|
|
||||||
LIGHT_FOREACH_BEGIN_DIRECTIONAL (light_cull_buf, l_idx) {
|
LIGHT_FOREACH_BEGIN_DIRECTIONAL (light_cull_buf, l_idx) {
|
||||||
light_eval_single(light_buf[l_idx], true, stack, P, Ng, V, thickness, packed_shadows, shift);
|
light_eval_single(l_idx, true, stack, P, Ng, V, thickness, packed_shadows, shift);
|
||||||
}
|
}
|
||||||
LIGHT_FOREACH_END
|
LIGHT_FOREACH_END
|
||||||
|
|
||||||
LIGHT_FOREACH_BEGIN_LOCAL (light_cull_buf, light_zbin_buf, light_tile_buf, PIXEL, vPz, l_idx) {
|
LIGHT_FOREACH_BEGIN_LOCAL (light_cull_buf, light_zbin_buf, light_tile_buf, PIXEL, vPz, l_idx) {
|
||||||
light_eval_single(light_buf[l_idx], false, stack, P, Ng, V, thickness, packed_shadows, shift);
|
light_eval_single(l_idx, false, stack, P, Ng, V, thickness, packed_shadows, shift);
|
||||||
}
|
}
|
||||||
LIGHT_FOREACH_END
|
LIGHT_FOREACH_END
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,8 +13,10 @@
|
||||||
#pragma BLENDER_REQUIRE(eevee_shadow_lib.glsl)
|
#pragma BLENDER_REQUIRE(eevee_shadow_lib.glsl)
|
||||||
|
|
||||||
void thickness_from_shadow_single(
|
void thickness_from_shadow_single(
|
||||||
LightData light, const bool is_directional, vec3 P, vec3 Ng, inout vec2 thickness)
|
uint l_idx, const bool is_directional, vec3 P, vec3 Ng, inout vec2 thickness)
|
||||||
{
|
{
|
||||||
|
LightData light = light_buf[l_idx];
|
||||||
|
|
||||||
if (light.tilemap_index == LIGHT_NO_SHADOW) {
|
if (light.tilemap_index == LIGHT_NO_SHADOW) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -47,12 +49,12 @@ float thickness_from_shadow(vec3 P, vec3 Ng, float vPz)
|
||||||
vec2 thickness = vec2(0.0);
|
vec2 thickness = vec2(0.0);
|
||||||
|
|
||||||
LIGHT_FOREACH_BEGIN_DIRECTIONAL (light_cull_buf, l_idx) {
|
LIGHT_FOREACH_BEGIN_DIRECTIONAL (light_cull_buf, l_idx) {
|
||||||
thickness_from_shadow_single(light_buf[l_idx], true, P, Ng, thickness);
|
thickness_from_shadow_single(l_idx, true, P, Ng, thickness);
|
||||||
}
|
}
|
||||||
LIGHT_FOREACH_END
|
LIGHT_FOREACH_END
|
||||||
|
|
||||||
LIGHT_FOREACH_BEGIN_LOCAL (light_cull_buf, light_zbin_buf, light_tile_buf, PIXEL, vPz, l_idx) {
|
LIGHT_FOREACH_BEGIN_LOCAL (light_cull_buf, light_zbin_buf, light_tile_buf, PIXEL, vPz, l_idx) {
|
||||||
thickness_from_shadow_single(light_buf[l_idx], false, P, Ng, thickness);
|
thickness_from_shadow_single(l_idx, false, P, Ng, thickness);
|
||||||
}
|
}
|
||||||
LIGHT_FOREACH_END
|
LIGHT_FOREACH_END
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue