Changeset View
Changeset View
Standalone View
Standalone View
source/blender/draw/intern/draw_hair.c
| Show First 20 Lines • Show All 240 Lines • ▼ Show 20 Lines | #ifndef USE_TRANSFORM_FEEDBACK | ||||
| /** | /** | ||||
| * Workaround to tranform feedback not working on mac. | * Workaround to tranform feedback not working on mac. | ||||
| * On some system it crashes (see T58489) and on some other it renders garbage (see T60171). | * On some system it crashes (see T58489) and on some other it renders garbage (see T60171). | ||||
| * | * | ||||
| * So instead of using transform feedback we render to a texture, | * So instead of using transform feedback we render to a texture, | ||||
| * readback the result to system memory and reupload as VBO data. | * readback the result to system memory and reupload as VBO data. | ||||
| * It is really not ideal performance wise, but it is the simplest | * It is really not ideal performance wise, but it is the simplest | ||||
| * and the most local workaround that still uses the power of the GPU. | * and the most local workaround that still uses the power of the GPU. | ||||
| **/ | */ | ||||
| if (g_tf_calls == NULL) { | if (g_tf_calls == NULL) { | ||||
| return; | return; | ||||
| } | } | ||||
| /* Search ideal buffer size. */ | /* Search ideal buffer size. */ | ||||
| uint max_size = 0; | uint max_size = 0; | ||||
| for (ParticleRefineCall *pr_call = g_tf_calls; pr_call; pr_call = pr_call->next) { | for (ParticleRefineCall *pr_call = g_tf_calls; pr_call; pr_call = pr_call->next) { | ||||
| ▲ Show 20 Lines • Show All 61 Lines • Show Last 20 Lines | |||||