Changeset View
Changeset View
Standalone View
Standalone View
source/blender/draw/intern/draw_manager.cc
| Show First 20 Lines • Show All 172 Lines • ▼ Show 20 Lines | void Manager::submit(PassMain &pass, View &view) | ||||
| view.compute_visibility(bounds_buf.current(), resource_len_, freeze_culling); | view.compute_visibility(bounds_buf.current(), resource_len_, freeze_culling); | ||||
| command::RecordingState state; | command::RecordingState state; | ||||
| state.inverted_view = view.is_inverted(); | state.inverted_view = view.is_inverted(); | ||||
| pass.draw_commands_buf_.bind(state, | pass.draw_commands_buf_.bind(state, | ||||
| pass.headers_, | pass.headers_, | ||||
| pass.commands_, | pass.commands_, | ||||
| view.visibility_buf_, | view.get_visibility_buffer(), | ||||
| view.visibility_word_per_draw(), | view.visibility_word_per_draw(), | ||||
| view.view_len_); | view.view_len_); | ||||
| resource_bind(); | resource_bind(); | ||||
| pass.submit(state); | pass.submit(state); | ||||
| state.cleanup(); | state.cleanup(); | ||||
| Show All 26 Lines | Manager::SubmitDebugOutput Manager::submit_debug(PassSimple &pass, View &view) | ||||
| submit(pass, view); | submit(pass, view); | ||||
| pass.draw_commands_buf_.resource_id_buf_.read(); | pass.draw_commands_buf_.resource_id_buf_.read(); | ||||
| Manager::SubmitDebugOutput output; | Manager::SubmitDebugOutput output; | ||||
| output.resource_id = {pass.draw_commands_buf_.resource_id_buf_.data(), | output.resource_id = {pass.draw_commands_buf_.resource_id_buf_.data(), | ||||
| pass.draw_commands_buf_.resource_id_count_}; | pass.draw_commands_buf_.resource_id_count_}; | ||||
| /* There is no visibility data for PassSimple. */ | /* There is no visibility data for PassSimple. */ | ||||
| output.visibility = {(uint *)view.visibility_buf_.data(), 0}; | output.visibility = {(uint *)view.get_visibility_buffer().data(), 0}; | ||||
| return output; | return output; | ||||
| } | } | ||||
| Manager::SubmitDebugOutput Manager::submit_debug(PassMain &pass, View &view) | Manager::SubmitDebugOutput Manager::submit_debug(PassMain &pass, View &view) | ||||
| { | { | ||||
| submit(pass, view); | submit(pass, view); | ||||
| GPU_finish(); | GPU_finish(); | ||||
| pass.draw_commands_buf_.resource_id_buf_.read(); | pass.draw_commands_buf_.resource_id_buf_.read(); | ||||
| view.visibility_buf_.read(); | view.get_visibility_buffer().read(); | ||||
| Manager::SubmitDebugOutput output; | Manager::SubmitDebugOutput output; | ||||
| output.resource_id = {pass.draw_commands_buf_.resource_id_buf_.data(), | output.resource_id = {pass.draw_commands_buf_.resource_id_buf_.data(), | ||||
| pass.draw_commands_buf_.resource_id_count_}; | pass.draw_commands_buf_.resource_id_count_}; | ||||
| output.visibility = {(uint *)view.visibility_buf_.data(), divide_ceil_u(resource_len_, 32)}; | output.visibility = {(uint *)view.get_visibility_buffer().data(), | ||||
| divide_ceil_u(resource_len_, 32)}; | |||||
| return output; | return output; | ||||
| } | } | ||||
| Manager::DataDebugOutput Manager::data_debug() | Manager::DataDebugOutput Manager::data_debug() | ||||
| { | { | ||||
| matrix_buf.current().read(); | matrix_buf.current().read(); | ||||
| bounds_buf.current().read(); | bounds_buf.current().read(); | ||||
| infos_buf.current().read(); | infos_buf.current().read(); | ||||
| Show All 9 Lines | |||||