Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2008-04-14 14:14:59 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2008-04-14 14:14:59 +0400
commit6da7b60cd3394259d503e2280d59e48306c42fb2 (patch)
tree82985b29587920770b8fa184c5e99df7cde91ba3 /source/blender/render/intern/include/render_types.h
parent3dcb3cc4cdbf2147365c51941d8c3863c9c8890b (diff)
Attempted fix for bug #8349: QMC raytracing being very slow on some
computers, probably due to slow multithreaded malloc. Now each render thread keeps a list of qmc samplers that it fills as needed while rendering (since it is hard to predict the actual amount needed in advance due to ray recursion).
Diffstat (limited to 'source/blender/render/intern/include/render_types.h')
-rw-r--r--source/blender/render/intern/include/render_types.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/source/blender/render/intern/include/render_types.h b/source/blender/render/intern/include/render_types.h
index 22fb2e70d87..c2d2ea96745 100644
--- a/source/blender/render/intern/include/render_types.h
+++ b/source/blender/render/intern/include/render_types.h
@@ -64,8 +64,10 @@ typedef struct SampleTables
typedef struct QMCSampler
{
+ struct QMCSampler *next, *prev;
int type;
int tot;
+ int used;
double *samp2d;
double offs[BLENDER_MAX_THREADS][2];
} QMCSampler;
@@ -150,7 +152,7 @@ struct Render
/* samples */
SampleTables *samples;
float jit[32][2];
- QMCSampler *qsa;
+ ListBase *qmcsamplers;
/* shadow counter, detect shadow-reuse for shaders */
int shadowsamplenr[BLENDER_MAX_THREADS];
@@ -455,7 +457,6 @@ typedef struct LampRen {
struct ShadBuf *shb;
float *jitter;
- QMCSampler *qsa;
float imat[3][3];
float spottexfac;