diff --git a/codemp/rd-common/tr_image_load.cpp b/codemp/rd-common/tr_image_load.cpp index adcb2ffd91..05b205436a 100644 --- a/codemp/rd-common/tr_image_load.cpp +++ b/codemp/rd-common/tr_image_load.cpp @@ -107,12 +107,12 @@ void R_LoadImage( const char *shortname, byte **pic, int *width, int *height ) { *height = 0; // Try loading the image with the original extension (if possible). - const char *extension = COM_GetExtension(shortname); - const ImageLoaderMap *imageLoader = FindImageLoader(extension); - if (imageLoader != NULL) + const char *extension = COM_GetExtension (shortname); + const ImageLoaderMap *imageLoader = FindImageLoader (extension); + if ( imageLoader != NULL ) { - imageLoader->loader(shortname, pic, width, height); - if (*pic) + imageLoader->loader (shortname, pic, width, height); + if ( *pic ) { return; } @@ -120,24 +120,21 @@ void R_LoadImage( const char *shortname, byte **pic, int *width, int *height ) { // Loop through all the image loaders trying to load this image. char extensionlessName[MAX_QPATH]; - COM_StripExtension(shortname, extensionlessName, sizeof(extensionlessName)); - for (int i = 0; i < numImageLoaders; i++) + COM_StripExtension(shortname, extensionlessName, sizeof( extensionlessName )); + for ( int i = 0; i < numImageLoaders; i++ ) { const ImageLoaderMap *tryLoader = &imageLoaders[i]; - if (tryLoader == imageLoader) + if ( tryLoader == imageLoader ) { // Already tried this one. continue; } - const char *name = va("%s.%s", extensionlessName, tryLoader->extension); - - tryLoader->loader(name, pic, width, height); - if (*pic) + const char *name = va ("%s.%s", extensionlessName, tryLoader->extension); + tryLoader->loader (name, pic, width, height); + if ( *pic ) { return; } } - - return; } diff --git a/codemp/rd-dedicated/tr_init.cpp b/codemp/rd-dedicated/tr_init.cpp index c3e37d455f..82304484c3 100644 --- a/codemp/rd-dedicated/tr_init.cpp +++ b/codemp/rd-dedicated/tr_init.cpp @@ -211,8 +211,7 @@ Ghoul2 Insert End cvar_t *r_aviMotionJpegQuality; cvar_t *r_screenshotJpegQuality; - -cvar_t *r_patchStitching; +cvar_t *r_patchStitching; /* ** R_GetModeInfo @@ -455,9 +454,7 @@ Ghoul2 Insert Start /* Ghoul2 Insert End */ - r_patchStitching = ri.Cvar_Get("r_patchStitching", "1", CVAR_ARCHIVE, "Enable stitching of neighbouring patch surfaces" ); - r_modelpoolmegs = ri.Cvar_Get("r_modelpoolmegs", "20", CVAR_ARCHIVE, "" ); if (ri.Sys_LowPhysicalMemory() ) ri.Cvar_Set("r_modelpoolmegs", "0"); diff --git a/codemp/rd-dedicated/tr_local.h b/codemp/rd-dedicated/tr_local.h index 2da318024e..54757dc652 100644 --- a/codemp/rd-dedicated/tr_local.h +++ b/codemp/rd-dedicated/tr_local.h @@ -543,12 +543,11 @@ typedef struct { } skinSurface_t; typedef struct skin_s { - char name[MAX_QPATH]; // game path, including extension - int numSurfaces; + char name[MAX_QPATH]; // game path, including extension + int numSurfaces; skinSurface_t *surfaces[128]; } skin_t; - typedef struct fog_s { int originalBrushNumber; vec3_t bounds[2]; diff --git a/codemp/rd-vanilla/tr_bsp.cpp b/codemp/rd-vanilla/tr_bsp.cpp index 59bbed12c0..9b833c4fd9 100644 --- a/codemp/rd-vanilla/tr_bsp.cpp +++ b/codemp/rd-vanilla/tr_bsp.cpp @@ -1393,13 +1393,13 @@ static void R_LoadSurfaces( lump_t *surfs, lump_t *verts, lump_t *indexLump, wor } if ( r_patchStitching->integer ) { - R_StitchAllPatches(worldData); + R_StitchAllPatches( worldData ); } R_FixSharedVertexLodError(worldData); if ( r_patchStitching->integer ) { - R_MovePatchSurfacesToHunk(worldData); + R_MovePatchSurfacesToHunk( worldData ); } ri.Printf( PRINT_ALL, "...loaded %d faces, %i meshes, %i trisurfs, %i flares\n", numFaces, numMeshes, numTriSurfs, numFlares ); diff --git a/codemp/rd-vanilla/tr_init.cpp b/codemp/rd-vanilla/tr_init.cpp index 9759c3160a..2fd1284172 100644 --- a/codemp/rd-vanilla/tr_init.cpp +++ b/codemp/rd-vanilla/tr_init.cpp @@ -220,7 +220,7 @@ cvar_t *se_language; cvar_t *r_aviMotionJpegQuality; cvar_t *r_screenshotJpegQuality; -cvar_t *r_patchStitching; +cvar_t *r_patchStitching; #if !defined(__APPLE__) PFNGLSTENCILOPSEPARATEPROC qglStencilOpSeparate; diff --git a/codemp/rd-vanilla/tr_local.h b/codemp/rd-vanilla/tr_local.h index af22d96d5c..d90100081d 100644 --- a/codemp/rd-vanilla/tr_local.h +++ b/codemp/rd-vanilla/tr_local.h @@ -575,12 +575,11 @@ typedef struct { } skinSurface_t; typedef struct skin_s { - char name[MAX_QPATH]; // game path, including extension - int numSurfaces; + char name[MAX_QPATH]; // game path, including extension + int numSurfaces; skinSurface_t *surfaces[128]; } skin_t; - typedef struct fog_s { int originalBrushNumber; vec3_t bounds[2]; @@ -1292,7 +1291,7 @@ extern cvar_t *r_noServerGhoul2; Ghoul2 Insert End */ -extern cvar_t *r_patchStitching; +extern cvar_t *r_patchStitching; //==================================================================== diff --git a/codemp/rd-vulkan/tr_bsp.cpp b/codemp/rd-vulkan/tr_bsp.cpp index 92bcc842ee..c6f799741c 100644 --- a/codemp/rd-vulkan/tr_bsp.cpp +++ b/codemp/rd-vulkan/tr_bsp.cpp @@ -160,9 +160,8 @@ static void R_LoadLightmaps( lump_t *l, lump_t *surfs, world_t &worldData ) { int len; byte *image; int imageSize; - int i, j, numLightmaps = 0; //, textureInternalFormat = 0; + int i, j, numLightmaps = 0; float maxIntensity = 0; - //double sumIntensity = 0; int numColorComponents = 3; const int lightmapSize = DEFAULT_LIGHTMAP_SIZE; @@ -221,8 +220,6 @@ static void R_LoadLightmaps( lump_t *l, lump_t *surfs, world_t &worldData ) { tr.lightmaps = (image_t **)ri.Hunk_Alloc( tr.numLightmaps * sizeof(image_t *), h_low ); - //textureInternalFormat = GL_RGBA8; - if ( tr.worldInternalLightmapping ) { for ( i = 0; i < tr.numLightmaps; i++ ) @@ -336,8 +333,6 @@ static void R_LoadLightmaps( lump_t *l, lump_t *surfs, world_t &worldData ) { image[j * 4 + 1] = out[1] * 255; image[j * 4 + 2] = out[2] * 255; image[j * 4 + 3] = 255; - - //sumIntensity += intensity; } else { @@ -1634,13 +1629,13 @@ static void R_LoadSurfaces( const lump_t *surfs, const lump_t *verts, const lump } if ( r_patchStitching->integer ) { - R_StitchAllPatches(worldData); + R_StitchAllPatches( worldData ); } R_FixSharedVertexLodError(worldData); if ( r_patchStitching->integer ) { - R_MovePatchSurfacesToHunk(worldData); + R_MovePatchSurfacesToHunk( worldData ); } vk_debug("...loaded %d faces, %i meshes, %i trisurfs, %i flares\n", numFaces, numMeshes, numTriSurfs, numFlares ); diff --git a/codemp/rd-vulkan/tr_ghoul2.cpp b/codemp/rd-vulkan/tr_ghoul2.cpp index a6ab3f33ee..62fbfd74a5 100644 --- a/codemp/rd-vulkan/tr_ghoul2.cpp +++ b/codemp/rd-vulkan/tr_ghoul2.cpp @@ -3553,7 +3553,6 @@ void RB_SurfaceGhoul(CRenderableSurface* surf) //float *texCoords = tess.texCoords[0][baseVertex]; float* texCoords = tess.texCoords[0][baseVertex]; - //int hack = baseVertex; //rww - since the array is arranged as such we cannot increment //the relative memory position to get where we want. Maybe this //is why sof2 has the texCoords array reversed. In any case, I @@ -4285,8 +4284,6 @@ qboolean R_LoadMDXM( model_t *mod, void *buffer, const char *mod_name, qboolean lod = (mdxmLOD_t *) ( (byte *)mdxm + mdxm->ofsLODs ); for ( l = 0 ; l < mdxm->numLODs ; l++) { - //int triCount = 0; - LL(lod->ofsEnd); // swap all the surfaces surf = (mdxmSurface_t *) ( (byte *)lod + sizeof (mdxmLOD_t) + (mdxm->numSurfaces * sizeof(mdxmLODSurfOffset_t)) ); @@ -4302,8 +4299,6 @@ qboolean R_LoadMDXM( model_t *mod, void *buffer, const char *mod_name, qboolean LL(surf->ofsBoneReferences); LL(surf->ofsEnd); - //triCount += surf->numTriangles; - if ( surf->numVerts > SHADER_MAX_VERTEXES ) { Com_Error (ERR_DROP, "R_LoadMDXM: %s has more than %i verts on a surface (%i)", mod_name, SHADER_MAX_VERTEXES, surf->numVerts ); diff --git a/codemp/rd-vulkan/tr_init.cpp b/codemp/rd-vulkan/tr_init.cpp index b033625a00..af78a46d5c 100644 --- a/codemp/rd-vulkan/tr_init.cpp +++ b/codemp/rd-vulkan/tr_init.cpp @@ -183,7 +183,7 @@ cvar_t *r_patchStitching; // Vulkan cvar_t *r_defaultImage; cvar_t *r_device; -cvar_t *r_stencilbits; +//cvar_t *r_stencilbits; cvar_t *r_ext_multisample; cvar_t *r_ext_supersample; cvar_t *r_ext_alpha_to_coverage; @@ -900,6 +900,7 @@ void R_Register( void ) r_marksOnTriangleMeshes = ri.Cvar_Get( "r_marksOnTriangleMeshes", "0", CVAR_ARCHIVE_ND, "" ); r_aspectCorrectFonts = ri.Cvar_Get( "r_aspectCorrectFonts", "0", CVAR_ARCHIVE, "" ); cl_ratioFix = ri.Cvar_Get( "cl_ratioFix", "1", CVAR_ARCHIVE, "" ); + r_patchStitching = ri.Cvar_Get( "r_patchStitching", "1", CVAR_ARCHIVE, "Enable stitching of neighbouring patch surfaces" ); r_maxpolys = ri.Cvar_Get( "r_maxpolys", XSTRING( DEFAULT_MAX_POLYS ), CVAR_NONE, "" ); r_maxpolyverts = ri.Cvar_Get( "r_maxpolyverts", XSTRING( DEFAULT_MAX_POLYVERTS ), CVAR_NONE, "" ); @@ -912,7 +913,7 @@ void R_Register( void ) ri.Cvar_CheckRange(r_device, -2, 8, qtrue); r_device->modified = qfalse; - r_stencilbits = ri.Cvar_Get("r_stencilbits", "8", CVAR_ARCHIVE_ND | CVAR_LATCH, ""); + //r_stencilbits = ri.Cvar_Get("r_stencilbits", "8", CVAR_ARCHIVE_ND | CVAR_LATCH, ""); r_ext_multisample = ri.Cvar_Get("r_ext_multisample", "0", CVAR_ARCHIVE_ND | CVAR_LATCH, ""); ri.Cvar_CheckRange(r_ext_multisample, 0, 64, qtrue); r_ext_supersample = ri.Cvar_Get("r_ext_supersample", "0", CVAR_ARCHIVE_ND | CVAR_LATCH, ""); diff --git a/codemp/rd-vulkan/tr_local.h b/codemp/rd-vulkan/tr_local.h index eecc4c4e8b..03ae60e864 100644 --- a/codemp/rd-vulkan/tr_local.h +++ b/codemp/rd-vulkan/tr_local.h @@ -714,12 +714,11 @@ typedef struct { } skinSurface_t; typedef struct skin_s { - char name[MAX_QPATH]; // game path, including extension - int numSurfaces; + char name[MAX_QPATH]; // game path, including extension + int numSurfaces; skinSurface_t *surfaces[128]; } skin_t; - typedef struct fog_s { int originalBrushNumber; vec3_t bounds[2]; @@ -1606,6 +1605,7 @@ extern cvar_t *r_marksOnTriangleMeshes; extern cvar_t *r_aspectCorrectFonts; extern cvar_t *cl_ratioFix; +extern cvar_t *r_patchStitching; // Vulkan extern cvar_t *r_defaultImage; @@ -2166,7 +2166,6 @@ typedef struct backEndData_s { dlight_t dlights[MAX_DLIGHTS]; #endif trRefEntity_t entities[MAX_REFENTITIES]; - trMiniRefEntity_t miniEntities[MAX_MINI_ENTITIES]; srfPoly_t *polys;//[MAX_POLYS]; polyVert_t *polyVerts;//[MAX_POLYVERTS]; renderCommandList_t commands; diff --git a/codemp/rd-vulkan/tr_main.cpp b/codemp/rd-vulkan/tr_main.cpp index 9bd7faee48..de2b257616 100644 --- a/codemp/rd-vulkan/tr_main.cpp +++ b/codemp/rd-vulkan/tr_main.cpp @@ -290,24 +290,6 @@ void R_TransformModelToClip( const vec3_t src, const float *modelMatrix, const f } } -/* -========================== -R_TransformModelToClipMVP -========================== -*/ -/* -static void R_TransformModelToClipMVP( const vec3_t src, const float *mvp, vec4_t clip ) { - int i; - - for (i = 0; i < 4; i++) { - clip[i] = - src[0] * mvp[i + 0 * 4] + - src[1] * mvp[i + 1 * 4] + - src[2] * mvp[i + 2 * 4] + - 1 * mvp[i + 3 * 4]; - } -}*/ - /* ========================== R_TransformClipToWindow @@ -1050,79 +1032,6 @@ static qboolean SurfIsOffscreen( const drawSurf_t *drawSurf, vec4_t clipDest[128 return qfalse; } -#if 0 -/* -================ -R_GetModelViewBounds -================ -*/ -static void R_GetModelViewBounds( int *mins, int *maxs ) -{ - float minn[2]; - float maxn[2]; - float norm[2]; - float mvp[16]; - float dist[4]; - vec4_t clip; - int i, j; - - minn[0] = minn[1] = 1.0; - maxn[0] = maxn[1] = -1.0; - - // premultiply - myGlMultMatrix(tr.ori.modelMatrix, tr.viewParms.projectionMatrix, mvp); - - for (i = 0; i < tess.numVertexes; i++) { - R_TransformModelToClipMVP(tess.xyz[i], mvp, clip); - if (clip[3] <= 0.0) { - dist[0] = DotProduct(tess.xyz[i], tr.viewParms.frustum[0].normal) - tr.viewParms.frustum[0].dist; // right - dist[1] = DotProduct(tess.xyz[i], tr.viewParms.frustum[1].normal) - tr.viewParms.frustum[1].dist; // left - dist[2] = DotProduct(tess.xyz[i], tr.viewParms.frustum[2].normal) - tr.viewParms.frustum[2].dist; // bottom - dist[3] = DotProduct(tess.xyz[i], tr.viewParms.frustum[3].normal) - tr.viewParms.frustum[3].dist; // top - if (dist[0] <= 0 && dist[1] <= 0) { - if (dist[0] < dist[1]) { - maxn[0] = 1.0f; - } - else { - minn[0] = -1.0f; - } - } - else { - if (dist[0] <= 0) maxn[0] = 1.0f; - if (dist[1] <= 0) minn[0] = -1.0f; - } - if (dist[2] <= 0 && dist[3] <= 0) { - if (dist[2] < dist[3]) - minn[1] = -1.0f; - else - maxn[1] = 1.0f; - } - else { - if (dist[2] <= 0) minn[1] = -1.0f; - if (dist[3] <= 0) maxn[1] = 1.0f; - } - } - else { - for (j = 0; j < 2; j++) { - if (clip[j] > clip[3]) clip[j] = clip[3]; else - if (clip[j] < -clip[3]) clip[j] = -clip[3]; - } - norm[0] = clip[0] / clip[3]; - norm[1] = clip[1] / clip[3]; - for (j = 0; j < 2; j++) { - if (norm[j] < minn[j]) minn[j] = norm[j]; - if (norm[j] > maxn[j]) maxn[j] = norm[j]; - } - } - } - - mins[0] = (int)(-0.5 + 0.5 * (1.0 + minn[0]) * tr.viewParms.viewportWidth); - mins[1] = (int)(-0.5 + 0.5 * (1.0 + minn[1]) * tr.viewParms.viewportHeight); - maxs[0] = (int)(0.5 + 0.5 * (1.0 + maxn[0]) * tr.viewParms.viewportWidth); - maxs[1] = (int)(0.5 + 0.5 * (1.0 + maxn[1]) * tr.viewParms.viewportHeight); -} -#endif - /* ======================== R_MirrorViewBySurface @@ -1174,18 +1083,6 @@ static qboolean R_MirrorViewBySurface( const drawSurf_t *drawSurf, int entityNum } #endif -#if 0 - // causing artifacts with mirrors. - if (tess.numVertexes > 2 && r_fastsky->integer && vk.fastSky) { - int mins[2], maxs[2]; - R_GetModelViewBounds(mins, maxs); - newParms.scissorX = newParms.viewportX + mins[0]; - newParms.scissorY = newParms.viewportY + mins[1]; - newParms.scissorWidth = maxs[0] - mins[0]; - newParms.scissorHeight = maxs[1] - mins[1]; - } -#endif - R_MirrorPoint(oldParms.ori.origin, &surface, &camera, newParms.ori.origin); VectorSubtract(vec3_origin, camera.axis[0], newParms.portalPlane.normal); diff --git a/codemp/rd-vulkan/tr_model.cpp b/codemp/rd-vulkan/tr_model.cpp index b486596e4f..e9108da026 100644 --- a/codemp/rd-vulkan/tr_model.cpp +++ b/codemp/rd-vulkan/tr_model.cpp @@ -912,8 +912,6 @@ qboolean ServerLoadMDXM( model_t *mod, void *buffer, const char *mod_name, qbool lod = (mdxmLOD_t *) ( (byte *)mdxm + mdxm->ofsLODs ); for ( l = 0 ; l < mdxm->numLODs ; l++) { - //int triCount = 0; - LL(lod->ofsEnd); // swap all the surfaces surf = (mdxmSurface_t *) ( (byte *)lod + sizeof (mdxmLOD_t) + (mdxm->numSurfaces * sizeof(mdxmLODSurfOffset_t)) ); @@ -929,8 +927,6 @@ qboolean ServerLoadMDXM( model_t *mod, void *buffer, const char *mod_name, qbool LL(surf->ofsBoneReferences); LL(surf->ofsEnd); - //triCount += surf->numTriangles; - if ( surf->numVerts > SHADER_MAX_VERTEXES ) { return qfalse; } diff --git a/codemp/rd-vulkan/tr_scene.cpp b/codemp/rd-vulkan/tr_scene.cpp index 52e669f3b8..53e838de3e 100644 --- a/codemp/rd-vulkan/tr_scene.cpp +++ b/codemp/rd-vulkan/tr_scene.cpp @@ -39,11 +39,6 @@ static int r_firstSceneDlight; static int r_numentities; static int r_firstSceneEntity; -static int r_numminientities; -static int r_firstSceneMiniEntity; - -static int refEntParent = -1; - static int r_numpolys; static int r_firstScenePoly; @@ -71,9 +66,6 @@ void R_InitNextFrame( void ) { r_numentities = 0; r_firstSceneEntity = 0; - refEntParent = -1; - r_numminientities = 0; - r_firstSceneMiniEntity = 0; r_numpolys = 0; r_firstScenePoly = 0; @@ -93,8 +85,6 @@ void RE_ClearScene( void ) { r_firstSceneDlight = r_numdlights; r_firstSceneEntity = r_numentities; r_firstScenePoly = r_numpolys; - refEntParent = -1; - r_firstSceneMiniEntity = r_numminientities; } /* @@ -263,19 +253,6 @@ void RE_AddRefEntityToScene( const refEntity_t *ent ) { } } - /* - if (ent->reType == RT_ENT_CHAIN) - { - refEntParent = r_numentities; - backEndData->entities[r_numentities].e.uRefEnt.uMini.miniStart = r_numminientities - r_firstSceneMiniEntity; - backEndData->entities[r_numentities].e.uRefEnt.uMini.miniCount = 0; - } - else - { - */ - refEntParent = -1; - //} - r_numentities++; } @@ -304,40 +281,14 @@ void RE_AddMiniRefEntityToScene( const miniRefEntity_t *ent ) } if (!ent) { - refEntParent = -1; return; } -#if 1 //i hate you minirefent! refEntity_t tempEnt; memcpy(&tempEnt, ent, sizeof(*ent)); memset(((char *)&tempEnt)+sizeof(*ent), 0, sizeof(tempEnt) - sizeof(*ent)); RE_AddRefEntityToScene(&tempEnt); -#else - - if ( ent->reType < 0 || ent->reType >= RT_MAX_REF_ENTITY_TYPE ) - { - Com_Error( ERR_DROP, "RE_AddMiniRefEntityToScene: bad reType %i", ent->reType ); - } - - if (!r_numentities || refEntParent == -1 || r_numminientities >= MAX_MINI_ENTITIES) - { //rww - add it as a refent also if we run out of minis -// Com_Error( ERR_DROP, "RE_AddMiniRefEntityToScene: mini without parent ref ent"); - refEntity_t tempEnt; - - memcpy(&tempEnt, ent, sizeof(*ent)); - memset(((char *)&tempEnt)+sizeof(*ent), 0, sizeof(tempEnt) - sizeof(*ent)); - RE_AddRefEntityToScene(&tempEnt); - return; - } - - parent = &backEndData->entities[refEntParent].e; - parent->uRefEnt.uMini.miniCount++; - - backEndData->miniEntities[r_numminientities].e = *ent; - r_numminientities++; -#endif } /* @@ -670,12 +621,9 @@ void RE_RenderScene( const refdef_t *fd ) { r_firstSceneLitSurf = tr.refdef.numLitSurfs; #endif r_firstSceneEntity = r_numentities; - r_firstSceneMiniEntity = r_numminientities; r_firstSceneDlight = r_numdlights; r_firstScenePoly = r_numpolys; - refEntParent = -1; - tr.frontEndMsec += ri.Milliseconds()*ri.Cvar_VariableValue( "timescale" ) - startTime; RE_RenderWorldEffects(); diff --git a/codemp/rd-vulkan/tr_shader.cpp b/codemp/rd-vulkan/tr_shader.cpp index 1fd6aba8e6..bc3a79dd1e 100644 --- a/codemp/rd-vulkan/tr_shader.cpp +++ b/codemp/rd-vulkan/tr_shader.cpp @@ -3659,7 +3659,7 @@ pass, trying to guess which is the correct one to best aproximate what it is supposed to look like. ================= */ -/* +#if 0 static void VertexLightingCollapse( void ) { int stage; @@ -3753,7 +3753,8 @@ static void VertexLightingCollapse( void ) Com_Memset(pStage, 0, sizeof(*pStage)); } -} */ +} +#endif static qboolean EqualACgen( const shaderStage_t *st1, const shaderStage_t *st2 ) { @@ -4516,7 +4517,6 @@ shader_t *FinishShader( void ) // this will be a copy of the vk_pipeline[0] but with faceculling disabled pStage->vk_2d_pipeline = 0; - #ifdef USE_FOG_COLLAPSE // single-stage, combined fog pipelines diff --git a/codemp/rd-vulkan/vk_attachments.cpp b/codemp/rd-vulkan/vk_attachments.cpp index 2295d7bd8b..871fa04202 100644 --- a/codemp/rd-vulkan/vk_attachments.cpp +++ b/codemp/rd-vulkan/vk_attachments.cpp @@ -270,7 +270,7 @@ static void create_depth_attachment( uint32_t width, uint32_t height, VkSampleCo desc.initialLayout = VK_IMAGE_LAYOUT_UNDEFINED; image_aspect_flags = VK_IMAGE_ASPECT_DEPTH_BIT; - if (r_stencilbits->integer) + if ( glConfig.stencilBits > 0 ) image_aspect_flags |= VK_IMAGE_ASPECT_STENCIL_BIT; VK_CHECK(qvkCreateImage(vk.device, &desc, NULL, image)); @@ -442,7 +442,7 @@ void vk_clear_depthstencil_attachments( qboolean clear_stencil ) { #endif attachment.clearValue.depthStencil.stencil = 0; - if ( clear_stencil && r_stencilbits->integer ) { + if ( clear_stencil && glConfig.stencilBits > 0 ) { attachment.aspectMask = VK_IMAGE_ASPECT_DEPTH_BIT | VK_IMAGE_ASPECT_STENCIL_BIT; } else { diff --git a/codemp/rd-vulkan/vk_frame.cpp b/codemp/rd-vulkan/vk_frame.cpp index c9d69e93a9..a41b171307 100644 --- a/codemp/rd-vulkan/vk_frame.cpp +++ b/codemp/rd-vulkan/vk_frame.cpp @@ -129,11 +129,11 @@ void vk_create_render_passes() attachments[1].samples = (VkSampleCountFlagBits)vkSamples; attachments[1].loadOp = VK_ATTACHMENT_LOAD_OP_CLEAR; //attachments[1].stencilLoadOp = VK_ATTACHMENT_LOAD_OP_CLEAR; - attachments[1].stencilLoadOp = r_stencilbits->integer ? VK_ATTACHMENT_LOAD_OP_CLEAR : VK_ATTACHMENT_LOAD_OP_DONT_CARE; + attachments[1].stencilLoadOp = glConfig.stencilBits ? VK_ATTACHMENT_LOAD_OP_CLEAR : VK_ATTACHMENT_LOAD_OP_DONT_CARE; if ( vk.bloomActive || vk.dglowActive || vk.refractionActive ) { attachments[1].storeOp = VK_ATTACHMENT_STORE_OP_STORE; // keep it for post-bloom/dynamic-glow pass //attachments[1].stencilStoreOp = VK_ATTACHMENT_STORE_OP_STORE; - attachments[1].stencilStoreOp = r_stencilbits->integer ? VK_ATTACHMENT_STORE_OP_STORE : VK_ATTACHMENT_STORE_OP_DONT_CARE; + attachments[1].stencilStoreOp = glConfig.stencilBits ? VK_ATTACHMENT_STORE_OP_STORE : VK_ATTACHMENT_STORE_OP_DONT_CARE; } else { attachments[1].storeOp = VK_ATTACHMENT_STORE_OP_DONT_CARE; @@ -903,8 +903,6 @@ static void vk_begin_render_pass( VkRenderPass renderPass, VkFramebuffer frameBu case RENDER_PASS_REFRACTION: clear_values[ (int)( vk.msaaActive ? 2 : 0 ) ].color = { { 0.0f, 0.0f, 0.0f, 1.0f } }; break; - default: - break; } #endif #ifndef USE_REVERSED_DEPTH @@ -1017,9 +1015,7 @@ void vk_refraction_extract( void ) { VkImage srcImage; VkImage dstImage; VkImageLayout srcImageLayout; - //VkAccessFlagBits srcImageAccess; - //srcImageAccess = VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT; srcImageLayout = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL; srcImage = vk.color_image; dstImage = vk.refraction_extract_image; @@ -1088,8 +1084,6 @@ void vk_refraction_extract( void ) { void vk_begin_post_refraction_extract_render_pass( void ) { - //VkViewport viewport{}; - //VkRect2D scissor_rect{}; VkFramebuffer frameBuffer = vk.framebuffers.refraction.extract; vk.renderPassIndex = RENDER_PASS_REFRACTION; diff --git a/codemp/rd-vulkan/vk_image.cpp b/codemp/rd-vulkan/vk_image.cpp index 5a604c8953..18314bf119 100644 --- a/codemp/rd-vulkan/vk_image.cpp +++ b/codemp/rd-vulkan/vk_image.cpp @@ -900,7 +900,7 @@ static void allocate_and_bind_image_memory( VkImage image ) { result = qvkAllocateMemory(vk.device, &alloc_info, NULL, &memory); if (result < 0) { - Com_Error(ERR_DROP, va("GPU memory heap overflow: Code %i", result)); + ri.Error(ERR_DROP, "%s", va("GPU memory heap overflow: Code %i", result)); vk_restart_swapchain( __func__ ); } diff --git a/codemp/rd-vulkan/vk_instance.cpp b/codemp/rd-vulkan/vk_instance.cpp index 7cee98b523..f32af4f4fc 100644 --- a/codemp/rd-vulkan/vk_instance.cpp +++ b/codemp/rd-vulkan/vk_instance.cpp @@ -372,15 +372,13 @@ static VkFormat get_depth_format( VkPhysicalDevice physical_device ) { VkFormat formats[2]; uint32_t i; - if (r_stencilbits->integer > 0) { + if ( glConfig.stencilBits > 0 ) { formats[0] = glConfig.depthBits == 16 ? VK_FORMAT_D16_UNORM_S8_UINT : VK_FORMAT_D24_UNORM_S8_UINT; formats[1] = VK_FORMAT_D32_SFLOAT_S8_UINT; - glConfig.stencilBits = 8; } else { formats[0] = glConfig.depthBits == 16 ? VK_FORMAT_D16_UNORM : VK_FORMAT_X8_D24_UNORM_PACK32; formats[1] = VK_FORMAT_D32_SFLOAT; - glConfig.stencilBits = 0; } for (i = 0; i < ARRAY_LEN(formats); i++) { @@ -749,11 +747,11 @@ void vk_init_library( void ) int device_index, i; VkResult res; #ifdef _WIN32 - qboolean deviceCountRetried = qfalse; + qboolean deviceCountRetried = qfalse; __initStart: #endif - Com_Memset(&vk, 0, sizeof(vk)); + Com_Memset(&vk, 0, sizeof(vk)); qvkGetInstanceProcAddr = (PFN_vkGetInstanceProcAddr)ri.VK_GetInstanceProcAddress(); if (qvkGetInstanceProcAddr == NULL) diff --git a/codemp/rd-vulkan/vk_shade_geometry.cpp b/codemp/rd-vulkan/vk_shade_geometry.cpp index 03f8c964bd..ca43b247f6 100644 --- a/codemp/rd-vulkan/vk_shade_geometry.cpp +++ b/codemp/rd-vulkan/vk_shade_geometry.cpp @@ -1657,7 +1657,7 @@ void RB_StageIteratorGeneric( void ) // for 2D flipped images if ( backEnd.projection2D ) { - if ( pStage->vk_2d_pipeline == 0 ) { + if ( !pStage->vk_2d_pipeline ) { vk_get_pipeline_def(pStage->vk_pipeline[0], &def); // use an excisting pipeline with the same def or create a new one.