23 void next_tile_begin()
override;
25 bool update_begin(
const Params &
params,
26 const int texture_width,
27 const int texture_height)
override;
28 void update_end()
override;
30 void flush()
override;
32 CCL_NS::half4 *map_texture_buffer()
override;
33 void unmap_texture_buffer()
override;
36 void graphics_interop_update_buffer()
override;
38 void graphics_interop_activate()
override;
39 void graphics_interop_deactivate()
override;
43 void draw(
const Params &
params)
override;
45 void gl_context_create();
46 bool gl_context_enable();
47 void gl_context_disable();
48 void gl_context_dispose();
55 void *gl_context_ =
nullptr;
57 CCL_NS::thread_mutex mutex_;
59 PXR_NS::HgiTextureHandle texture_;
60 unsigned int gl_pbo_id_ = 0;
61 CCL_NS::int2 pbo_size_ = CCL_NS::make_int2(0, 0);
62 bool need_update_ =
false;
63 std::atomic_bool need_zero_ =
false;
64 std::atomic_bool need_recreate_interop_ =
false;
66 void *gl_render_sync_ =
nullptr;
67 void *gl_upload_sync_ =
nullptr;