Skip to content

Commit caeef34

Browse files
committed
Properly set size of shadow atlas quadrant when subdivision is 8 or higher.
Also fix renderpass rect validation
1 parent 03e6fbb commit caeef34

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

servers/rendering/renderer_rd/storage_rd/light_storage.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2025,7 +2025,7 @@ void LightStorage::shadow_atlas_set_size(RID p_atlas, int p_size, bool p_16_bits
20252025
for (int i = 0; i < 4; i++) {
20262026
//clear subdivisions
20272027
shadow_atlas->quadrants[i].shadows.clear();
2028-
shadow_atlas->quadrants[i].shadows.resize(int64_t(1) << int64_t(shadow_atlas->quadrants[i].subdivision));
2028+
shadow_atlas->quadrants[i].shadows.resize(int64_t(shadow_atlas->quadrants[i].subdivision * shadow_atlas->quadrants[i].subdivision));
20292029
}
20302030

20312031
//erase shadow atlas reference from lights

servers/rendering/rendering_device.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3451,9 +3451,9 @@ RenderingDevice::DrawListID RenderingDevice::draw_list_begin(RID p_framebuffer,
34513451
if (p_region != Rect2() && p_region != Rect2(Vector2(), viewport_size)) { // Check custom region.
34523452
Rect2i viewport(viewport_offset, viewport_size);
34533453
Rect2i regioni = p_region;
3454-
if (!(regioni.position.x >= viewport.position.x) && (regioni.position.y >= viewport.position.y) &&
3455-
((regioni.position.x + regioni.size.x) <= (viewport.position.x + viewport.size.x)) &&
3456-
((regioni.position.y + regioni.size.y) <= (viewport.position.y + viewport.size.y))) {
3454+
if (!((regioni.position.x >= viewport.position.x) && (regioni.position.y >= viewport.position.y) &&
3455+
((regioni.position.x + regioni.size.x) <= (viewport.position.x + viewport.size.x)) &&
3456+
((regioni.position.y + regioni.size.y) <= (viewport.position.y + viewport.size.y)))) {
34573457
ERR_FAIL_V_MSG(INVALID_ID, "When supplying a custom region, it must be contained within the framebuffer rectangle");
34583458
}
34593459

0 commit comments

Comments
 (0)