bugfix: fix memory corruption bug, add asan check in debug mode.
This commit is contained in:
parent
104370fb40
commit
f0901e3c0a
|
@ -6,11 +6,15 @@ if(NOT CMAKE_BUILD_TYPE)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(CMAKE_CXX_FLAGS "-Wall -Wextra")
|
set(CMAKE_CXX_FLAGS "-Wall -Wextra")
|
||||||
set(CMAKE_CXX_FLAGS_RELEASE "-O3")
|
if (${CMAKE_BUILD_TYPE} STREQUAL Release)
|
||||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
set(CMAKE_CXX_FLAGS_RELEASE "-O3")
|
||||||
set(CMAKE_CXX_FLAGS_DEBUG "-gdwarf-4 -g")
|
|
||||||
else()
|
else()
|
||||||
set(CMAKE_CXX_FLAGS_DEBUG "-g")
|
set(CXX_FLAGS_DEBUG "-O1 -fsanitize=address -fno-omit-frame-pointer")
|
||||||
|
if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
||||||
|
set(CMAKE_CXX_FLAGS_DEBUG "-gdwarf-4 -g ${CXX_FLAGS_DEBUG}")
|
||||||
|
else()
|
||||||
|
set(CMAKE_CXX_FLAGS_DEBUG "-g ${CXX_FLAGS_DEBUG}")
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
file(GLOB_RECURSE CPP_FILES ${CMAKE_CURRENT_SOURCE_DIR} *.cc)
|
file(GLOB_RECURSE CPP_FILES ${CMAKE_CURRENT_SOURCE_DIR} *.cc)
|
||||||
|
|
|
@ -55,7 +55,7 @@ void Rasterizer::rasterize(const int mesh_idx,
|
||||||
const int y_max = std::min(std::max(0, aabb.y + aabb.height), height_);
|
const int y_max = std::min(std::max(0, aabb.y + aabb.height), height_);
|
||||||
|
|
||||||
for (int i = y_min; i < y_max; ++i) {
|
for (int i = y_min; i < y_max; ++i) {
|
||||||
for (int j = x_min; j <= x_max; ++j) {
|
for (int j = x_min; j < x_max; ++j) {
|
||||||
auto &property = shading_points_[i][j];
|
auto &property = shading_points_[i][j];
|
||||||
const auto &[is_inside, z_screen] =
|
const auto &[is_inside, z_screen] =
|
||||||
inside(Point2d{j + 0.5, i + 0.5}, t);
|
inside(Point2d{j + 0.5, i + 0.5}, t);
|
||||||
|
|
Loading…
Reference in New Issue