diff --git a/CHANGELOG.md b/CHANGELOG.md index ac66a7642..13449ee70 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -52,6 +52,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Vulkan PBR: **anisotropic visibility** for direct light; optional **IBL roughness stretch** from the anisotropy map (`r_pbr_iblAnisoStretch`); **clearcoat** base attenuation and **Charlie sheen** with optional fourth `sheenScale` roughness token. ### Removed +- Stale Vulkan compile gates: dead non-PBR shader init (`USE_VK_PBR` `#else` branch), OpenGL glTF shader path (`RENDERER_OPENGL`), and unused `USE_TESS_NEEDS_*` / `needsNormal`/`needsST2` plumbing (normals and lightmap ST2 are always gathered on Vulkan). - Legacy `r_vfog*` engine cvars and `vk_vfog.c`/`vk_vfog.h`: volumetric fog is configured only via `r_volumetricFog*` (and map/`r_fog*` as documented). Editor `worldspawn` keys `vfog_*` remain separate map data, not console cvars. ### Security diff --git a/src/renderers/vulkan/tr_animation.c b/src/renderers/vulkan/tr_animation.c index 74aa8a49b..864d915aa 100644 --- a/src/renderers/vulkan/tr_animation.c +++ b/src/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/src/renderers/vulkan/tr_init.c b/src/renderers/vulkan/tr_init.c index 5bc348dc6..792f3af11 100644 --- a/src/renderers/vulkan/tr_init.c +++ b/src/renderers/vulkan/tr_init.c @@ -103,10 +103,6 @@ cvar_t *r_firstPersonScaleEnabled; cvar_t *r_firstPersonZNear; cvar_t *r_skipBackEnd; -#ifdef USE_IMGUI -cvar_t *r_imgui; -cvar_t *r_imguiTheme; -#endif cvar_t *r_greyscale; cvar_t *r_dither; diff --git a/src/renderers/vulkan/tr_local.h b/src/renderers/vulkan/tr_local.h index 8d41478a6..5f6dff59e 100644 --- a/src/renderers/vulkan/tr_local.h +++ b/src/renderers/vulkan/tr_local.h @@ -46,9 +46,6 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA #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" @@ -546,9 +543,7 @@ typedef struct shader_s { fogPass_t fogPass; // draw a blended pass, possibly with depth test equals - qboolean needsNormal; // not all shaders will need all data to be gathered //qboolean needsST1; - qboolean needsST2; //qboolean needsColor; int numDeforms; @@ -2115,12 +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/src/renderers/vulkan/tr_main.c b/src/renderers/vulkan/tr_main.c index 5f1eef047..939428afe 100644 --- a/src/renderers/vulkan/tr_main.c +++ b/src/renderers/vulkan/tr_main.c @@ -1078,9 +1078,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 ); @@ -1248,7 +1245,7 @@ static qboolean R_MirrorViewBySurface( const drawSurf_t *drawSurf, int entityNum return qfalse; } - if ( r_noportals->integer > 1 /*|| r_fastsky->integer == 1 */ ) { + if ( r_noportals->integer > 1 ) { return qfalse; } diff --git a/src/renderers/vulkan/tr_model_gltf.c b/src/renderers/vulkan/tr_model_gltf.c index a73a8ac8a..28e8e871a 100644 --- a/src/renderers/vulkan/tr_model_gltf.c +++ b/src/renderers/vulkan/tr_model_gltf.c @@ -41,53 +41,9 @@ float R_GLTFPackGpuVertexMeta( int morphVertexIndex ) Com_Memcpy( &out, &packed, sizeof( out ) ); return out; } -#ifdef RENDERER_VULKAN #include "vk.h" -#endif #include -#ifdef RENDERER_OPENGL -/* -OpenGL: glTF materials only carry texture paths; engine shaders are separate .shader files. -When `normalTexture` is set, try **`stripExtension(path) + "_norm"`** first. If that shader is -missing and the stripped path ends with **`_n`** (e.g. `.../diffuse_n` from `diffuse_n.tga`), -also try **`strip trailing _n` + `_norm`** so `foo_norm` shaders resolve. Fall back to the -base-color texture shader name. -*/ -static shader_t *R_GLTF_RegisterSurfaceShader( const gltfMaterial_t *mat ) { - char normName[MAX_QPATH]; - size_t len; - qhandle_t h; - - if ( mat->normalTexture[0] ) { - COM_StripExtension( mat->normalTexture, normName, sizeof( normName ) ); - Q_strcat( normName, sizeof( normName ), "_norm" ); - h = RE_RegisterShaderNoMip( normName ); - if ( h ) { - return R_GetShaderByHandle( h ); - } - COM_StripExtension( mat->normalTexture, normName, sizeof( normName ) ); - len = strlen( normName ); - if ( len >= 2 && normName[len - 2] == '_' && - ( normName[len - 1] == 'n' || normName[len - 1] == 'N' ) ) { - normName[len - 2] = '\0'; - Q_strcat( normName, sizeof( normName ), "_norm" ); - h = RE_RegisterShaderNoMip( normName ); - if ( h ) { - return R_GetShaderByHandle( h ); - } - } - } - if ( mat->baseColorTexture[0] ) { - h = RE_RegisterShaderNoMip( mat->baseColorTexture ); - if ( h ) { - return R_GetShaderByHandle( h ); - } - } - return tr.defaultShader; -} -#endif - static qboolean gltf_load_materials(const cgltf_data *data, gltfModel_t *model); static qboolean gltf_load_meshes(const cgltf_data *data, gltfModel_t *model); static qboolean gltf_load_skeleton(const cgltf_data *data, gltfModel_t *model); @@ -1117,18 +1073,12 @@ qboolean R_RegisterGLTF(const char *name, model_t *mod) { if (prim->materialIndex >= 0 && prim->materialIndex < gltfModel.numMaterials) { gltfMaterial_t *mat = &rdata->model.materials[prim->materialIndex]; -#ifdef RENDERER_OPENGL - surf->shader = R_GLTF_RegisterSurfaceShader( mat ); -#else if (mat->baseColorTexture[0]) { qhandle_t h = RE_RegisterShaderNoMip(mat->baseColorTexture); surf->shader = R_GetShaderByHandle(h); } -#endif } - /* VBO: pack vertex data (Vulkan only; OpenGL uses CPU tess path) */ -#ifdef RENDERER_VULKAN if (prim->numVertices > 0 && prim->numIndices > 0) { int offXyz, offRgba, offSt, offNorm, offJoint, offWeight; int n = prim->numVertices; @@ -1182,7 +1132,6 @@ qboolean R_RegisterGLTF(const char *name, model_t *mod) { } ri.Hunk_FreeTempMemory(vboPack); } -#endif /* RENDERER_VULKAN */ } } diff --git a/src/renderers/vulkan/tr_shade.c b/src/renderers/vulkan/tr_shade.c index c05d28240..555634705 100644 --- a/src/renderers/vulkan/tr_shade.c +++ b/src/renderers/vulkan/tr_shade.c @@ -390,17 +390,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 ) ) ); -#endif - -#ifdef USE_TESS_NEEDS_ST2 - tess.needsST2 = state->needsST2; -#endif - tess.numIndexes = 0; tess.numVertexes = 0; tess.sdfUiEdge = -1.0f; diff --git a/src/renderers/vulkan/tr_shader.c b/src/renderers/vulkan/tr_shader.c index 126c92b3e..2b15f4310 100644 --- a/src/renderers/vulkan/tr_shader.c +++ b/src/renderers/vulkan/tr_shader.c @@ -3888,64 +3888,6 @@ static void InitShader( const char *name, int lightmapIndex ) { } -static void DetectNeeds( void ) -{ - int i, n; - - for ( i = 0; i < MAX_SHADER_STAGES; i++ ) - { - if ( !stages[i].active ) - break; - - for ( n = 0; n < NUM_TEXTURE_BUNDLES; n++ ) { - const texCoordGen_t t = stages[i].bundle[n].tcGen; - if ( t == TCGEN_LIGHTMAP ) - { - shader.needsST2 = qtrue; - } - if ( t == TCGEN_ENVIRONMENT_MAPPED || t == TCGEN_ENVIRONMENT_MAPPED_FP ) - { - shader.needsNormal = qtrue; - } - if ( stages[i].bundle[n].alphaGen == AGEN_LIGHTING_SPECULAR || stages[i].bundle[n].rgbGen == CGEN_LIGHTING_DIFFUSE ) - { - shader.needsNormal = qtrue; - } - } -#if 0 - t1 = stages[i].bundle[0].tcGen; - t2 = stages[i].bundle[1].tcGen; - - if ( t1 == TCGEN_LIGHTMAP || t2 == TCGEN_LIGHTMAP ) - { - shader.needsST2 = qtrue; - } - if ( t1 == TCGEN_ENVIRONMENT_MAPPED || t1 == TCGEN_ENVIRONMENT_MAPPED_FP ) - { - shader.needsNormal = qtrue; - } - if ( t2 == TCGEN_ENVIRONMENT_MAPPED || t2 == TCGEN_ENVIRONMENT_MAPPED_FP ) - { - shader.needsNormal = qtrue; - } - if ( stages[i].bundle[0].alphaGen == AGEN_LIGHTING_SPECULAR || stages[i].bundle[0].rgbGen == CGEN_LIGHTING_DIFFUSE ) - { - shader.needsNormal = qtrue; - } -#endif - } - for ( i = 0; i < shader.numDeforms; i++ ) - { - if ( shader.deforms[i].deformation == DEFORM_WAVE || shader.deforms[i].deformation == DEFORM_NORMALS || shader.deforms[i].deformation == DEFORM_BULGE ) { - shader.needsNormal = qtrue; - } - if ( shader.deforms[i].deformation >= DEFORM_TEXT0 && shader.deforms[i].deformation <= DEFORM_TEXT7 ) { - shader.needsNormal = qtrue; - } - } -} - - /* ========================= FinishShader @@ -4104,8 +4046,6 @@ static shader_t *FinishShader( void ) { } } - DetectNeeds(); - // fix alphaGen flags to avoid redundant comparisons in R_ComputeColors() for ( i = 0; i < MAX_SHADER_STAGES; i++ ) { shaderStage_t *pStage = &stages[ i ]; @@ -4844,11 +4784,6 @@ shader_t *R_FindShader( const char *name, int lightmapIndex, qboolean mipRawImag InitShader( strippedName, lightmapIndex ); - /* needsNormal etc. could be set based on stage requirements. */ - //shader.needsST1 = qtrue; - //shader.needsST2 = qtrue; - //shader.needsColor = qtrue; - // // attempt to define shader from an explicit parameter file // @@ -4933,11 +4868,6 @@ qhandle_t RE_RegisterShaderFromImage(const char *name, int lightmapIndex, image_ InitShader( name, lightmapIndex ); - /* needsNormal etc. could be set based on stage requirements. */ - //shader.needsST1 = qtrue; - //shader.needsST2 = qtrue; - //shader.needsColor = qtrue; - // // create the default shading commands // diff --git a/src/renderers/vulkan/tr_surface.c b/src/renderers/vulkan/tr_surface.c index 18a8aacab..5a2a91204 100644 --- a/src/renderers/vulkan/tr_surface.c +++ b/src/renderers/vulkan/tr_surface.c @@ -405,9 +405,6 @@ 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]; @@ -433,9 +430,6 @@ static void RB_SurfaceTriangles( const srfTriangles_t *srf ) { 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]; @@ -988,9 +982,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 @@ -1017,9 +1008,6 @@ static void RB_SurfaceFace( const srfSurfaceFace_t *surf ) { #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]; @@ -1032,9 +1020,6 @@ static void RB_SurfaceFace( const srfSurfaceFace_t *surf ) { #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]; @@ -1300,17 +1285,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]; diff --git a/src/renderers/vulkan/vk_shader_modules.c b/src/renderers/vulkan/vk_shader_modules.c index a3e423729..85bfcdc5d 100644 --- a/src/renderers/vulkan/vk_shader_modules.c +++ b/src/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 ); @@ -69,126 +66,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/src/renderers/vulkan/vk_vbo.c b/src/renderers/vulkan/vk_vbo.c index 021b58639..e06642e2d 100644 --- a/src/renderers/vulkan/vk_vbo.c +++ b/src/renderers/vulkan/vk_vbo.c @@ -765,12 +765,6 @@ void R_BuildWorldVBO( msurface_t *surf, int surfCount ) 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