|
Blender V4.3
|
#include <display_driver.h>
Inherits DisplayDriver.
Classes | |
| struct | Tiles |
Public Member Functions | |
| BlenderDisplayDriver (BL::RenderEngine &b_engine, BL::Scene &b_scene, const bool background) | |
| ~BlenderDisplayDriver () | |
| virtual void | graphics_interop_activate () override |
| virtual void | graphics_interop_deactivate () override |
| virtual void | clear () override |
| void | set_zoom (float zoom_x, float zoom_y) |
Public Member Functions inherited from DisplayDriver | |
| DisplayDriver ()=default | |
| virtual | ~DisplayDriver ()=default |
Protected Member Functions | |
| virtual void | next_tile_begin () override |
| virtual bool | update_begin (const Params ¶ms, int texture_width, int texture_height) override |
| virtual void | update_end () override |
| virtual half4 * | map_texture_buffer () override |
| virtual void | unmap_texture_buffer () override |
| virtual GraphicsInterop | graphics_interop_get () override |
| virtual void | draw (const Params ¶ms) override |
| virtual void | flush () override |
| void | gpu_context_create () |
| bool | gpu_context_enable () |
| void | gpu_context_disable () |
| void | gpu_context_destroy () |
| void | gpu_context_lock () |
| void | gpu_context_unlock () |
| bool | gpu_resources_create () |
| void | gpu_resources_destroy () |
Protected Attributes | |
| BL::RenderEngine | b_engine_ |
| bool | background_ |
| std::atomic< bool > | need_clear_ = true |
| unique_ptr< BlenderDisplayShader > | display_shader_ |
| unique_ptr< Tiles > | tiles_ |
| GPUFence * | gpu_render_sync_ = nullptr |
| GPUFence * | gpu_upload_sync_ = nullptr |
| float2 | zoom_ = make_float2(1.0f, 1.0f) |
Definition at line 95 of file blender/display_driver.h.
| BlenderDisplayDriver::BlenderDisplayDriver | ( | BL::RenderEngine & | b_engine, |
| BL::Scene & | b_scene, | ||
| const bool | background ) |
Definition at line 438 of file blender/display_driver.cpp.
References gpu_context_create().
| BlenderDisplayDriver::~BlenderDisplayDriver | ( | ) |
Definition at line 450 of file blender/display_driver.cpp.
References gpu_resources_destroy().
|
overridevirtual |
Implements DisplayDriver.
Definition at line 643 of file blender/display_driver.cpp.
References need_clear_.
|
overrideprotectedvirtual |
Implements DisplayDriver.
Definition at line 753 of file blender/display_driver.cpp.
References display_shader_, draw_tile(), GPU_blend(), GPU_BLEND_ALPHA_PREMULT, GPU_BLEND_NONE, GPU_COMP_F32, gpu_context_lock(), gpu_context_unlock(), GPU_fence_signal(), GPU_fence_wait(), GPU_FETCH_FLOAT, GPU_flush(), gpu_render_sync_, gpu_upload_sync_, GPU_vertformat_attr_add(), immBindShader(), immUnbindProgram(), immVertexFormat(), need_clear_, DisplayGPUPixelBuffer::num_used, DisplayGPUTexture::num_used, params, tile, tiles_, update_tile_texture_pixels(), VLOG_DEVICE_STATS, and zoom_.
|
overrideprotectedvirtual |
Reimplemented from DisplayDriver.
Definition at line 734 of file blender/display_driver.cpp.
References gpu_context_disable(), gpu_context_enable(), GPU_fence_wait(), gpu_render_sync_, and gpu_upload_sync_.
|
protected |
Definition at line 811 of file blender/display_driver.cpp.
References b_engine_, gpu_resources_create(), LOG, and RE_engine_gpu_context_create().
Referenced by BlenderDisplayDriver().
|
protected |
Definition at line 835 of file blender/display_driver.cpp.
References b_engine_, and RE_engine_gpu_context_destroy().
Referenced by gpu_resources_destroy().
|
protected |
Definition at line 830 of file blender/display_driver.cpp.
References b_engine_, and RE_engine_gpu_context_disable().
Referenced by flush(), gpu_resources_create(), gpu_resources_destroy(), graphics_interop_deactivate(), update_begin(), and update_end().
|
protected |
Definition at line 825 of file blender/display_driver.cpp.
References b_engine_, and RE_engine_gpu_context_enable().
Referenced by flush(), gpu_resources_create(), gpu_resources_destroy(), graphics_interop_activate(), and update_begin().
|
protected |
Definition at line 840 of file blender/display_driver.cpp.
References b_engine_, and RE_engine_gpu_context_lock().
Referenced by draw().
|
protected |
Definition at line 845 of file blender/display_driver.cpp.
References b_engine_, and RE_engine_gpu_context_unlock().
Referenced by draw().
|
protected |
Definition at line 850 of file blender/display_driver.cpp.
References DCHECK_NOTNULL, gpu_context_disable(), gpu_context_enable(), GPU_fence_create(), gpu_render_sync_, gpu_upload_sync_, and LOG.
Referenced by gpu_context_create().
|
protected |
Definition at line 871 of file blender/display_driver.cpp.
References gpu_context_destroy(), gpu_context_disable(), gpu_context_enable(), GPU_fence_free(), gpu_render_sync_, gpu_upload_sync_, and tiles_.
Referenced by ~BlenderDisplayDriver().
|
overridevirtual |
Reimplemented from DisplayDriver.
Definition at line 629 of file blender/display_driver.cpp.
References gpu_context_enable().
|
overridevirtual |
Reimplemented from DisplayDriver.
Definition at line 634 of file blender/display_driver.cpp.
References gpu_context_disable().
|
overrideprotectedvirtual |
Reimplemented from DisplayDriver.
Definition at line 617 of file blender/display_driver.cpp.
References DisplayDriver::GraphicsInterop::buffer_height, DisplayDriver::GraphicsInterop::buffer_width, GPU_pixel_buffer_get_native_handle(), DisplayDriver::GraphicsInterop::opengl_pbo_id, and tiles_.
|
overrideprotectedvirtual |
Implements DisplayDriver.
Definition at line 589 of file blender/display_driver.cpp.
References DCHECK_NOTNULL, GPU_pixel_buffer_map(), LOG, and tiles_.
|
overrideprotectedvirtual |
Implements DisplayDriver.
Definition at line 459 of file blender/display_driver.cpp.
References DCHECK, LOG, need_clear_, and tiles_.
Definition at line 648 of file blender/display_driver.cpp.
References make_float2(), and zoom_.
Referenced by BlenderSession::draw().
|
overrideprotectedvirtual |
Implements DisplayDriver.
Definition at line 603 of file blender/display_driver.cpp.
References DCHECK_NOTNULL, GPU_pixel_buffer_unmap(), LOG, and tiles_.
|
overrideprotectedvirtual |
Implements DisplayDriver.
Definition at line 476 of file blender/display_driver.cpp.
References gpu_context_disable(), gpu_context_enable(), GPU_fence_wait(), gpu_render_sync_, DisplayGPUPixelBuffer::gpu_resources_ensure(), DisplayGPUTexture::gpu_resources_ensure(), need_clear_, params, DrawTile::texture, and tiles_.
|
overrideprotectedvirtual |
Implements DisplayDriver.
Definition at line 552 of file blender/display_driver.cpp.
References background_, GPU_BACKEND_ANY, gpu_context_disable(), GPU_DEVICE_NVIDIA, GPU_DRIVER_ANY, GPU_fence_signal(), GPU_flush(), GPU_OS_MAC, GPU_type_matches_ex(), gpu_upload_sync_, tiles_, and update_tile_texture_pixels().
|
protected |
Definition at line 136 of file blender/display_driver.h.
Referenced by gpu_context_create(), gpu_context_destroy(), gpu_context_disable(), gpu_context_enable(), gpu_context_lock(), and gpu_context_unlock().
|
protected |
Definition at line 137 of file blender/display_driver.h.
Referenced by update_end().
|
protected |
Definition at line 142 of file blender/display_driver.h.
Referenced by draw().
|
protected |
Definition at line 148 of file blender/display_driver.h.
Referenced by draw(), flush(), gpu_resources_create(), gpu_resources_destroy(), and update_begin().
|
protected |
Definition at line 149 of file blender/display_driver.h.
Referenced by draw(), flush(), gpu_resources_create(), gpu_resources_destroy(), and update_end().
|
protected |
Definition at line 140 of file blender/display_driver.h.
Referenced by clear(), draw(), next_tile_begin(), and update_begin().
|
protected |
Definition at line 146 of file blender/display_driver.h.
Referenced by draw(), gpu_resources_destroy(), graphics_interop_get(), map_texture_buffer(), next_tile_begin(), unmap_texture_buffer(), update_begin(), and update_end().
|
protected |
Definition at line 151 of file blender/display_driver.h.
Referenced by draw(), and set_zoom().