diff options
Diffstat (limited to 'intern/cycles/device/device_cuda.cpp')
-rw-r--r-- | intern/cycles/device/device_cuda.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/intern/cycles/device/device_cuda.cpp b/intern/cycles/device/device_cuda.cpp index 0fbb48cf431..029293d2a04 100644 --- a/intern/cycles/device/device_cuda.cpp +++ b/intern/cycles/device/device_cuda.cpp @@ -892,7 +892,8 @@ public: } } - void draw_pixels(device_memory& mem, int y, int w, int h, int dy, int width, int height, bool transparent) + void draw_pixels(device_memory& mem, int y, int w, int h, int dy, int width, int height, bool transparent, + const DeviceDrawParams &draw_params) { if(!background) { PixelMem pmem = pixel_mem_map[mem.device_pointer]; @@ -925,6 +926,10 @@ public: glColor3f(1.0f, 1.0f, 1.0f); + if(draw_params.bind_display_space_shader_cb) { + draw_params.bind_display_space_shader_cb(); + } + glPushMatrix(); glTranslatef(0.0f, (float)dy, 0.0f); @@ -943,6 +948,10 @@ public: glPopMatrix(); + if(draw_params.unbind_display_space_shader_cb) { + draw_params.unbind_display_space_shader_cb(); + } + if(transparent) glDisable(GL_BLEND); @@ -954,7 +963,7 @@ public: return; } - Device::draw_pixels(mem, y, w, h, dy, width, height, transparent); + Device::draw_pixels(mem, y, w, h, dy, width, height, transparent, draw_params); } void thread_run(DeviceTask *task) |