|
Blender V5.0
|
#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 () override | |
| void | graphics_interop_activate () override |
| void | graphics_interop_deactivate () override |
| void | zero () override |
| void | set_zoom (const float zoom_x, const float zoom_y) |
| Public Member Functions inherited from DisplayDriver | |
| DisplayDriver ()=default | |
| virtual | ~DisplayDriver ()=default |
| GraphicsInteropBuffer & | graphics_interop_get_buffer () |
Protected Member Functions | |
| void | next_tile_begin () override |
| bool | update_begin (const Params ¶ms, const int texture_width, const int texture_height) override |
| void | update_end () override |
| half4 * | map_texture_buffer () override |
| void | unmap_texture_buffer () override |
| GraphicsInteropDevice | graphics_interop_get_device () override |
| void | graphics_interop_update_buffer () override |
| void | draw (const Params ¶ms) override |
| 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_zero_ = 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) |
Additional Inherited Members | |
| Public Attributes inherited from DisplayDriver | |
| GraphicsInteropBuffer | graphics_interop_buffer_ |
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 450 of file blender/display_driver.cpp.
References b_engine_, background_, display_shader_, gpu_context_create(), and tiles_.
|
override |
Definition at line 462 of file blender/display_driver.cpp.
References gpu_resources_destroy().
|
overrideprotectedvirtual |
Implements DisplayDriver.
Definition at line 820 of file blender/display_driver.cpp.
References display_shader_, draw_tile(), GPU_blend(), GPU_BLEND_ALPHA_PREMULT, GPU_BLEND_NONE, gpu_context_lock(), gpu_context_unlock(), GPU_fence_signal(), GPU_fence_wait(), GPU_flush(), gpu_render_sync_, gpu_upload_sync_, GPU_vertformat_attr_add(), immBindShader(), immUnbindProgram(), immVertexFormat(), LOG_TRACE, need_zero_, DisplayGPUPixelBuffer::num_used, DisplayGPUTexture::num_used, params, tile, tiles_, update_tile_texture_pixels(), and zoom_.
|
overrideprotectedvirtual |
Reimplemented from DisplayDriver.
Definition at line 801 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 883 of file blender/display_driver.cpp.
References b_engine_, gpu_resources_create(), LOG_ERROR, and RE_engine_gpu_context_create().
Referenced by BlenderDisplayDriver().
|
protected |
Definition at line 907 of file blender/display_driver.cpp.
References b_engine_, and RE_engine_gpu_context_destroy().
Referenced by gpu_resources_destroy().
|
protected |
Definition at line 902 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 897 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 912 of file blender/display_driver.cpp.
References b_engine_, and RE_engine_gpu_context_lock().
Referenced by draw().
|
protected |
Definition at line 917 of file blender/display_driver.cpp.
References b_engine_, and RE_engine_gpu_context_unlock().
Referenced by draw().
|
protected |
Definition at line 922 of file blender/display_driver.cpp.
References assert, DCHECK_NOTNULL, gpu_context_disable(), gpu_context_enable(), GPU_fence_create(), gpu_render_sync_, gpu_upload_sync_, and LOG_ERROR.
Referenced by gpu_context_create().
|
protected |
Definition at line 943 of file blender/display_driver.cpp.
References display_shader_, gpu_context_destroy(), gpu_context_disable(), gpu_context_enable(), GPU_fence_free(), gpu_render_sync_, gpu_upload_sync_, DisplayDriver::graphics_interop_buffer_, and tiles_.
Referenced by ~BlenderDisplayDriver().
|
overridevirtual |
Reimplemented from DisplayDriver.
Definition at line 696 of file blender/display_driver.cpp.
References gpu_context_enable().
|
overridevirtual |
Reimplemented from DisplayDriver.
Definition at line 701 of file blender/display_driver.cpp.
References gpu_context_disable().
|
overrideprotectedvirtual |
Reimplemented from DisplayDriver.
Definition at line 644 of file blender/display_driver.cpp.
References blender::Span< T >::data(), GPU_BACKEND_ANY, GPU_backend_get_type(), GPU_BACKEND_METAL, GPU_BACKEND_NONE, GPU_BACKEND_OPENGL, GPU_BACKEND_VULKAN, GPU_platform_uuid(), GraphicsInteropDevice::METAL, GraphicsInteropDevice::NONE, GraphicsInteropDevice::OPENGL, blender::Span< T >::size(), GraphicsInteropDevice::type, GraphicsInteropDevice::uuid, and GraphicsInteropDevice::VULKAN.
|
overrideprotectedvirtual |
Reimplemented from DisplayDriver.
Definition at line 671 of file blender/display_driver.cpp.
References GPU_BACKEND_ANY, GPU_backend_get_type(), GPU_BACKEND_METAL, GPU_BACKEND_NONE, GPU_BACKEND_OPENGL, GPU_BACKEND_VULKAN, GPU_pixel_buffer_get_native_handle(), DisplayDriver::graphics_interop_buffer_, GPUPixelBufferNativeHandle::handle, GraphicsInteropDevice::METAL, GraphicsInteropDevice::NONE, GraphicsInteropDevice::OPENGL, GPUPixelBufferNativeHandle::size, tiles_, and GraphicsInteropDevice::VULKAN.
|
overrideprotectedvirtual |
Implements DisplayDriver.
Definition at line 608 of file blender/display_driver.cpp.
References DCHECK_NOTNULL, GPU_pixel_buffer_map(), DisplayDriver::graphics_interop_buffer_, LOG_ERROR, and tiles_.
|
overrideprotectedvirtual |
Implements DisplayDriver.
Definition at line 471 of file blender/display_driver.cpp.
References DCHECK, LOG_ERROR, need_zero_, and tiles_.
Definition at line 715 of file blender/display_driver.cpp.
References make_float2, and zoom_.
|
overrideprotectedvirtual |
Implements DisplayDriver.
Definition at line 630 of file blender/display_driver.cpp.
References DCHECK_NOTNULL, GPU_pixel_buffer_unmap(), LOG_ERROR, and tiles_.
|
overrideprotectedvirtual |
Implements DisplayDriver.
Definition at line 488 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(), DisplayDriver::graphics_interop_buffer_, need_zero_, params, DrawTile::texture, and tiles_.
|
overrideprotectedvirtual |
Implements DisplayDriver.
Definition at line 571 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().
|
overridevirtual |
Implements DisplayDriver.
Definition at line 710 of file blender/display_driver.cpp.
References need_zero_.
|
protected |
Definition at line 139 of file blender/display_driver.h.
Referenced by BlenderDisplayDriver(), gpu_context_create(), gpu_context_destroy(), gpu_context_disable(), gpu_context_enable(), gpu_context_lock(), and gpu_context_unlock().
|
protected |
Definition at line 140 of file blender/display_driver.h.
Referenced by BlenderDisplayDriver(), and update_end().
|
protected |
Definition at line 145 of file blender/display_driver.h.
Referenced by BlenderDisplayDriver(), draw(), and gpu_resources_destroy().
|
protected |
Definition at line 151 of file blender/display_driver.h.
Referenced by draw(), flush(), gpu_resources_create(), gpu_resources_destroy(), and update_begin().
|
protected |
Definition at line 152 of file blender/display_driver.h.
Referenced by draw(), flush(), gpu_resources_create(), gpu_resources_destroy(), and update_end().
|
protected |
Definition at line 143 of file blender/display_driver.h.
Referenced by draw(), next_tile_begin(), update_begin(), and zero().
|
protected |
Definition at line 149 of file blender/display_driver.h.
Referenced by BlenderDisplayDriver(), draw(), gpu_resources_destroy(), graphics_interop_update_buffer(), map_texture_buffer(), next_tile_begin(), unmap_texture_buffer(), update_begin(), and update_end().
|
protected |
Definition at line 154 of file blender/display_driver.h.
Referenced by draw(), and set_zoom().