[Bf-cycles] Cycles tables

Sergey Sharybin sergey.vfx at gmail.com
Thu Apr 14 11:27:37 CEST 2016


Unless you can reproduce the issue with our code it's not much what we can
do for you.

Just step-by-step and see where exactly something goes from proper pointer
to NULL. Using ASAN could also help you.

On Thu, Apr 14, 2016 at 11:19 AM, Mohamed Sakr <3dsakr at gmail.com> wrote:

> Hi Sergey,
>
> I'm having a nightmare with this bug, so I need your help.
> what happens in the first rendering:
> kernel_globals is filled correctly inside device update, path trace is
> running fine "scene is empty, no meshes, no lights, no objects, just params
> are passed".
>
> in the second rendering:
> kernel_globals is filled correctly inside device update, path trace
> kernel_globals got all data = NULL... , any idea how this happens "and they
> are just filled before path trace"?
>
> cheers,
> Mohamed Sakr
>
> On Wed, Apr 13, 2016 at 11:01 AM, Mohamed Sakr <3dsakr at gmail.com> wrote:
>
>> Hi Sergey,
>>
>> it fails to sample Sobol sampler.
>>
>> On Wed, Apr 13, 2016 at 8:54 AM, Sergey Sharybin <sergey.vfx at gmail.com>
>> wrote:
>>
>>> It depends on what texture it's failing to sample.
>>>
>>> Most likely you either not calling `device_update()` somewhere or you
>>> don't call kernel_tex_copy().
>>>
>>> On Wed, Apr 13, 2016 at 4:57 AM, Mohamed Sakr <3dsakr at gmail.com> wrote:
>>>
>>>> Hi,
>>>>
>>>> I'm implementing an exporter similar to Cycles standalone.
>>>> got a little problem,
>>>> first render call runs fine "simply an empty scene"
>>>> second render call (should be with a non-empty scene" fails, it always
>>>> crashes inside tables "many times inside sobol table, once inside film
>>>> offset"
>>>>
>>>> template<typename T> struct texture  {
>>>> ccl_always_inline T fetch(int index)
>>>> {
>>>> kernel_assert(index >= 0 && index < width);
>>>> return data[index];
>>>> }
>>>>
>>>> #ifdef __KERNEL_SSE2__
>>>> ccl_always_inline ssef fetch_ssef(int index)
>>>> {
>>>> kernel_assert(index >= 0 && index < width);
>>>> return ((ssef*)data)[index];
>>>> }
>>>>
>>>> ccl_always_inline ssei fetch_ssei(int index)
>>>> {
>>>> kernel_assert(index >= 0 && index < width);
>>>> return ((ssei*)data)[index];
>>>> }
>>>> #endif
>>>>
>>>> T *data;
>>>> int width;
>>>> };
>>>>
>>>> data is nullptr, sometimes width is wrong, etc..
>>>> what does reset these values? "or where/when are they
>>>> deleted/initialized, with scene or session"
>>>>
>>>> thanks.
>>>> cheers,
>>>> Mohamed Sakr
>>>>
>>>>
>>>> _______________________________________________
>>>> Bf-cycles mailing list
>>>> Bf-cycles at blender.org
>>>> https://lists.blender.org/mailman/listinfo/bf-cycles
>>>>
>>>>
>>>
>>>
>>> --
>>> With best regards, Sergey Sharybin
>>>
>>> _______________________________________________
>>> Bf-cycles mailing list
>>> Bf-cycles at blender.org
>>> https://lists.blender.org/mailman/listinfo/bf-cycles
>>>
>>>
>>
>
> _______________________________________________
> Bf-cycles mailing list
> Bf-cycles at blender.org
> https://lists.blender.org/mailman/listinfo/bf-cycles
>
>


-- 
With best regards, Sergey Sharybin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.blender.org/pipermail/bf-cycles/attachments/20160414/eab3b1f2/attachment.htm 


More information about the Bf-cycles mailing list