Restore reduced view textured borders

This commit removes the previous R_CleanupBorders hack and fixes
textured border drawing, so borders are correctly drawn in the right
place and are not taken into account when applying the underwater
effect.
This commit is contained in:
Ricardo Garcia 2021-01-24 23:46:05 +01:00
parent 741f64604c
commit e85f266a84
6 changed files with 178 additions and 162 deletions

View File

@ -148,6 +148,7 @@ extern cvar_t *vk_sampleshading;
extern cvar_t *vk_device_idx; extern cvar_t *vk_device_idx;
extern cvar_t *vk_retexturing; extern cvar_t *vk_retexturing;
extern cvar_t *vk_nolerp_list; extern cvar_t *vk_nolerp_list;
extern cvar_t *vk_pixel_size;
extern cvar_t *r_fixsurfsky; extern cvar_t *r_fixsurfsky;
extern cvar_t *vid_fullscreen; extern cvar_t *vid_fullscreen;

View File

@ -1,9 +1,9 @@
// 1011.0.0 // 1011.0.0
#pragma once #pragma once
const uint32_t world_warp_frag_spv[] = { const uint32_t world_warp_frag_spv[] = {
0x07230203,0x00010000,0x0008000a,0x0000008f,0x00000000,0x00020011,0x00000001,0x0006000b, 0x07230203,0x00010000,0x0008000a,0x000000c1,0x00000000,0x00020011,0x00000001,0x0006000b,
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001, 0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x00000019,0x00000087,0x00030010, 0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x00000019,0x000000b9,0x00030010,
0x00000004,0x00000007,0x00030003,0x00000002,0x000001c2,0x00090004,0x415f4c47,0x735f4252, 0x00000004,0x00000007,0x00030003,0x00000002,0x000001c2,0x00090004,0x415f4c47,0x735f4252,
0x72617065,0x5f657461,0x64616873,0x6f5f7265,0x63656a62,0x00007374,0x00040005,0x00000004, 0x72617065,0x5f657461,0x64616873,0x6f5f7265,0x63656a62,0x00007374,0x00040005,0x00000004,
0x6e69616d,0x00000000,0x00040005,0x00000009,0x53726373,0x00657a69,0x00060005,0x0000000a, 0x6e69616d,0x00000000,0x00040005,0x00000009,0x53726373,0x00657a69,0x00060005,0x0000000a,
@ -12,102 +12,142 @@ const uint32_t world_warp_frag_spv[] = {
0x00000002,0x57726373,0x68746469,0x00000000,0x00060006,0x0000000a,0x00000003,0x48726373, 0x00000002,0x57726373,0x68746469,0x00000000,0x00060006,0x0000000a,0x00000003,0x48726373,
0x68676965,0x00000074,0x00050006,0x0000000a,0x00000004,0x7366666f,0x00587465,0x00050006, 0x68676965,0x00000074,0x00050006,0x0000000a,0x00000004,0x7366666f,0x00587465,0x00050006,
0x0000000a,0x00000005,0x7366666f,0x00597465,0x00060006,0x0000000a,0x00000006,0x65786970, 0x0000000a,0x00000005,0x7366666f,0x00597465,0x00060006,0x0000000a,0x00000006,0x65786970,
0x7a69536c,0x00000065,0x00030005,0x0000000c,0x00006370,0x00050005,0x00000016,0x67617266, 0x7a69536c,0x00000065,0x00050006,0x0000000a,0x00000007,0x64666572,0x00586665,0x00050006,
0x726f6f43,0x00000064,0x00060005,0x00000019,0x465f6c67,0x43676172,0x64726f6f,0x00000000, 0x0000000a,0x00000008,0x64666572,0x00596665,0x00060006,0x0000000a,0x00000009,0x64666572,
0x00030005,0x00000024,0x00007675,0x00030005,0x00000031,0x00007873,0x00030005,0x00000044, 0x69576665,0x00687464,0x00070006,0x0000000a,0x0000000a,0x64666572,0x65486665,0x74686769,
0x00007973,0x00040005,0x00000054,0x69685378,0x00007466,0x00040005,0x0000005f,0x69685379, 0x00000000,0x00030005,0x0000000c,0x00006370,0x00050005,0x00000016,0x67617266,0x726f6f43,
0x00007466,0x00050005,0x00000068,0x74736964,0x6974726f,0x00006e6f,0x00060005,0x00000087, 0x00000064,0x00060005,0x00000019,0x465f6c67,0x43676172,0x64726f6f,0x00000000,0x00030005,
0x67617266,0x746e656d,0x6f6c6f43,0x00000072,0x00050005,0x0000008b,0x78655473,0x65727574, 0x00000024,0x00007675,0x00040005,0x00000029,0x6e694d78,0x00000000,0x00040005,0x0000002d,
0x00000000,0x00050048,0x0000000a,0x00000000,0x00000023,0x00000044,0x00050048,0x0000000a, 0x78614d78,0x00000000,0x00040005,0x00000034,0x6e694d79,0x00000000,0x00040005,0x00000038,
0x00000001,0x00000023,0x00000048,0x00050048,0x0000000a,0x00000002,0x00000023,0x0000004c, 0x78614d79,0x00000000,0x00030005,0x00000066,0x00007873,0x00030005,0x00000077,0x00007973,
0x00050048,0x0000000a,0x00000003,0x00000023,0x00000050,0x00050048,0x0000000a,0x00000004, 0x00040005,0x00000086,0x69685378,0x00007466,0x00040005,0x00000091,0x69685379,0x00007466,
0x00000023,0x00000054,0x00050048,0x0000000a,0x00000005,0x00000023,0x00000058,0x00050048, 0x00050005,0x0000009a,0x74736964,0x6974726f,0x00006e6f,0x00060005,0x000000b9,0x67617266,
0x0000000a,0x00000006,0x00000023,0x0000005c,0x00030047,0x0000000a,0x00000002,0x00040047, 0x746e656d,0x6f6c6f43,0x00000072,0x00050005,0x000000bd,0x78655473,0x65727574,0x00000000,
0x00000019,0x0000000b,0x0000000f,0x00040047,0x00000087,0x0000001e,0x00000000,0x00040047, 0x00050048,0x0000000a,0x00000000,0x00000023,0x00000044,0x00050048,0x0000000a,0x00000001,
0x0000008b,0x00000022,0x00000000,0x00040047,0x0000008b,0x00000021,0x00000000,0x00020013, 0x00000023,0x00000048,0x00050048,0x0000000a,0x00000002,0x00000023,0x0000004c,0x00050048,
0x00000002,0x00030021,0x00000003,0x00000002,0x00030016,0x00000006,0x00000020,0x00040017, 0x0000000a,0x00000003,0x00000023,0x00000050,0x00050048,0x0000000a,0x00000004,0x00000023,
0x00000007,0x00000006,0x00000002,0x00040020,0x00000008,0x00000007,0x00000007,0x0009001e, 0x00000054,0x00050048,0x0000000a,0x00000005,0x00000023,0x00000058,0x00050048,0x0000000a,
0x0000000a,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006, 0x00000006,0x00000023,0x0000005c,0x00050048,0x0000000a,0x00000007,0x00000023,0x00000060,
0x00040020,0x0000000b,0x00000009,0x0000000a,0x0004003b,0x0000000b,0x0000000c,0x00000009, 0x00050048,0x0000000a,0x00000008,0x00000023,0x00000064,0x00050048,0x0000000a,0x00000009,
0x00040015,0x0000000d,0x00000020,0x00000001,0x0004002b,0x0000000d,0x0000000e,0x00000002, 0x00000023,0x00000068,0x00050048,0x0000000a,0x0000000a,0x00000023,0x0000006c,0x00030047,
0x00040020,0x0000000f,0x00000009,0x00000006,0x0004002b,0x0000000d,0x00000012,0x00000003, 0x0000000a,0x00000002,0x00040047,0x00000019,0x0000000b,0x0000000f,0x00040047,0x000000b9,
0x00040017,0x00000017,0x00000006,0x00000004,0x00040020,0x00000018,0x00000001,0x00000017, 0x0000001e,0x00000000,0x00040047,0x000000bd,0x00000022,0x00000000,0x00040047,0x000000bd,
0x0004003b,0x00000018,0x00000019,0x00000001,0x0004002b,0x0000000d,0x0000001c,0x00000004, 0x00000021,0x00000000,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00030016,
0x0004002b,0x0000000d,0x0000001f,0x00000005,0x0004002b,0x0000000d,0x00000028,0x00000000, 0x00000006,0x00000020,0x00040017,0x00000007,0x00000006,0x00000002,0x00040020,0x00000008,
0x0004002b,0x00000006,0x0000002b,0x00000000,0x00020014,0x0000002c,0x00040020,0x00000030, 0x00000007,0x00000007,0x000d001e,0x0000000a,0x00000006,0x00000006,0x00000006,0x00000006,
0x00000007,0x00000006,0x0004002b,0x0000000d,0x00000032,0x00000001,0x0004002b,0x00000006, 0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00040020,
0x00000037,0x40000000,0x00040015,0x00000039,0x00000020,0x00000000,0x0004002b,0x00000039, 0x0000000b,0x00000009,0x0000000a,0x0004003b,0x0000000b,0x0000000c,0x00000009,0x00040015,
0x0000003a,0x00000000,0x0004002b,0x00000039,0x0000004a,0x00000001,0x0004002b,0x00000006, 0x0000000d,0x00000020,0x00000001,0x0004002b,0x0000000d,0x0000000e,0x00000002,0x00040020,
0x0000005a,0x40490e56,0x0004002b,0x00000006,0x0000005c,0x41200000,0x0004002b,0x00000006, 0x0000000f,0x00000009,0x00000006,0x0004002b,0x0000000d,0x00000012,0x00000003,0x00040017,
0x00000072,0x3bda3c21,0x0004002b,0x0000000d,0x00000077,0x00000006,0x0005002c,0x00000007, 0x00000017,0x00000006,0x00000004,0x00040020,0x00000018,0x00000001,0x00000017,0x0004003b,
0x00000080,0x0000002b,0x0000002b,0x0004002b,0x00000006,0x00000082,0x3f000000,0x0005002c, 0x00000018,0x00000019,0x00000001,0x0004002b,0x0000000d,0x0000001c,0x00000004,0x0004002b,
0x00000007,0x00000083,0x00000082,0x00000082,0x00040020,0x00000086,0x00000003,0x00000017, 0x0000000d,0x0000001f,0x00000005,0x00040020,0x00000028,0x00000007,0x00000006,0x0004002b,
0x0004003b,0x00000086,0x00000087,0x00000003,0x00090019,0x00000088,0x00000006,0x00000001, 0x0000000d,0x0000002a,0x00000007,0x0004002b,0x0000000d,0x00000030,0x00000009,0x0004002b,
0x00000000,0x00000000,0x00000000,0x00000001,0x00000000,0x0003001b,0x00000089,0x00000088, 0x0000000d,0x00000035,0x00000008,0x0004002b,0x0000000d,0x0000003b,0x0000000a,0x00020014,
0x00040020,0x0000008a,0x00000000,0x00000089,0x0004003b,0x0000008a,0x0000008b,0x00000000, 0x0000003f,0x0004002b,0x0000000d,0x00000040,0x00000000,0x0004002b,0x00000006,0x00000043,
0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b, 0x00000000,0x00040015,0x00000047,0x00000020,0x00000000,0x0004002b,0x00000047,0x00000048,
0x00000008,0x00000009,0x00000007,0x0004003b,0x00000008,0x00000016,0x00000007,0x0004003b, 0x00000000,0x0004002b,0x00000047,0x00000057,0x00000001,0x0004002b,0x0000000d,0x00000067,
0x00000008,0x00000024,0x00000007,0x0004003b,0x00000030,0x00000031,0x00000007,0x0004003b, 0x00000001,0x0004002b,0x00000006,0x0000006c,0x40000000,0x0004002b,0x00000006,0x0000008c,
0x00000030,0x00000044,0x00000007,0x0004003b,0x00000030,0x00000054,0x00000007,0x0004003b, 0x40490e56,0x0004002b,0x00000006,0x0000008e,0x41200000,0x0004002b,0x00000006,0x000000a4,
0x00000030,0x0000005f,0x00000007,0x0004003b,0x00000008,0x00000068,0x00000007,0x00050041, 0x3bda3c21,0x0004002b,0x0000000d,0x000000a9,0x00000006,0x0005002c,0x00000007,0x000000b2,
0x0000000f,0x00000010,0x0000000c,0x0000000e,0x0004003d,0x00000006,0x00000011,0x00000010, 0x00000043,0x00000043,0x0004002b,0x00000006,0x000000b4,0x3f000000,0x0005002c,0x00000007,
0x00050041,0x0000000f,0x00000013,0x0000000c,0x00000012,0x0004003d,0x00000006,0x00000014, 0x000000b5,0x000000b4,0x000000b4,0x00040020,0x000000b8,0x00000003,0x00000017,0x0004003b,
0x00000013,0x00050050,0x00000007,0x00000015,0x00000011,0x00000014,0x0003003e,0x00000009, 0x000000b8,0x000000b9,0x00000003,0x00090019,0x000000ba,0x00000006,0x00000001,0x00000000,
0x00000015,0x0004003d,0x00000017,0x0000001a,0x00000019,0x0007004f,0x00000007,0x0000001b, 0x00000000,0x00000000,0x00000001,0x00000000,0x0003001b,0x000000bb,0x000000ba,0x00040020,
0x0000001a,0x0000001a,0x00000000,0x00000001,0x00050041,0x0000000f,0x0000001d,0x0000000c, 0x000000bc,0x00000000,0x000000bb,0x0004003b,0x000000bc,0x000000bd,0x00000000,0x00050036,
0x0000001c,0x0004003d,0x00000006,0x0000001e,0x0000001d,0x00050041,0x0000000f,0x00000020, 0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000008,
0x0000000c,0x0000001f,0x0004003d,0x00000006,0x00000021,0x00000020,0x00050050,0x00000007, 0x00000009,0x00000007,0x0004003b,0x00000008,0x00000016,0x00000007,0x0004003b,0x00000008,
0x00000022,0x0000001e,0x00000021,0x00050083,0x00000007,0x00000023,0x0000001b,0x00000022, 0x00000024,0x00000007,0x0004003b,0x00000028,0x00000029,0x00000007,0x0004003b,0x00000028,
0x0003003e,0x00000016,0x00000023,0x0004003d,0x00000007,0x00000025,0x00000016,0x0004003d, 0x0000002d,0x00000007,0x0004003b,0x00000028,0x00000034,0x00000007,0x0004003b,0x00000028,
0x00000007,0x00000026,0x00000009,0x00050088,0x00000007,0x00000027,0x00000025,0x00000026, 0x00000038,0x00000007,0x0004003b,0x00000028,0x00000066,0x00000007,0x0004003b,0x00000028,
0x0003003e,0x00000024,0x00000027,0x00050041,0x0000000f,0x00000029,0x0000000c,0x00000028, 0x00000077,0x00000007,0x0004003b,0x00000028,0x00000086,0x00000007,0x0004003b,0x00000028,
0x0004003d,0x00000006,0x0000002a,0x00000029,0x000500ba,0x0000002c,0x0000002d,0x0000002a, 0x00000091,0x00000007,0x0004003b,0x00000008,0x0000009a,0x00000007,0x00050041,0x0000000f,
0x0000002b,0x000300f7,0x0000002f,0x00000000,0x000400fa,0x0000002d,0x0000002e,0x0000002f, 0x00000010,0x0000000c,0x0000000e,0x0004003d,0x00000006,0x00000011,0x00000010,0x00050041,
0x000200f8,0x0000002e,0x00050041,0x0000000f,0x00000033,0x0000000c,0x00000032,0x0004003d, 0x0000000f,0x00000013,0x0000000c,0x00000012,0x0004003d,0x00000006,0x00000014,0x00000013,
0x00000006,0x00000034,0x00000033,0x00050041,0x0000000f,0x00000035,0x0000000c,0x0000000e, 0x00050050,0x00000007,0x00000015,0x00000011,0x00000014,0x0003003e,0x00000009,0x00000015,
0x0004003d,0x00000006,0x00000036,0x00000035,0x00050088,0x00000006,0x00000038,0x00000036, 0x0004003d,0x00000017,0x0000001a,0x00000019,0x0007004f,0x00000007,0x0000001b,0x0000001a,
0x00000037,0x00050041,0x00000030,0x0000003b,0x00000016,0x0000003a,0x0004003d,0x00000006, 0x0000001a,0x00000000,0x00000001,0x00050041,0x0000000f,0x0000001d,0x0000000c,0x0000001c,
0x0000003c,0x0000003b,0x00050083,0x00000006,0x0000003d,0x00000038,0x0000003c,0x0006000c, 0x0004003d,0x00000006,0x0000001e,0x0000001d,0x00050041,0x0000000f,0x00000020,0x0000000c,
0x00000006,0x0000003e,0x00000001,0x00000004,0x0000003d,0x00050085,0x00000006,0x0000003f, 0x0000001f,0x0004003d,0x00000006,0x00000021,0x00000020,0x00050050,0x00000007,0x00000022,
0x0000003e,0x00000037,0x00050041,0x0000000f,0x00000040,0x0000000c,0x0000000e,0x0004003d, 0x0000001e,0x00000021,0x00050083,0x00000007,0x00000023,0x0000001b,0x00000022,0x0003003e,
0x00000006,0x00000041,0x00000040,0x00050088,0x00000006,0x00000042,0x0000003f,0x00000041, 0x00000016,0x00000023,0x0004003d,0x00000007,0x00000025,0x00000016,0x0004003d,0x00000007,
0x00050083,0x00000006,0x00000043,0x00000034,0x00000042,0x0003003e,0x00000031,0x00000043, 0x00000026,0x00000009,0x00050088,0x00000007,0x00000027,0x00000025,0x00000026,0x0003003e,
0x00050041,0x0000000f,0x00000045,0x0000000c,0x00000032,0x0004003d,0x00000006,0x00000046, 0x00000024,0x00000027,0x00050041,0x0000000f,0x0000002b,0x0000000c,0x0000002a,0x0004003d,
0x00000045,0x00050041,0x0000000f,0x00000047,0x0000000c,0x00000012,0x0004003d,0x00000006, 0x00000006,0x0000002c,0x0000002b,0x0003003e,0x00000029,0x0000002c,0x00050041,0x0000000f,
0x00000048,0x00000047,0x00050088,0x00000006,0x00000049,0x00000048,0x00000037,0x00050041, 0x0000002e,0x0000000c,0x0000002a,0x0004003d,0x00000006,0x0000002f,0x0000002e,0x00050041,
0x00000030,0x0000004b,0x00000016,0x0000004a,0x0004003d,0x00000006,0x0000004c,0x0000004b, 0x0000000f,0x00000031,0x0000000c,0x00000030,0x0004003d,0x00000006,0x00000032,0x00000031,
0x00050083,0x00000006,0x0000004d,0x00000049,0x0000004c,0x0006000c,0x00000006,0x0000004e, 0x00050081,0x00000006,0x00000033,0x0000002f,0x00000032,0x0003003e,0x0000002d,0x00000033,
0x00000001,0x00000004,0x0000004d,0x00050085,0x00000006,0x0000004f,0x0000004e,0x00000037, 0x00050041,0x0000000f,0x00000036,0x0000000c,0x00000035,0x0004003d,0x00000006,0x00000037,
0x00050041,0x0000000f,0x00000050,0x0000000c,0x00000012,0x0004003d,0x00000006,0x00000051, 0x00000036,0x0003003e,0x00000034,0x00000037,0x00050041,0x0000000f,0x00000039,0x0000000c,
0x00000050,0x00050088,0x00000006,0x00000052,0x0000004f,0x00000051,0x00050083,0x00000006, 0x00000035,0x0004003d,0x00000006,0x0000003a,0x00000039,0x00050041,0x0000000f,0x0000003c,
0x00000053,0x00000046,0x00000052,0x0003003e,0x00000044,0x00000053,0x00050041,0x0000000f, 0x0000000c,0x0000003b,0x0004003d,0x00000006,0x0000003d,0x0000003c,0x00050081,0x00000006,
0x00000055,0x0000000c,0x00000028,0x0004003d,0x00000006,0x00000056,0x00000055,0x00050085, 0x0000003e,0x0000003a,0x0000003d,0x0003003e,0x00000038,0x0000003e,0x00050041,0x0000000f,
0x00000006,0x00000057,0x00000037,0x00000056,0x00050041,0x00000030,0x00000058,0x00000024, 0x00000041,0x0000000c,0x00000040,0x0004003d,0x00000006,0x00000042,0x00000041,0x000500ba,
0x0000004a,0x0004003d,0x00000006,0x00000059,0x00000058,0x00050085,0x00000006,0x0000005b, 0x0000003f,0x00000044,0x00000042,0x00000043,0x000300f7,0x00000046,0x00000000,0x000400fa,
0x00000059,0x0000005a,0x00050085,0x00000006,0x0000005d,0x0000005b,0x0000005c,0x00050081, 0x00000044,0x00000045,0x00000046,0x000200f8,0x00000045,0x00050041,0x00000028,0x00000049,
0x00000006,0x0000005e,0x00000057,0x0000005d,0x0003003e,0x00000054,0x0000005e,0x00050041, 0x00000016,0x00000048,0x0004003d,0x00000006,0x0000004a,0x00000049,0x0004003d,0x00000006,
0x0000000f,0x00000060,0x0000000c,0x00000028,0x0004003d,0x00000006,0x00000061,0x00000060, 0x0000004b,0x00000029,0x000500ba,0x0000003f,0x0000004c,0x0000004a,0x0000004b,0x000200f9,
0x00050085,0x00000006,0x00000062,0x00000037,0x00000061,0x00050041,0x00000030,0x00000063, 0x00000046,0x000200f8,0x00000046,0x000700f5,0x0000003f,0x0000004d,0x00000044,0x00000005,
0x00000024,0x0000003a,0x0004003d,0x00000006,0x00000064,0x00000063,0x00050085,0x00000006, 0x0000004c,0x00000045,0x000300f7,0x0000004f,0x00000000,0x000400fa,0x0000004d,0x0000004e,
0x00000065,0x00000064,0x0000005a,0x00050085,0x00000006,0x00000066,0x00000065,0x0000005c, 0x0000004f,0x000200f8,0x0000004e,0x00050041,0x00000028,0x00000050,0x00000016,0x00000048,
0x00050081,0x00000006,0x00000067,0x00000062,0x00000066,0x0003003e,0x0000005f,0x00000067, 0x0004003d,0x00000006,0x00000051,0x00000050,0x0004003d,0x00000006,0x00000052,0x0000002d,
0x0004003d,0x00000006,0x00000069,0x00000054,0x0006000c,0x00000006,0x0000006a,0x00000001, 0x000500b8,0x0000003f,0x00000053,0x00000051,0x00000052,0x000200f9,0x0000004f,0x000200f8,
0x0000000d,0x00000069,0x0004003d,0x00000006,0x0000006b,0x00000031,0x00050085,0x00000006, 0x0000004f,0x000700f5,0x0000003f,0x00000054,0x0000004d,0x00000046,0x00000053,0x0000004e,
0x0000006c,0x0000006a,0x0000006b,0x0004003d,0x00000006,0x0000006d,0x0000005f,0x0006000c, 0x000300f7,0x00000056,0x00000000,0x000400fa,0x00000054,0x00000055,0x00000056,0x000200f8,
0x00000006,0x0000006e,0x00000001,0x0000000d,0x0000006d,0x0004003d,0x00000006,0x0000006f, 0x00000055,0x00050041,0x00000028,0x00000058,0x00000016,0x00000057,0x0004003d,0x00000006,
0x00000044,0x00050085,0x00000006,0x00000070,0x0000006e,0x0000006f,0x00050050,0x00000007, 0x00000059,0x00000058,0x0004003d,0x00000006,0x0000005a,0x00000034,0x000500ba,0x0000003f,
0x00000071,0x0000006c,0x00000070,0x0005008e,0x00000007,0x00000073,0x00000071,0x00000072, 0x0000005b,0x00000059,0x0000005a,0x000200f9,0x00000056,0x000200f8,0x00000056,0x000700f5,
0x0003003e,0x00000068,0x00000073,0x0004003d,0x00000007,0x00000074,0x00000068,0x0004003d, 0x0000003f,0x0000005c,0x00000054,0x0000004f,0x0000005b,0x00000055,0x000300f7,0x0000005e,
0x00000007,0x00000075,0x00000024,0x00050081,0x00000007,0x00000076,0x00000075,0x00000074, 0x00000000,0x000400fa,0x0000005c,0x0000005d,0x0000005e,0x000200f8,0x0000005d,0x00050041,
0x0003003e,0x00000024,0x00000076,0x000200f9,0x0000002f,0x000200f8,0x0000002f,0x00050041, 0x00000028,0x0000005f,0x00000016,0x00000057,0x0004003d,0x00000006,0x00000060,0x0000005f,
0x0000000f,0x00000078,0x0000000c,0x00000077,0x0004003d,0x00000006,0x00000079,0x00000078, 0x0004003d,0x00000006,0x00000061,0x00000038,0x000500b8,0x0000003f,0x00000062,0x00000060,
0x0004003d,0x00000007,0x0000007a,0x00000024,0x00050050,0x00000007,0x0000007b,0x00000079, 0x00000061,0x000200f9,0x0000005e,0x000200f8,0x0000005e,0x000700f5,0x0000003f,0x00000063,
0x00000079,0x00050088,0x00000007,0x0000007c,0x0000007a,0x0000007b,0x0003003e,0x00000024, 0x0000005c,0x00000056,0x00000062,0x0000005d,0x000300f7,0x00000065,0x00000000,0x000400fa,
0x0000007c,0x0004003d,0x00000007,0x0000007d,0x00000024,0x0004003d,0x00000007,0x0000007e, 0x00000063,0x00000064,0x00000065,0x000200f8,0x00000064,0x00050041,0x0000000f,0x00000068,
0x00000009,0x00050085,0x00000007,0x0000007f,0x0000007d,0x0000007e,0x0004003d,0x00000007, 0x0000000c,0x00000067,0x0004003d,0x00000006,0x00000069,0x00000068,0x00050041,0x0000000f,
0x00000081,0x00000009,0x00050083,0x00000007,0x00000084,0x00000081,0x00000083,0x0008000c, 0x0000006a,0x0000000c,0x0000000e,0x0004003d,0x00000006,0x0000006b,0x0000006a,0x00050088,
0x00000007,0x00000085,0x00000001,0x0000002b,0x0000007f,0x00000080,0x00000084,0x0003003e, 0x00000006,0x0000006d,0x0000006b,0x0000006c,0x00050041,0x00000028,0x0000006e,0x00000016,
0x00000024,0x00000085,0x0004003d,0x00000089,0x0000008c,0x0000008b,0x0004003d,0x00000007, 0x00000048,0x0004003d,0x00000006,0x0000006f,0x0000006e,0x00050083,0x00000006,0x00000070,
0x0000008d,0x00000024,0x00050057,0x00000017,0x0000008e,0x0000008c,0x0000008d,0x0003003e, 0x0000006d,0x0000006f,0x0006000c,0x00000006,0x00000071,0x00000001,0x00000004,0x00000070,
0x00000087,0x0000008e,0x000100fd,0x00010038 0x00050085,0x00000006,0x00000072,0x00000071,0x0000006c,0x00050041,0x0000000f,0x00000073,
0x0000000c,0x0000000e,0x0004003d,0x00000006,0x00000074,0x00000073,0x00050088,0x00000006,
0x00000075,0x00000072,0x00000074,0x00050083,0x00000006,0x00000076,0x00000069,0x00000075,
0x0003003e,0x00000066,0x00000076,0x00050041,0x0000000f,0x00000078,0x0000000c,0x00000067,
0x0004003d,0x00000006,0x00000079,0x00000078,0x00050041,0x0000000f,0x0000007a,0x0000000c,
0x00000012,0x0004003d,0x00000006,0x0000007b,0x0000007a,0x00050088,0x00000006,0x0000007c,
0x0000007b,0x0000006c,0x00050041,0x00000028,0x0000007d,0x00000016,0x00000057,0x0004003d,
0x00000006,0x0000007e,0x0000007d,0x00050083,0x00000006,0x0000007f,0x0000007c,0x0000007e,
0x0006000c,0x00000006,0x00000080,0x00000001,0x00000004,0x0000007f,0x00050085,0x00000006,
0x00000081,0x00000080,0x0000006c,0x00050041,0x0000000f,0x00000082,0x0000000c,0x00000012,
0x0004003d,0x00000006,0x00000083,0x00000082,0x00050088,0x00000006,0x00000084,0x00000081,
0x00000083,0x00050083,0x00000006,0x00000085,0x00000079,0x00000084,0x0003003e,0x00000077,
0x00000085,0x00050041,0x0000000f,0x00000087,0x0000000c,0x00000040,0x0004003d,0x00000006,
0x00000088,0x00000087,0x00050085,0x00000006,0x00000089,0x0000006c,0x00000088,0x00050041,
0x00000028,0x0000008a,0x00000024,0x00000057,0x0004003d,0x00000006,0x0000008b,0x0000008a,
0x00050085,0x00000006,0x0000008d,0x0000008b,0x0000008c,0x00050085,0x00000006,0x0000008f,
0x0000008d,0x0000008e,0x00050081,0x00000006,0x00000090,0x00000089,0x0000008f,0x0003003e,
0x00000086,0x00000090,0x00050041,0x0000000f,0x00000092,0x0000000c,0x00000040,0x0004003d,
0x00000006,0x00000093,0x00000092,0x00050085,0x00000006,0x00000094,0x0000006c,0x00000093,
0x00050041,0x00000028,0x00000095,0x00000024,0x00000048,0x0004003d,0x00000006,0x00000096,
0x00000095,0x00050085,0x00000006,0x00000097,0x00000096,0x0000008c,0x00050085,0x00000006,
0x00000098,0x00000097,0x0000008e,0x00050081,0x00000006,0x00000099,0x00000094,0x00000098,
0x0003003e,0x00000091,0x00000099,0x0004003d,0x00000006,0x0000009b,0x00000086,0x0006000c,
0x00000006,0x0000009c,0x00000001,0x0000000d,0x0000009b,0x0004003d,0x00000006,0x0000009d,
0x00000066,0x00050085,0x00000006,0x0000009e,0x0000009c,0x0000009d,0x0004003d,0x00000006,
0x0000009f,0x00000091,0x0006000c,0x00000006,0x000000a0,0x00000001,0x0000000d,0x0000009f,
0x0004003d,0x00000006,0x000000a1,0x00000077,0x00050085,0x00000006,0x000000a2,0x000000a0,
0x000000a1,0x00050050,0x00000007,0x000000a3,0x0000009e,0x000000a2,0x0005008e,0x00000007,
0x000000a5,0x000000a3,0x000000a4,0x0003003e,0x0000009a,0x000000a5,0x0004003d,0x00000007,
0x000000a6,0x0000009a,0x0004003d,0x00000007,0x000000a7,0x00000024,0x00050081,0x00000007,
0x000000a8,0x000000a7,0x000000a6,0x0003003e,0x00000024,0x000000a8,0x000200f9,0x00000065,
0x000200f8,0x00000065,0x00050041,0x0000000f,0x000000aa,0x0000000c,0x000000a9,0x0004003d,
0x00000006,0x000000ab,0x000000aa,0x0004003d,0x00000007,0x000000ac,0x00000024,0x00050050,
0x00000007,0x000000ad,0x000000ab,0x000000ab,0x00050088,0x00000007,0x000000ae,0x000000ac,
0x000000ad,0x0003003e,0x00000024,0x000000ae,0x0004003d,0x00000007,0x000000af,0x00000024,
0x0004003d,0x00000007,0x000000b0,0x00000009,0x00050085,0x00000007,0x000000b1,0x000000af,
0x000000b0,0x0004003d,0x00000007,0x000000b3,0x00000009,0x00050083,0x00000007,0x000000b6,
0x000000b3,0x000000b5,0x0008000c,0x00000007,0x000000b7,0x00000001,0x0000002b,0x000000b1,
0x000000b2,0x000000b6,0x0003003e,0x00000024,0x000000b7,0x0004003d,0x000000bb,0x000000be,
0x000000bd,0x0004003d,0x00000007,0x000000bf,0x00000024,0x00050057,0x00000017,0x000000c0,
0x000000be,0x000000bf,0x0003003e,0x000000b9,0x000000c0,0x000100fd,0x00010038
}; };

View File

@ -169,9 +169,6 @@ refresh window.
*/ */
void RE_Draw_TileClear (int x, int y, int w, int h, char *name) void RE_Draw_TileClear (int x, int y, int w, int h, char *name)
{ {
// This is handled in a special way in the Vulkan renderer. Clearing tiles
// are skipped and replaced by black bars during the UI render pass.
#if 0
image_t *image; image_t *image;
image = RE_Draw_FindPic(name); image = RE_Draw_FindPic(name);
@ -181,12 +178,28 @@ void RE_Draw_TileClear (int x, int y, int w, int h, char *name)
return; return;
} }
float imgTransform[] = { (float)x / vid.width, (float)y / vid.height, // Change viewport and scissor to draw in the top left corner as the world view.
(float)w / vid.width, (float)h / vid.height, VkViewport tileViewport = vk_viewport;
(float)x / 64.0, (float)y / 64.0, VkRect2D tileScissor = vk_scissor;
(float)w / 64.0, (float)h / 64.0 };
tileViewport.x = 0.f;
tileViewport.y = 0.f;
tileScissor.offset.x = 0;
tileScissor.offset.y = 0;
vkCmdSetViewport(vk_activeCmdbuffer, 0u, 1u, &tileViewport);
vkCmdSetScissor(vk_activeCmdbuffer, 0u, 1u, &tileScissor);
const float divisor = (vk_pixel_size->value < 1.0f ? 1.0f : vk_pixel_size->value);
float imgTransform[] = { (float)x / (vid.width * divisor), (float)y / (vid.height * divisor),
(float)w / (vid.width * divisor), (float)h / (vid.height * divisor),
(float)x / (64.0 * divisor), (float)y / (64.0 * divisor),
(float)w / (64.0 * divisor), (float)h / (64.0 * divisor) };
QVk_DrawTexRect(imgTransform, sizeof(imgTransform), &image->vk_texture); QVk_DrawTexRect(imgTransform, sizeof(imgTransform), &image->vk_texture);
#endif
// Restore viewport and scissor.
vkCmdSetViewport(vk_activeCmdbuffer, 0u, 1u, &vk_viewport);
vkCmdSetScissor(vk_activeCmdbuffer, 0u, 1u, &vk_scissor);
} }

View File

@ -166,7 +166,7 @@ void QVk_CreatePipeline(const VkDescriptorSetLayout *descriptorLayout, const uin
{ {
.stageFlags = VK_SHADER_STAGE_FRAGMENT_BIT, .stageFlags = VK_SHADER_STAGE_FRAGMENT_BIT,
.offset = 17 * sizeof(float), .offset = 17 * sizeof(float),
.size = 7 * sizeof(float) .size = 11 * sizeof(float)
}}; }};
VkPipelineLayoutCreateInfo plCreateInfo = { VkPipelineLayoutCreateInfo plCreateInfo = {

View File

@ -105,7 +105,7 @@ cvar_t *r_lockpvs;
static cvar_t *vk_polyblend; static cvar_t *vk_polyblend;
cvar_t *r_modulate; cvar_t *r_modulate;
cvar_t *vk_shadows; cvar_t *vk_shadows;
static cvar_t *vk_pixel_size; cvar_t *vk_pixel_size;
static cvar_t *vk_particle_size; static cvar_t *vk_particle_size;
static cvar_t *vk_particle_att_a; static cvar_t *vk_particle_att_a;
static cvar_t *vk_particle_att_b; static cvar_t *vk_particle_att_b;
@ -1034,6 +1034,10 @@ qboolean RE_EndWorldRenderpass(void)
vk_viewport.x, vk_viewport.x,
vk_viewport.y, vk_viewport.y,
(vk_pixel_size->value < 1.0f ? 1.0f : vk_pixel_size->value), (vk_pixel_size->value < 1.0f ? 1.0f : vk_pixel_size->value),
r_newrefdef.x,
r_newrefdef.y,
r_newrefdef.width,
r_newrefdef.height,
}; };
vkCmdPushConstants(vk_activeCmdbuffer, vk_worldWarpPipeline.layout, vkCmdPushConstants(vk_activeCmdbuffer, vk_worldWarpPipeline.layout,
VK_SHADER_STAGE_FRAGMENT_BIT, 17 * sizeof(float), sizeof(pushConsts), pushConsts); VK_SHADER_STAGE_FRAGMENT_BIT, 17 * sizeof(float), sizeof(pushConsts), pushConsts);
@ -1112,55 +1116,6 @@ R_SetLightLevel (void)
} }
} }
static void R_CleanupBorders(void)
{
float h_border, v_border;
float imgTransform[] = { .0f, .0f, .0f, .0f, .0f, .0f, .0f, 1.f };
// without any borders
if (vid.height == r_newrefdef.height && vid.width == r_newrefdef.width)
{
return;
}
// not in game
if (r_newrefdef.rdflags & RDF_NOWORLDMODEL)
{
return;
}
h_border = (float)(vid.height - r_newrefdef.height) / vid.height / 2.0f;
v_border = (float)(vid.width - r_newrefdef.width) / vid.width / 2.0f;
// top
imgTransform[0] = 0.0f;
imgTransform[1] = 0.0f;
imgTransform[2] = 1.0f;
imgTransform[3] = h_border;
QVk_DrawColorRect(imgTransform, sizeof(imgTransform), RP_UI);
// bottom
imgTransform[0] = 0.0f;
imgTransform[1] = 1.0f - h_border;
imgTransform[2] = 1.0f;
imgTransform[3] = h_border;
QVk_DrawColorRect(imgTransform, sizeof(imgTransform), RP_UI);
// left
imgTransform[0] = 0.0f;
imgTransform[1] = h_border;
imgTransform[2] = v_border;
imgTransform[3] = 1.0f - (h_border * 2.0f);
QVk_DrawColorRect(imgTransform, sizeof(imgTransform), RP_UI);
// right
imgTransform[0] = 1.0f - v_border;
imgTransform[1] = h_border;
imgTransform[2] = v_border;
imgTransform[3] = 1.0f - (h_border * 2.0f);
QVk_DrawColorRect(imgTransform, sizeof(imgTransform), RP_UI);
}
/* /*
===================== =====================
RE_RenderFrame RE_RenderFrame
@ -1173,8 +1128,6 @@ RE_RenderFrame (refdef_t *fd)
RE_RenderView( fd ); RE_RenderView( fd );
R_SetLightLevel (); R_SetLightLevel ();
R_SetVulkan2D (&vk_viewport, &vk_scissor); R_SetVulkan2D (&vk_viewport, &vk_scissor);
R_CleanupBorders();
} }

View File

@ -13,6 +13,10 @@ layout(push_constant) uniform PushConstant
layout(offset = 84) float offsetX; layout(offset = 84) float offsetX;
layout(offset = 88) float offsetY; layout(offset = 88) float offsetY;
layout(offset = 92) float pixelSize; layout(offset = 92) float pixelSize;
layout(offset = 96) float refdefX;
layout(offset = 100) float refdefY;
layout(offset = 104) float refdefWidth;
layout(offset = 108) float refdefHeight;
} pc; } pc;
layout(set = 0, binding = 0) uniform sampler2D sTexture; layout(set = 0, binding = 0) uniform sampler2D sTexture;
@ -27,7 +31,12 @@ void main()
vec2 fragCoord = (gl_FragCoord.xy - vec2(pc.offsetX, pc.offsetY)); vec2 fragCoord = (gl_FragCoord.xy - vec2(pc.offsetX, pc.offsetY));
vec2 uv = fragCoord / scrSize; vec2 uv = fragCoord / scrSize;
if (pc.time > 0) float xMin = pc.refdefX;
float xMax = pc.refdefX + pc.refdefWidth;
float yMin = pc.refdefY;
float yMax = pc.refdefY + pc.refdefHeight;
if (pc.time > 0 && fragCoord.x > xMin && fragCoord.x < xMax && fragCoord.y > yMin && fragCoord.y < yMax)
{ {
float sx = pc.scale - abs(pc.scrWidth / 2.0 - fragCoord.x) * 2.0 / pc.scrWidth; float sx = pc.scale - abs(pc.scrWidth / 2.0 - fragCoord.x) * 2.0 / pc.scrWidth;
float sy = pc.scale - abs(pc.scrHeight / 2.0 - fragCoord.y) * 2.0 / pc.scrHeight; float sy = pc.scale - abs(pc.scrHeight / 2.0 - fragCoord.y) * 2.0 / pc.scrHeight;