Skip to content

Commit 927fae3

Browse files
committed
tr_surface: parallelize Tess_SurfaceIQM()
1 parent e4e3271 commit 927fae3

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

src/engine/renderer/tr_surface.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
2121
===========================================================================
2222
*/
2323
// tr_surface.c
24+
#include "framework/Omp.h"
2425
#include "tr_local.h"
2526
#include "gl_shader.h"
2627
#include "Material.h"
@@ -1241,6 +1242,8 @@ void Tess_SurfaceIQM( srfIQModel_t *surf ) {
12411242
float *modelTexcoord = model->texcoords + 2 * firstVertex;
12421243
shaderVertex_t *modelTessVertex = tess.verts + tess.numVertexes;
12431244

1245+
Omp::EnlistThreads();
1246+
12441247
// Deform the vertices by the lerped bones.
12451248
if ( model->num_joints > 0 && model->blendWeights && model->blendIndexes )
12461249
{
@@ -1251,6 +1254,7 @@ void Tess_SurfaceIQM( srfIQModel_t *surf ) {
12511254
byte *modelBlendIndex = model->blendIndexes + 4 * firstVertex;
12521255
byte *modelBlendWeight = model->blendWeights + 4 * firstVertex;
12531256

1257+
#pragma omp parallel for
12541258
for ( size_t i = 0; i < surf->num_vertexes; i++ )
12551259
{
12561260
shaderVertex_t *tessVertex = modelTessVertex + i;
@@ -1288,6 +1292,7 @@ void Tess_SurfaceIQM( srfIQModel_t *surf ) {
12881292
byte *modelBlendIndex = model->blendIndexes + 4 * firstVertex;
12891293
byte *modelBlendWeight = model->blendWeights + 4 * firstVertex;
12901294

1295+
#pragma omp parallel for
12911296
for ( size_t i = 0; i < surf->num_vertexes; i++ )
12921297
{
12931298
shaderVertex_t *tessVertex = modelTessVertex + i;
@@ -1342,6 +1347,7 @@ void Tess_SurfaceIQM( srfIQModel_t *surf ) {
13421347
{
13431348
float scale = model->internalScale * backEnd.currentEntity->e.skeleton.scale;
13441349

1350+
#pragma omp parallel for
13451351
for ( size_t i = 0; i < surf->num_vertexes; i++ )
13461352
{
13471353
shaderVertex_t *tessVertex = modelTessVertex + i;

0 commit comments

Comments
 (0)