summaryrefslogtreecommitdiff
path: root/src/modules/snow/snow.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/snow/snow.c')
-rw-r--r--src/modules/snow/snow.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/modules/snow/snow.c b/src/modules/snow/snow.c
index 82ad847..bf0aee0 100644
--- a/src/modules/snow/snow.c
+++ b/src/modules/snow/snow.c
@@ -10,8 +10,8 @@
/* This implements white noise / snow just using rand() */
typedef union snow_seed_t {
- char __padding[256]; /* prevent seeds sharing a cache-line */
- int seed;
+ char __padding[256]; /* prevent seeds sharing a cache-line */
+ unsigned seed;
} snow_seed_t;
typedef struct snow_context_t {
@@ -29,7 +29,7 @@ static void * snow_create_context(unsigned seed, unsigned ticks, unsigned n_cpus
return NULL;
for (unsigned i = 0; i < n_cpus; i++)
- ctxt->seeds[i].seed = rand();
+ ctxt->seeds[i].seed = rand_r(&seed);
return ctxt;
}
@@ -50,7 +50,7 @@ static void snow_prepare_frame(void *context, unsigned ticks, unsigned n_cpus, t
static void snow_render_fragment(void *context, unsigned ticks, unsigned cpu, til_fb_fragment_t *fragment)
{
snow_context_t *ctxt = context;
- int *seed = &ctxt->seeds[cpu].seed;
+ unsigned *seed = &ctxt->seeds[cpu].seed;
for (unsigned y = fragment->y; y < fragment->y + fragment->height; y++) {
for (unsigned x = fragment->x; x < fragment->x + fragment->width; x++) {
© All Rights Reserved