diff --git a/src/renderers/vulkan/tr_init.c b/src/renderers/vulkan/tr_init.c index 060e5d30d..7a6f61bfb 100644 --- a/src/renderers/vulkan/tr_init.c +++ b/src/renderers/vulkan/tr_init.c @@ -102,10 +102,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_main.c b/src/renderers/vulkan/tr_main.c index 5f1eef047..620ad0c38 100644 --- a/src/renderers/vulkan/tr_main.c +++ b/src/renderers/vulkan/tr_main.c @@ -1248,7 +1248,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/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 );