diff --git a/renderers/vulkan/tr_animation.c b/renderers/vulkan/tr_animation.c index 74aa8a49b..864d915aa 100644 --- a/renderers/vulkan/tr_animation.c +++ b/renderers/vulkan/tr_animation.c @@ -411,9 +411,6 @@ void RB_MDRSurfaceAnim( mdrSurface_t *surface ) tempVert[1] += w->boneWeight * ( DotProduct( bone->matrix[1], w->offset ) + bone->matrix[1][3] ); tempVert[2] += w->boneWeight * ( DotProduct( bone->matrix[2], w->offset ) + bone->matrix[2][3] ); -#ifdef USE_TESS_NEEDS_NORMAL - if ( tess.needsNormal ) -#endif { tempNormal[0] += w->boneWeight * DotProduct( bone->matrix[0], v->normal ); tempNormal[1] += w->boneWeight * DotProduct( bone->matrix[1], v->normal ); @@ -425,9 +422,6 @@ void RB_MDRSurfaceAnim( mdrSurface_t *surface ) tess.xyz[baseVertex + j][1] = tempVert[1]; tess.xyz[baseVertex + j][2] = tempVert[2]; -#ifdef USE_TESS_NEEDS_NORMAL - if ( tess.needsNormal ) -#endif { tess.normal[baseVertex + j][0] = tempNormal[0]; tess.normal[baseVertex + j][1] = tempNormal[1]; diff --git a/renderers/vulkan/tr_local.h b/renderers/vulkan/tr_local.h index 2fc7cda2d..0a3d4e034 100644 --- a/renderers/vulkan/tr_local.h +++ b/renderers/vulkan/tr_local.h @@ -42,13 +42,6 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA #define MAX_TEXTURE_SIZE 32768 -#ifdef USE_VBO -#define USE_VBO_GRID /* put SF_GRID to VBO */ -#endif - -//#define USE_TESS_NEEDS_NORMAL -//#define USE_TESS_NEEDS_ST2 - #define SH_COEFF_COUNT 9 #include "../../qcommon/q_shared.h" @@ -856,11 +849,7 @@ typedef struct srfGridMesh_s { srfVert_t verts[1]; // variable sized } srfGridMesh_t; -#ifdef USE_VK_PBR - #define VERTEXSIZE 11 -#else - #define VERTEXSIZE 8 -#endif +#define VERTEXSIZE 11 typedef struct { surfaceType_t surfaceType; cplane_t plane; @@ -2054,9 +2043,7 @@ image_t *vk_create_pbr_albedo_srgb( const char *albedoMapName, imgFlags_t flags // // tr_surface.c // -#ifdef USE_VBO_GRID void RB_SurfaceGridEstimate( srfGridMesh_t *cv, int *numVertexes, int *numIndexes ); -#endif /* ==================================================================== @@ -2123,13 +2110,6 @@ typedef struct shaderCommands_s #endif // info extracted from current shader -#ifdef USE_TESS_NEEDS_NORMAL - int needsNormal; -#endif -#ifdef USE_TESS_NEEDS_ST2 - int needsST2; -#endif - int numPasses; shaderStage_t **xstages; diff --git a/renderers/vulkan/tr_main.c b/renderers/vulkan/tr_main.c index ee9bfde1e..df953a99c 100644 --- a/renderers/vulkan/tr_main.c +++ b/renderers/vulkan/tr_main.c @@ -1079,9 +1079,6 @@ static qboolean SurfIsOffscreen( const drawSurf_t *drawSurf, qboolean *isMirror RB_BeginSurface( shader, fogNum ); #ifdef USE_VBO tess.allowVBO = qfalse; -#endif -#ifdef USE_TESS_NEEDS_NORMAL - tess.needsNormal = qtrue; #endif rb_surfaceTable[ *drawSurf->surface ]( drawSurf->surface ); diff --git a/renderers/vulkan/tr_shade.c b/renderers/vulkan/tr_shade.c index fa24904be..103249454 100644 --- a/renderers/vulkan/tr_shade.c +++ b/renderers/vulkan/tr_shade.c @@ -389,18 +389,6 @@ void RB_BeginSurface( shader_t *shader, int fogNum ) { tess.dlightUpdateParams = qtrue; } -#ifdef USE_TESS_NEEDS_NORMAL - tess.needsNormal = state->needsNormal || tess.dlightPass || r_shownormals->integer || - ( backEnd.currentEntity == &tr.worldEntity && - ( ( r_shDebugView && r_shDebugView->integer ) || - ( r_shWorldLighting && r_shWorldLighting->integer && r_shLighting && r_shLighting->integer && - !R_ClassicLightingActive() ) ) ); -#endif - -#ifdef USE_TESS_NEEDS_ST2 - tess.needsST2 = state->needsST2; -#endif - tess.numIndexes = 0; tess.numVertexes = 0; tess.sdfUiEdge = -1.0f; diff --git a/renderers/vulkan/tr_surface.c b/renderers/vulkan/tr_surface.c index 5408f2e0e..9505b97b3 100644 --- a/renderers/vulkan/tr_surface.c +++ b/renderers/vulkan/tr_surface.c @@ -389,10 +389,8 @@ static void RB_SurfaceTriangles( const srfTriangles_t *srf ) { int i; const srfVert_t *dv; float *xyz, *normal; -#ifdef USE_VK_PBR float *qtangent; float *lightdir; -#endif float *texCoords0; float *texCoords1; uint32_t *color; @@ -426,10 +424,8 @@ static void RB_SurfaceTriangles( const srfTriangles_t *srf ) { dv = srf->verts; xyz = tess.xyz[ tess.numVertexes ]; normal = tess.normal[ tess.numVertexes ]; -#ifdef USE_VK_PBR qtangent = tess.qtangent[ tess.numVertexes ]; lightdir = tess.lightdir[ tess.numVertexes ]; -#endif texCoords0 = tess.texCoords[0][ tess.numVertexes ]; texCoords1 = tess.texCoords[1][ tess.numVertexes ]; color = &tess.vertexColors[ tess.numVertexes ].u32; @@ -439,16 +435,12 @@ static void RB_SurfaceTriangles( const srfTriangles_t *srf ) { xyz[1] = dv->xyz[1]; xyz[2] = dv->xyz[2]; -#ifdef USE_TESS_NEEDS_NORMAL - if ( tess.needsNormal ) -#endif { normal[0] = dv->normal[0]; normal[1] = dv->normal[1]; normal[2] = dv->normal[2]; } -#ifdef USE_VK_PBR if( vk.pbrActive ) { qtangent[0] = dv->qtangent[0]; qtangent[1] = dv->qtangent[1]; @@ -462,14 +454,10 @@ static void RB_SurfaceTriangles( const srfTriangles_t *srf ) { lightdir[3] = 0.0; lightdir += 4; } -#endif texCoords0[0] = dv->st[0]; texCoords0[1] = dv->st[1]; -#ifdef USE_TESS_NEEDS_ST2 - if ( tess.needsST2 ) -#endif { texCoords1[0] = dv->lightmap[0]; texCoords1[1] = dv->lightmap[1]; @@ -1011,9 +999,6 @@ static void RB_SurfaceFace( const srfSurfaceFace_t *surf ) { numPoints = surf->numPoints; -#ifdef USE_TESS_NEEDS_NORMAL - if ( tess.needsNormal ) -#endif { if ( surf->normals ) { // per-vertex normals for non-coplanar faces @@ -1026,23 +1011,17 @@ static void RB_SurfaceFace( const srfSurfaceFace_t *surf ) { } } -#ifdef USE_VK_PBR if( vk.pbrActive && surf->qtangents ) memcpy( &tess.qtangent[ tess.numVertexes ], surf->qtangents, numPoints * sizeof( vec4_t ) ); if( vk.pbrActive && surf->lightdir ) memcpy( &tess.lightdir[ tess.numVertexes ], surf->lightdir, numPoints * sizeof( vec4_t ) ); -#endif for ( i = 0, v = surf->points[0], ndx = tess.numVertexes; i < numPoints; i++, v += VERTEXSIZE, ndx++ ) { VectorCopy( v, tess.xyz[ndx]); -#ifdef USE_VK_PBR tess.texCoords[0][ndx][0] = v[6]; tess.texCoords[0][ndx][1] = v[7]; -#ifdef USE_TESS_NEEDS_ST2 - if ( tess.needsST2 ) -#endif { tess.texCoords[1][ndx][0] = v[8]; tess.texCoords[1][ndx][1] = v[9]; @@ -1052,22 +1031,6 @@ static void RB_SurfaceFace( const srfSurfaceFace_t *surf ) { Com_Memcpy( &color, &v[10], sizeof( color ) ); Com_Memcpy( &tess.vertexColors[ndx], &color, sizeof( color ) ); } -#else - tess.texCoords[0][ndx][0] = v[3]; - tess.texCoords[0][ndx][1] = v[4]; -#ifdef USE_TESS_NEEDS_ST2 - if ( tess.needsST2 ) -#endif - { - tess.texCoords[1][ndx][0] = v[5]; - tess.texCoords[1][ndx][1] = v[6]; - } - { - uint32_t color; - Com_Memcpy( &color, &v[7], sizeof( color ) ); - Com_Memcpy( &tess.vertexColors[ndx], &color, sizeof( color ) ); - } -#endif tess.vertexDlightBits[ndx] = dlightBits; } @@ -1106,7 +1069,6 @@ static float LodErrorForVolume( vec3_t local, float radius ) { return r_lodCurveError->value / d; } -#ifdef USE_VBO_GRID void RB_SurfaceGridEstimate( srfGridMesh_t *cv, int *numVertexes, int *numIndexes ) { int lodWidth, lodHeight; @@ -1170,7 +1132,6 @@ void RB_SurfaceGridEstimate( srfGridMesh_t *cv, int *numVertexes, int *numIndexe tess.numVertexes = 0; tess.numIndexes = 0; } -#endif // USE_VBO_GRID /* ============= @@ -1185,10 +1146,8 @@ static void RB_SurfaceGrid( srfGridMesh_t *cv ) { float *texCoords0; float *texCoords1; float *normal; -#ifdef USE_VK_PBR float *qtangent; float *lightdir; -#endif uint32_t *color; srfVert_t *dv; int rows, irows, vrows; @@ -1201,30 +1160,22 @@ static void RB_SurfaceGrid( srfGridMesh_t *cv ) { int dlightBits; int *vDlightBits; -#ifdef USE_VBO_GRID if ( tess.allowVBO && cv->vboItemIndex && !cv->dlightBits && RB_QueueSurfaceVBO( cv->vboItemIndex, SF_GRID ) ) { return; } VBO_Flush(); -#else -#ifdef USE_VBO - VBO_Flush(); -#endif -#endif dlightBits = cv->dlightBits; tess.dlightBits |= dlightBits; -#ifdef USE_VBO_GRID tess.surfType = SF_GRID; // determine the allowable discrepance if ( cv->vboItemIndex && ( tr.mapLoading || ( tess.dlightPass && tess.shader->isStaticShader ) ) ) lodError = r_lodCurveError->value; // fixed quality for VBO else -#endif // USE_VBO_GRID lodError = LodErrorForVolume( cv->lodOrigin, cv->lodRadius ); // determine which rows and columns of the subdivision @@ -1265,13 +1216,11 @@ static void RB_SurfaceGrid( srfGridMesh_t *cv ) { if ( vrows < 2 || irows < 1 ) { if ( tr.mapLoading ) { // estimate and flush -#ifdef USE_VBO_GRID if ( cv->vboItemIndex ) { VBO_PushData( cv->vboItemIndex, &tess ); tess.numIndexes = 0; tess.numVertexes = 0; } else -#endif // USE_VBO_GRID ri.Error( ERR_DROP, "Unexpected grid flush during map loading!\n" ); } else { RB_EndSurface(); @@ -1294,10 +1243,8 @@ static void RB_SurfaceGrid( srfGridMesh_t *cv ) { xyz = tess.xyz[numVertexes]; normal = tess.normal[numVertexes]; -#ifdef USE_VK_PBR qtangent = tess.qtangent[numVertexes]; lightdir = tess.lightdir[numVertexes]; -#endif texCoords0 = tess.texCoords[0][numVertexes]; texCoords1 = tess.texCoords[1][numVertexes]; color = &tess.vertexColors[numVertexes].u32; @@ -1312,17 +1259,11 @@ static void RB_SurfaceGrid( srfGridMesh_t *cv ) { xyz[2] = dv->xyz[2]; texCoords0[0] = dv->st[0]; texCoords0[1] = dv->st[1]; -#ifdef USE_TESS_NEEDS_ST2 - if ( tess.needsST2 ) -#endif { texCoords1[0] = dv->lightmap[0]; texCoords1[1] = dv->lightmap[1]; texCoords1 += 2; } -#ifdef USE_TESS_NEEDS_NORMAL - if ( tess.needsNormal ) -#endif { normal[0] = dv->normal[0]; normal[1] = dv->normal[1]; @@ -1330,7 +1271,6 @@ static void RB_SurfaceGrid( srfGridMesh_t *cv ) { normal += 4; } -#ifdef USE_VK_PBR if( vk.pbrActive ) { qtangent[0] = dv->qtangent[0]; qtangent[1] = dv->qtangent[1]; @@ -1344,7 +1284,6 @@ static void RB_SurfaceGrid( srfGridMesh_t *cv ) { lightdir[3] = 0.0; lightdir += 4; } -#endif *color = dv->color.u32; *vDlightBits++ = dlightBits; @@ -1540,7 +1479,6 @@ static void RB_SurfaceSkip( void *surf ) { (void)surf; } -#ifdef USE_VK_PBR /* ================ RB_GLTFRecomputeQtangentsForTessRange @@ -1636,8 +1574,7 @@ static void RB_GLTFRecomputeQtangentsForTessRange( int vertBase, int numVerts, i ri.Hunk_FreeTempMemory( btAcc ); ri.Hunk_FreeTempMemory( tanAcc ); -} -#endif /* USE_VK_PBR */ +} /* USE_VK_PBR */ /* ============= @@ -1787,7 +1724,6 @@ void RB_GLTFSurface( const surfaceType_t *surface ) { } } -#ifdef USE_VK_PBR if ( r_gltfGpu && r_gltfGpu->integer && vk.cmd && vk.pbrActive && tess.shader && tess.shader->hasPBR && surf->vbo_vertex != TR_GLTF_VBO_HANDLE_INVALID && surf->vbo_index != TR_GLTF_VBO_HANDLE_INVALID && ( haveJoints || useMorph ) && @@ -1945,8 +1881,7 @@ void RB_GLTFSurface( const surfaceType_t *surface ) { } tess.gltfUseGpuPipeline = qfalse; tess.gltfGpuMorphActive = qfalse; - tess.gltfGpuMorphCount = 0; -#endif /* USE_VK_PBR */ + tess.gltfGpuMorphCount = 0; /* USE_VK_PBR */ if ( surf->vbo_vertex != TR_GLTF_VBO_HANDLE_INVALID && surf->vbo_index != TR_GLTF_VBO_HANDLE_INVALID ) { /* VBO path: set gltfDrawSurface for vk_bind_geometry to use */ @@ -2062,11 +1997,9 @@ void RB_GLTFSurface( const surfaceType_t *surface ) { tess.indexes[tess.numIndexes + j] = (glIndex_t)( base + surf->indices[j] ); } tess.numIndexes += surf->numIndices; -#ifdef USE_VK_PBR if ( vk.pbrActive && tess.shader && tess.shader->hasPBR ) { RB_GLTFRecomputeQtangentsForTessRange( base, surf->numVertices, idxBase, surf->numIndices ); } -#endif } } diff --git a/renderers/vulkan/vk_shader_modules.c b/renderers/vulkan/vk_shader_modules.c index f4665baa6..f4bbd200f 100644 --- a/renderers/vulkan/vk_shader_modules.c +++ b/renderers/vulkan/vk_shader_modules.c @@ -37,9 +37,6 @@ static VkShaderModule vk_shader_module_from_spirv( const uint8_t *bytes, int cou void vk_create_shader_modules( void ) { int i, j, k; -#ifndef USE_VK_PBR - int l; -#endif vk.modules.frag.gen0_df = SHADER_MODULE( frag_tx0_df ); SET_OBJECT_NAME( vk.modules.frag.gen0_df, "single-texture df fragment module", VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT ); @@ -73,126 +70,7 @@ void vk_create_shader_modules( void ) } } -#ifdef USE_VK_PBR vk_bind_generated_shaders(); -#else - vk.modules.vert.gen[0][0][0][0] = SHADER_MODULE( vert_tx0 ); - vk.modules.vert.gen[0][0][0][1] = SHADER_MODULE( vert_tx0_fog ); - vk.modules.vert.gen[0][0][1][0] = SHADER_MODULE( vert_tx0_env ); - vk.modules.vert.gen[0][0][1][1] = SHADER_MODULE( vert_tx0_env_fog ); - - vk.modules.vert.gen[1][0][0][0] = SHADER_MODULE( vert_tx1 ); - vk.modules.vert.gen[1][0][0][1] = SHADER_MODULE( vert_tx1_fog ); - vk.modules.vert.gen[1][0][1][0] = SHADER_MODULE( vert_tx1_env ); - vk.modules.vert.gen[1][0][1][1] = SHADER_MODULE( vert_tx1_env_fog ); - - vk.modules.vert.gen[1][1][0][0] = SHADER_MODULE( vert_tx1_cl ); - vk.modules.vert.gen[1][1][0][1] = SHADER_MODULE( vert_tx1_cl_fog ); - vk.modules.vert.gen[1][1][1][0] = SHADER_MODULE( vert_tx1_cl_env ); - vk.modules.vert.gen[1][1][1][1] = SHADER_MODULE( vert_tx1_cl_env_fog ); - - vk.modules.vert.gen[2][0][0][0] = SHADER_MODULE( vert_tx2 ); - vk.modules.vert.gen[2][0][0][1] = SHADER_MODULE( vert_tx2_fog ); - vk.modules.vert.gen[2][0][1][0] = SHADER_MODULE( vert_tx2_env ); - vk.modules.vert.gen[2][0][1][1] = SHADER_MODULE( vert_tx2_env_fog ); - - vk.modules.vert.gen[2][1][0][0] = SHADER_MODULE( vert_tx2_cl ); - vk.modules.vert.gen[2][1][0][1] = SHADER_MODULE( vert_tx2_cl_fog ); - vk.modules.vert.gen[2][1][1][0] = SHADER_MODULE( vert_tx2_cl_env ); - vk.modules.vert.gen[2][1][1][1] = SHADER_MODULE( vert_tx2_cl_env_fog ); - - for ( i = 0; i < 3; i++ ) { - const char *tx[] = { "single", "double", "triple" }; - const char *cl[] = { "", "+cl" }; - const char *env[] = { "", "+env" }; - const char *fog[] = { "", "+fog" }; - for ( j = 0; j < 2; j++ ) { - for ( k = 0; k < 2; k++ ) { - for ( l = 0; l < 2; l++ ) { - const char *s = va( "%s-texture%s%s%s vertex module", tx[i], cl[j], env[k], fog[l] ); - SET_OBJECT_NAME( vk.modules.vert.gen[i][j][k][l], s, VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT ); - } - } - } - } - - vk.modules.vert.ident1[0][0][0] = SHADER_MODULE( vert_tx0_ident1 ); - vk.modules.vert.ident1[0][0][1] = SHADER_MODULE( vert_tx0_ident1_fog ); - vk.modules.vert.ident1[0][1][0] = SHADER_MODULE( vert_tx0_ident1_env ); - vk.modules.vert.ident1[0][1][1] = SHADER_MODULE( vert_tx0_ident1_env_fog ); - vk.modules.vert.ident1[1][0][0] = SHADER_MODULE( vert_tx1_ident1 ); - vk.modules.vert.ident1[1][0][1] = SHADER_MODULE( vert_tx1_ident1_fog ); - vk.modules.vert.ident1[1][1][0] = SHADER_MODULE( vert_tx1_ident1_env ); - vk.modules.vert.ident1[1][1][1] = SHADER_MODULE( vert_tx1_ident1_env_fog ); - for ( i = 0; i < 2; i++ ) { - const char *tx[] = { "single", "double" }; - const char *env[] = { "", "+env" }; - const char *fog[] = { "", "+fog" }; - for ( j = 0; j < 2; j++ ) { - for ( k = 0; k < 2; k++ ) { - const char *s = va( "%s-texture identity%s%s vertex module", tx[i], env[j], fog[k] ); - SET_OBJECT_NAME( vk.modules.vert.ident1[i][j][k], s, VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT ); - } - } - } - - vk.modules.frag.ident1[0][0] = SHADER_MODULE( frag_tx0_ident1 ); - vk.modules.frag.ident1[0][1] = SHADER_MODULE( frag_tx0_ident1_fog ); - vk.modules.frag.ident1[1][0] = SHADER_MODULE( frag_tx1_ident1 ); - vk.modules.frag.ident1[1][1] = SHADER_MODULE( frag_tx1_ident1_fog ); - for ( i = 0; i < 2; i++ ) { - const char *tx[] = { "single", "double" }; - const char *fog[] = { "", "+fog" }; - for ( j = 0; j < 2; j++ ) { - const char *s = va( "%s-texture identity%s fragment module", tx[i], fog[j] ); - SET_OBJECT_NAME( vk.modules.frag.ident1[i][j], s, VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT ); - } - } - - vk.modules.vert.fixed[0][0][0] = SHADER_MODULE( vert_tx0_fixed ); - vk.modules.vert.fixed[0][0][1] = SHADER_MODULE( vert_tx0_fixed_fog ); - vk.modules.vert.fixed[0][1][0] = SHADER_MODULE( vert_tx0_fixed_env ); - vk.modules.vert.fixed[0][1][1] = SHADER_MODULE( vert_tx0_fixed_env_fog ); - vk.modules.vert.fixed[1][0][0] = SHADER_MODULE( vert_tx1_fixed ); - vk.modules.vert.fixed[1][0][1] = SHADER_MODULE( vert_tx1_fixed_fog ); - vk.modules.vert.fixed[1][1][0] = SHADER_MODULE( vert_tx1_fixed_env ); - vk.modules.vert.fixed[1][1][1] = SHADER_MODULE( vert_tx1_fixed_env_fog ); - for ( i = 0; i < 2; i++ ) { - const char *tx[] = { "single", "double" }; - const char *env[] = { "", "+env" }; - const char *fog[] = { "", "+fog" }; - for ( j = 0; j < 2; j++ ) { - for ( k = 0; k < 2; k++ ) { - const char *s = va( "%s-texture fixed-color%s%s vertex module", tx[i], env[j], fog[k] ); - SET_OBJECT_NAME( vk.modules.vert.fixed[i][j][k], s, VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT ); - } - } - } - - vk.modules.frag.fixed[0][0] = SHADER_MODULE( frag_tx0_fixed ); - vk.modules.frag.fixed[0][1] = SHADER_MODULE( frag_tx0_fixed_fog ); - vk.modules.frag.fixed[1][0] = SHADER_MODULE( frag_tx1_fixed ); - vk.modules.frag.fixed[1][1] = SHADER_MODULE( frag_tx1_fixed_fog ); - for ( i = 0; i < 2; i++ ) { - const char *tx[] = { "single", "double" }; - const char *fog[] = { "", "+fog" }; - for ( j = 0; j < 2; j++ ) { - const char *s = va( "%s-texture fixed-color%s fragment module", tx[i], fog[j] ); - SET_OBJECT_NAME( vk.modules.frag.fixed[i][j], s, VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT ); - } - } - - vk.modules.frag.ent[0][0] = SHADER_MODULE( frag_tx0_ent ); - vk.modules.frag.ent[0][1] = SHADER_MODULE( frag_tx0_ent_fog ); - for ( i = 0; i < 1; i++ ) { - const char *tx[] = { "single" /*, "double" */}; - const char *fog[] = { "", "+fog" }; - for ( j = 0; j < 2; j++ ) { - const char *s = va( "%s-texture entity-color%s fragment module", tx[i], fog[j] ); - SET_OBJECT_NAME( vk.modules.frag.ent[i][j], s, VK_DEBUG_REPORT_OBJECT_TYPE_SHADER_MODULE_EXT ); - } - } -#endif vk.modules.vert.light[0] = SHADER_MODULE( vert_light ); vk.modules.vert.light[1] = SHADER_MODULE( vert_light_fog ); diff --git a/renderers/vulkan/vk_shutdown.c b/renderers/vulkan/vk_shutdown.c index 89bb5d0ff..551b3aafb 100644 --- a/renderers/vulkan/vk_shutdown.c +++ b/renderers/vulkan/vk_shutdown.c @@ -36,11 +36,7 @@ void vk_release_vbo( void ); void vk_shutdown( refShutdownCode_t code ) { -#ifdef USE_VK_PBR int i, j, k, l, m; -#else - int i, j, k, l; -#endif if ( qvkQueuePresentKHR == NULL ) { /* not fully initialized */ goto __cleanup; @@ -181,9 +177,7 @@ void vk_shutdown( refShutdownCode_t code ) qvkDestroyPipelineLayout( vk.device, vk.pipeline_layout_atmosphere, NULL ); vk.pipeline_layout_atmosphere = VK_NULL_HANDLE; } -#ifdef USE_VK_PBR qvkDestroyPipelineLayout(vk.device, vk.pipeline_layout_brdflut, NULL); -#endif #ifdef USE_VBO vk_release_vbo(); @@ -205,7 +199,6 @@ void vk_shutdown( refShutdownCode_t code ) qvkDestroyBuffer( vk.device, vk.storage.buffer, NULL ); qvkFreeMemory( vk.device, vk.storage.memory, NULL ); -#ifdef USE_VK_PBR for (i = 0; i < 2; i++) { for (j = 0; j < 3; j++) { for (k = 0; k < 2; k++) { @@ -238,30 +231,6 @@ for (i = 0; i < 2; i++) { } } } -#else - for ( i = 0; i < 3; i++ ) { - for ( j = 0; j < 2; j++ ) { - for ( k = 0; k < 2; k++ ) { - for ( l = 0; l < 2; l++ ) { - if ( vk.modules.vert.gen[i][j][k][l] != VK_NULL_HANDLE ) { - qvkDestroyShaderModule( vk.device, vk.modules.vert.gen[i][j][k][l], NULL ); - vk.modules.vert.gen[i][j][k][l] = VK_NULL_HANDLE; - } - } - } - } - } - for ( i = 0; i < 3; i++ ) { - for ( j = 0; j < 2; j++ ) { - for ( k = 0; k < 2; k++ ) { - if ( vk.modules.frag.gen[i][j][k] != VK_NULL_HANDLE ) { - qvkDestroyShaderModule( vk.device, vk.modules.frag.gen[i][j][k], NULL ); - vk.modules.frag.gen[i][j][k] = VK_NULL_HANDLE; - } - } - } - } -#endif for ( i = 0; i < 2; i++ ) { if ( vk.modules.vert.light[i] != VK_NULL_HANDLE ) { @@ -276,7 +245,6 @@ for (i = 0; i < 2; i++) { } } -#ifdef USE_VK_PBR for ( i = 0; i < 2; i++ ) { for ( j = 0; j < 2; j++ ) { for ( k = 0; k < 2; k++ ) { @@ -311,36 +279,6 @@ for (i = 0; i < 2; i++) { } } } -#else - for ( i = 0; i < 2; i++ ) { - for ( j = 0; j < 2; j++ ) { - for ( k = 0; k < 2; k++ ) { - qvkDestroyShaderModule( vk.device, vk.modules.vert.ident1[i][j][k], NULL ); - vk.modules.vert.ident1[i][j][k] = VK_NULL_HANDLE; - } - qvkDestroyShaderModule( vk.device, vk.modules.frag.ident1[i][j], NULL ); - vk.modules.frag.ident1[i][j] = VK_NULL_HANDLE; - } - } - - for ( i = 0; i < 2; i++ ) { - for ( j = 0; j < 2; j++ ) { - for ( k = 0; k < 2; k++ ) { - qvkDestroyShaderModule( vk.device, vk.modules.vert.fixed[i][j][k], NULL ); - vk.modules.vert.fixed[i][j][k] = VK_NULL_HANDLE; - } - qvkDestroyShaderModule( vk.device, vk.modules.frag.fixed[i][j], NULL ); - vk.modules.frag.fixed[i][j] = VK_NULL_HANDLE; - } - } - - for ( i = 0; i < 1; i++ ) { - for ( j = 0; j < 2; j++ ) { - qvkDestroyShaderModule( vk.device, vk.modules.frag.ent[i][j], NULL ); - vk.modules.frag.ent[i][j] = VK_NULL_HANDLE; - } - } -#endif qvkDestroyShaderModule( vk.device, vk.modules.frag.gen0_df, NULL ); qvkDestroyShaderModule( vk.device, vk.modules.frag.ui_sdf_text, NULL ); @@ -469,9 +407,7 @@ for (i = 0; i < 2; i++) { VK_DESTROY_SHADER_MODULE_FIELD( vk.modules.irradiancecube_fs ); VK_DESTROY_SHADER_MODULE_FIELD( vk.modules.prefilterenvmap_fs ); -#ifdef USE_VK_PBR VK_DESTROY_SHADER_MODULE_FIELD( vk.modules.brdflut_fs ); -#endif #undef VK_DESTROY_SHADER_MODULE_FIELD diff --git a/renderers/vulkan/vk_vbo.c b/renderers/vulkan/vk_vbo.c index 7ced000a3..659012240 100644 --- a/renderers/vulkan/vk_vbo.c +++ b/renderers/vulkan/vk_vbo.c @@ -431,7 +431,6 @@ static void VBO_AddGeometry( vbo_t *vbo, vbo_item_t *vi, shaderCommands_t *input // go to first color offset offs = input->shader->normalOffset + input->shader->numVertexes * sizeof( input->normal[0] ); -#ifdef USE_VK_PBR if( vk.pbrActive ) { input->shader->qtangentOffset = input->shader->normalOffset + input->shader->numVertexes * sizeof(input->normal[0]); input->shader->lightdirOffset = input->shader->qtangentOffset + input->shader->numVertexes * sizeof(input->qtangent[0]); @@ -441,7 +440,6 @@ static void VBO_AddGeometry( vbo_t *vbo, vbo_item_t *vi, shaderCommands_t *input // go to first color offset offs = input->shader->lightdirOffset + input->shader->numVertexes * sizeof(input->qtangent[0]); } -#endif for ( i = 0; i < MAX_VBO_STAGES; i++ ) { @@ -538,7 +536,6 @@ static void VBO_AddGeometry( vbo_t *vbo, vbo_item_t *vi, shaderCommands_t *input //Com_Printf( "v offs=%i size=%i\n", offs, size ); memcpy( vbo->vbo_buffer + offs, input->normal, size ); -#ifdef USE_VK_PBR // qtangent if( vk.pbrActive ) { offs = input->shader->qtangentOffset + input->shader->curVertexes * sizeof(input->qtangent[0]); @@ -558,7 +555,6 @@ static void VBO_AddGeometry( vbo_t *vbo, vbo_item_t *vi, shaderCommands_t *input //Com_Printf( "v offs=%i size=%i\n", offs, size ); memcpy(vbo->vbo_buffer + offs, input->lightdir, size); } -#endif vi->num_indexes += input->numIndexes; vi->num_vertexes += input->numVertexes; @@ -671,9 +667,7 @@ void R_BuildWorldVBO( msurface_t *surf, int surfCount ) msurface_t **surfList; srfSurfaceFace_t *face; srfTriangles_t *tris; -#ifdef USE_VBO_GRID srfGridMesh_t *grid; -#endif msurface_t *sf; int ibo_size; int vbo_size; @@ -704,10 +698,8 @@ void R_BuildWorldVBO( msurface_t *surf, int surfCount ) numStaticIndexes += face->numIndices; vbo_size += face->numPoints * (sf->shader->svarsSize + sizeof( tess.xyz[0] ) + sizeof( tess.normal[0] ) ); -#ifdef USE_VK_PBR if ( vk.pbrActive ) vbo_size += face->numPoints * ( sizeof(tess.qtangent[0]) + sizeof(tess.lightdir[0]) ); -#endif sf->shader->numVertexes += face->numPoints; sf->shader->numIndexes += face->numIndices; continue; @@ -719,15 +711,12 @@ void R_BuildWorldVBO( msurface_t *surf, int surfCount ) numStaticIndexes += tris->numIndexes; vbo_size += tris->numVerts * (sf->shader->svarsSize + sizeof( tess.xyz[0] ) + sizeof( tess.normal[0] ) ); -#ifdef USE_VK_PBR if ( vk.pbrActive ) vbo_size += tris->numVerts * ( sizeof(tess.qtangent[0]) + sizeof(tess.lightdir[0]) ); -#endif sf->shader->numVertexes += tris->numVerts; sf->shader->numIndexes += tris->numIndexes; continue; } -#ifdef USE_VBO_GRID grid = (srfGridMesh_t *) sf->data; if ( grid->surfaceType == SF_GRID && isStaticShader( sf->shader ) ) { grid->vboItemIndex = ++numStaticSurfaces; @@ -736,15 +725,12 @@ void R_BuildWorldVBO( msurface_t *surf, int surfCount ) numStaticIndexes += grid->vboExpectIndices; vbo_size += grid->vboExpectVertices * (sf->shader->svarsSize + sizeof( tess.xyz[0] ) + sizeof( tess.normal[0] ) ); -#ifdef USE_VK_PBR if ( vk.pbrActive ) vbo_size += grid->vboExpectVertices * ( sizeof(tess.qtangent[0]) + sizeof(tess.lightdir[0]) ); -#endif sf->shader->numVertexes += grid->vboExpectVertices; sf->shader->numIndexes += grid->vboExpectIndices; continue; } -#endif // USE_VBO_GRID } if ( numStaticSurfaces == 0 ) { ri.Printf( PRINT_ALL, "...no static surfaces for VBO\n" ); @@ -798,13 +784,11 @@ void R_BuildWorldVBO( msurface_t *surf, int surfCount ) surfList[ n++ ] = sf; continue; } -#ifdef USE_VBO_GRID grid = (srfGridMesh_t *) sf->data; if ( grid->surfaceType == SF_GRID && grid->vboItemIndex ) { surfList[ n++ ] = sf; continue; } -#endif // USE_VBO_GRID } if ( n != numStaticSurfaces ) { @@ -825,41 +809,29 @@ void R_BuildWorldVBO( msurface_t *surf, int surfCount ) sf = surfList[ i ]; face = (srfSurfaceFace_t *) sf->data; tris = (srfTriangles_t *) sf->data; -#ifdef USE_VBO_GRID grid = (srfGridMesh_t *) sf->data; -#endif if ( face->surfaceType == SF_FACE ) face->vboItemIndex = i + 1; else if (tris->surfaceType == SF_TRIANGLES) { tris->vboItemIndex = i + 1; -#ifdef USE_VBO_GRID } else if (grid->surfaceType == SF_GRID) { grid->vboItemIndex = i + 1; -#endif } else { ri.Error( ERR_DROP, "Unexpected surface type" ); } initItem( vbo->items + i + 1 ); RB_BeginSurface( sf->shader, 0 ); tess.allowVBO = qfalse; // block execution of VBO path as we need to tesselate geometry -#ifdef USE_TESS_NEEDS_NORMAL - tess.needsNormal = qtrue; -#endif -#ifdef USE_TESS_NEEDS_ST2 - tess.needsST2 = qtrue; -#endif // tesselate rb_surfaceTable[ *sf->data ]( sf->data ); // VBO_PushData() may be called multiple times there // setup colors and texture coordinates VBO_PushData( i + 1, &tess ); -#ifdef USE_VBO_GRID if ( grid->surfaceType == SF_GRID ) { vbo_item_t *vi = vbo->items + i + 1; if ( vi->num_vertexes != grid->vboExpectVertices || vi->num_indexes != grid->vboExpectIndices ) { ri.Error( ERR_DROP, "Unexpected grid vertexes/indexes count" ); } } -#endif // USE_VBO_GRID tess.numIndexes = 0; tess.numVertexes = 0; } @@ -1231,11 +1203,9 @@ static void VBO_StreamWriteGeometry( stream_vbo_item_t *item, shaderCommands_t * int offs, size, i; svarsSize = input->shader->svarsSize; -#ifdef USE_VK_PBR if ( vk.pbrActive ) { svarsSize += (int)( input->numVertexes * ( sizeof( input->qtangent[0] ) + sizeof( input->lightdir[0] ) ) ); } -#endif VBO_StreamEnsureCapacity( input->numIndexes * (int)sizeof( input->indexes[0] ) + input->numVertexes * ( (int)sizeof( input->xyz[0] ) + (int)sizeof( input->normal[0] ) + svarsSize ) ); @@ -1247,13 +1217,11 @@ static void VBO_StreamWriteGeometry( stream_vbo_item_t *item, shaderCommands_t * item->normalOffset = item->vboOffset + input->numVertexes * (int)sizeof( input->xyz[0] ); offs = item->normalOffset + input->numVertexes * (int)sizeof( input->normal[0] ); -#ifdef USE_VK_PBR if ( vk.pbrActive ) { item->qtangentOffset = offs; item->lightdirOffset = offs + input->numVertexes * (int)sizeof( input->qtangent[0] ); offs = item->lightdirOffset + input->numVertexes * (int)sizeof( input->lightdir[0] ); } -#endif stream_vbo.vbo_offset = VBO_StreamLayoutStages( item, input, offs ); @@ -1269,7 +1237,6 @@ static void VBO_StreamWriteGeometry( stream_vbo_item_t *item, shaderCommands_t * size = input->numVertexes * (int)sizeof( input->normal[0] ); memcpy( stream_vbo.vbo_buffer + offs, input->normal, size ); -#ifdef USE_VK_PBR if ( vk.pbrActive ) { offs = item->qtangentOffset; size = input->numVertexes * (int)sizeof( input->qtangent[0] ); @@ -1279,7 +1246,6 @@ static void VBO_StreamWriteGeometry( stream_vbo_item_t *item, shaderCommands_t * size = input->numVertexes * (int)sizeof( input->lightdir[0] ); memcpy( stream_vbo.vbo_buffer + offs, input->lightdir, size ); } -#endif for ( i = 0; i < MAX_VBO_STAGES; i++ ) { pStage = input->xstages[i]; @@ -1396,12 +1362,6 @@ qboolean VBO_StreamUploadSurface( surfaceType_t *surface, shader_t *shader, int RB_BeginSurface( shader, 0 ); tess.allowVBO = qfalse; -#ifdef USE_TESS_NEEDS_NORMAL - tess.needsNormal = qtrue; -#endif -#ifdef USE_TESS_NEEDS_ST2 - tess.needsST2 = qtrue; -#endif rb_surfaceTable[*surface]( surface ); if ( tess.numIndexes <= 0 || tess.numVertexes <= 0 ) { tess.numIndexes = savedIndexes;