Merge branch 'blender-v3.2-release'
This commit is contained in:
commit
698e394e7e
|
@ -647,8 +647,9 @@ ccl_device_inline void kernel_gpu_film_convert_half_write(ccl_global uchar4 *rgb
|
|||
const int x = render_pixel_index % width; \
|
||||
const int y = render_pixel_index / width; \
|
||||
\
|
||||
ccl_global const float *buffer = render_buffer + offset + x * kfilm_convert.pass_stride + \
|
||||
y * stride * kfilm_convert.pass_stride; \
|
||||
const uint64_t buffer_pixel_index = x + y * stride; \
|
||||
ccl_global const float *buffer = render_buffer + offset + \
|
||||
buffer_pixel_index * kfilm_convert.pass_stride; \
|
||||
\
|
||||
ccl_global float *pixel = pixels + \
|
||||
(render_pixel_index + rgba_offset) * kfilm_convert.pixel_stride; \
|
||||
|
@ -677,8 +678,9 @@ ccl_device_inline void kernel_gpu_film_convert_half_write(ccl_global uchar4 *rgb
|
|||
const int x = render_pixel_index % width; \
|
||||
const int y = render_pixel_index / width; \
|
||||
\
|
||||
ccl_global const float *buffer = render_buffer + offset + x * kfilm_convert.pass_stride + \
|
||||
y * stride * kfilm_convert.pass_stride; \
|
||||
const uint64_t buffer_pixel_index = x + y * stride; \
|
||||
ccl_global const float *buffer = render_buffer + offset + \
|
||||
buffer_pixel_index * kfilm_convert.pass_stride; \
|
||||
\
|
||||
float pixel[4]; \
|
||||
film_get_pass_pixel_##variant(&kfilm_convert, buffer, pixel); \
|
||||
|
|
|
@ -91,13 +91,13 @@ ccl_device void kernel_adaptive_sampling_filter_x(KernelGlobals kg,
|
|||
bool prev = false;
|
||||
for (int x = start_x; x < start_x + width; ++x) {
|
||||
int index = offset + x + y * stride;
|
||||
ccl_global float *buffer = render_buffer + index * kernel_data.film.pass_stride;
|
||||
ccl_global float *buffer = render_buffer + (uint64_t)index * kernel_data.film.pass_stride;
|
||||
const uint aux_w_offset = kernel_data.film.pass_adaptive_aux_buffer + 3;
|
||||
|
||||
if (buffer[aux_w_offset] == 0.0f) {
|
||||
if (x > start_x && !prev) {
|
||||
index = index - 1;
|
||||
buffer = render_buffer + index * kernel_data.film.pass_stride;
|
||||
buffer = render_buffer + (uint64_t)index * kernel_data.film.pass_stride;
|
||||
buffer[aux_w_offset] = 0.0f;
|
||||
}
|
||||
prev = true;
|
||||
|
@ -124,13 +124,13 @@ ccl_device void kernel_adaptive_sampling_filter_y(KernelGlobals kg,
|
|||
bool prev = false;
|
||||
for (int y = start_y; y < start_y + height; ++y) {
|
||||
int index = offset + x + y * stride;
|
||||
ccl_global float *buffer = render_buffer + index * kernel_data.film.pass_stride;
|
||||
ccl_global float *buffer = render_buffer + (uint64_t)index * kernel_data.film.pass_stride;
|
||||
const uint aux_w_offset = kernel_data.film.pass_adaptive_aux_buffer + 3;
|
||||
|
||||
if (buffer[aux_w_offset] == 0.0f) {
|
||||
if (y > start_y && !prev) {
|
||||
index = index - stride;
|
||||
buffer = render_buffer + index * kernel_data.film.pass_stride;
|
||||
buffer = render_buffer + (uint64_t)index * kernel_data.film.pass_stride;
|
||||
buffer[aux_w_offset] = 0.0f;
|
||||
}
|
||||
prev = true;
|
||||
|
|
|
@ -102,7 +102,7 @@ ccl_device bool integrator_init_from_bake(KernelGlobals kg,
|
|||
/* Setup render buffers. */
|
||||
const int index = INTEGRATOR_STATE(state, path, render_pixel_index);
|
||||
const int pass_stride = kernel_data.film.pass_stride;
|
||||
ccl_global float *buffer = render_buffer + index * pass_stride;
|
||||
ccl_global float *buffer = render_buffer + (uint64_t)index * pass_stride;
|
||||
|
||||
ccl_global float *primitive = buffer + kernel_data.film.pass_bake_primitive;
|
||||
ccl_global float *differential = buffer + kernel_data.film.pass_bake_differential;
|
||||
|
|
Loading…
Reference in New Issue