Skip to content

Fully deterministic output #124

@nh2

Description

@nh2

Hi,

is it possible to make texrecon produce fully deterministic output?

I noticed (with the versions from #120 (comment)) that multiple runs on the same input produce different outputs.

Most significantly, the order of texture patches in the generated material0000_map_Kd.png texture atlases is permuted (observed especially when OpenMP based multithreading is used).

But there is also nondeterminism when when there's no multithreading (when the environment variable OMP_THREAD_LIMIT=1 is set). I've observed sometimes that the PNG files are visually identical but differ slightly in size and contents (for example, for my 4k² texture, idiff reports 31 pixels being minimally different).

  1. Where in the code might this nondeterminism originate from?
  2. Do you think this is the only place of nondeterminism in texrecon?
  3. What do you think is needed to make it fully deterministic?

Thanks a lot for this software!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions