diff --git a/src/client/refresh/vk/header/local.h b/src/client/refresh/vk/header/local.h index 04620655..b1ffc7d9 100644 --- a/src/client/refresh/vk/header/local.h +++ b/src/client/refresh/vk/header/local.h @@ -148,6 +148,7 @@ extern cvar_t *vk_sampleshading; extern cvar_t *vk_device_idx; extern cvar_t *vk_retexturing; extern cvar_t *vk_nolerp_list; +extern cvar_t *vk_pixel_size; extern cvar_t *r_fixsurfsky; extern cvar_t *vid_fullscreen; diff --git a/src/client/refresh/vk/spirv/world_warp_frag.c b/src/client/refresh/vk/spirv/world_warp_frag.c index 43fdd429..736ef253 100644 --- a/src/client/refresh/vk/spirv/world_warp_frag.c +++ b/src/client/refresh/vk/spirv/world_warp_frag.c @@ -1,9 +1,9 @@ // 1011.0.0 #pragma once 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, - 0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x00000019,0x00000087,0x00030010, + 0x0007000f,0x00000004,0x00000004,0x6e69616d,0x00000000,0x00000019,0x000000b9,0x00030010, 0x00000004,0x00000007,0x00030003,0x00000002,0x000001c2,0x00090004,0x415f4c47,0x735f4252, 0x72617065,0x5f657461,0x64616873,0x6f5f7265,0x63656a62,0x00007374,0x00040005,0x00000004, 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, 0x68676965,0x00000074,0x00050006,0x0000000a,0x00000004,0x7366666f,0x00587465,0x00050006, 0x0000000a,0x00000005,0x7366666f,0x00597465,0x00060006,0x0000000a,0x00000006,0x65786970, - 0x7a69536c,0x00000065,0x00030005,0x0000000c,0x00006370,0x00050005,0x00000016,0x67617266, - 0x726f6f43,0x00000064,0x00060005,0x00000019,0x465f6c67,0x43676172,0x64726f6f,0x00000000, - 0x00030005,0x00000024,0x00007675,0x00030005,0x00000031,0x00007873,0x00030005,0x00000044, - 0x00007973,0x00040005,0x00000054,0x69685378,0x00007466,0x00040005,0x0000005f,0x69685379, - 0x00007466,0x00050005,0x00000068,0x74736964,0x6974726f,0x00006e6f,0x00060005,0x00000087, - 0x67617266,0x746e656d,0x6f6c6f43,0x00000072,0x00050005,0x0000008b,0x78655473,0x65727574, - 0x00000000,0x00050048,0x0000000a,0x00000000,0x00000023,0x00000044,0x00050048,0x0000000a, - 0x00000001,0x00000023,0x00000048,0x00050048,0x0000000a,0x00000002,0x00000023,0x0000004c, - 0x00050048,0x0000000a,0x00000003,0x00000023,0x00000050,0x00050048,0x0000000a,0x00000004, - 0x00000023,0x00000054,0x00050048,0x0000000a,0x00000005,0x00000023,0x00000058,0x00050048, - 0x0000000a,0x00000006,0x00000023,0x0000005c,0x00030047,0x0000000a,0x00000002,0x00040047, - 0x00000019,0x0000000b,0x0000000f,0x00040047,0x00000087,0x0000001e,0x00000000,0x00040047, - 0x0000008b,0x00000022,0x00000000,0x00040047,0x0000008b,0x00000021,0x00000000,0x00020013, - 0x00000002,0x00030021,0x00000003,0x00000002,0x00030016,0x00000006,0x00000020,0x00040017, - 0x00000007,0x00000006,0x00000002,0x00040020,0x00000008,0x00000007,0x00000007,0x0009001e, - 0x0000000a,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006, - 0x00040020,0x0000000b,0x00000009,0x0000000a,0x0004003b,0x0000000b,0x0000000c,0x00000009, - 0x00040015,0x0000000d,0x00000020,0x00000001,0x0004002b,0x0000000d,0x0000000e,0x00000002, - 0x00040020,0x0000000f,0x00000009,0x00000006,0x0004002b,0x0000000d,0x00000012,0x00000003, - 0x00040017,0x00000017,0x00000006,0x00000004,0x00040020,0x00000018,0x00000001,0x00000017, - 0x0004003b,0x00000018,0x00000019,0x00000001,0x0004002b,0x0000000d,0x0000001c,0x00000004, - 0x0004002b,0x0000000d,0x0000001f,0x00000005,0x0004002b,0x0000000d,0x00000028,0x00000000, - 0x0004002b,0x00000006,0x0000002b,0x00000000,0x00020014,0x0000002c,0x00040020,0x00000030, - 0x00000007,0x00000006,0x0004002b,0x0000000d,0x00000032,0x00000001,0x0004002b,0x00000006, - 0x00000037,0x40000000,0x00040015,0x00000039,0x00000020,0x00000000,0x0004002b,0x00000039, - 0x0000003a,0x00000000,0x0004002b,0x00000039,0x0000004a,0x00000001,0x0004002b,0x00000006, - 0x0000005a,0x40490e56,0x0004002b,0x00000006,0x0000005c,0x41200000,0x0004002b,0x00000006, - 0x00000072,0x3bda3c21,0x0004002b,0x0000000d,0x00000077,0x00000006,0x0005002c,0x00000007, - 0x00000080,0x0000002b,0x0000002b,0x0004002b,0x00000006,0x00000082,0x3f000000,0x0005002c, - 0x00000007,0x00000083,0x00000082,0x00000082,0x00040020,0x00000086,0x00000003,0x00000017, - 0x0004003b,0x00000086,0x00000087,0x00000003,0x00090019,0x00000088,0x00000006,0x00000001, - 0x00000000,0x00000000,0x00000000,0x00000001,0x00000000,0x0003001b,0x00000089,0x00000088, - 0x00040020,0x0000008a,0x00000000,0x00000089,0x0004003b,0x0000008a,0x0000008b,0x00000000, - 0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b, - 0x00000008,0x00000009,0x00000007,0x0004003b,0x00000008,0x00000016,0x00000007,0x0004003b, - 0x00000008,0x00000024,0x00000007,0x0004003b,0x00000030,0x00000031,0x00000007,0x0004003b, - 0x00000030,0x00000044,0x00000007,0x0004003b,0x00000030,0x00000054,0x00000007,0x0004003b, - 0x00000030,0x0000005f,0x00000007,0x0004003b,0x00000008,0x00000068,0x00000007,0x00050041, - 0x0000000f,0x00000010,0x0000000c,0x0000000e,0x0004003d,0x00000006,0x00000011,0x00000010, - 0x00050041,0x0000000f,0x00000013,0x0000000c,0x00000012,0x0004003d,0x00000006,0x00000014, - 0x00000013,0x00050050,0x00000007,0x00000015,0x00000011,0x00000014,0x0003003e,0x00000009, - 0x00000015,0x0004003d,0x00000017,0x0000001a,0x00000019,0x0007004f,0x00000007,0x0000001b, - 0x0000001a,0x0000001a,0x00000000,0x00000001,0x00050041,0x0000000f,0x0000001d,0x0000000c, - 0x0000001c,0x0004003d,0x00000006,0x0000001e,0x0000001d,0x00050041,0x0000000f,0x00000020, - 0x0000000c,0x0000001f,0x0004003d,0x00000006,0x00000021,0x00000020,0x00050050,0x00000007, - 0x00000022,0x0000001e,0x00000021,0x00050083,0x00000007,0x00000023,0x0000001b,0x00000022, - 0x0003003e,0x00000016,0x00000023,0x0004003d,0x00000007,0x00000025,0x00000016,0x0004003d, - 0x00000007,0x00000026,0x00000009,0x00050088,0x00000007,0x00000027,0x00000025,0x00000026, - 0x0003003e,0x00000024,0x00000027,0x00050041,0x0000000f,0x00000029,0x0000000c,0x00000028, - 0x0004003d,0x00000006,0x0000002a,0x00000029,0x000500ba,0x0000002c,0x0000002d,0x0000002a, - 0x0000002b,0x000300f7,0x0000002f,0x00000000,0x000400fa,0x0000002d,0x0000002e,0x0000002f, - 0x000200f8,0x0000002e,0x00050041,0x0000000f,0x00000033,0x0000000c,0x00000032,0x0004003d, - 0x00000006,0x00000034,0x00000033,0x00050041,0x0000000f,0x00000035,0x0000000c,0x0000000e, - 0x0004003d,0x00000006,0x00000036,0x00000035,0x00050088,0x00000006,0x00000038,0x00000036, - 0x00000037,0x00050041,0x00000030,0x0000003b,0x00000016,0x0000003a,0x0004003d,0x00000006, - 0x0000003c,0x0000003b,0x00050083,0x00000006,0x0000003d,0x00000038,0x0000003c,0x0006000c, - 0x00000006,0x0000003e,0x00000001,0x00000004,0x0000003d,0x00050085,0x00000006,0x0000003f, - 0x0000003e,0x00000037,0x00050041,0x0000000f,0x00000040,0x0000000c,0x0000000e,0x0004003d, - 0x00000006,0x00000041,0x00000040,0x00050088,0x00000006,0x00000042,0x0000003f,0x00000041, - 0x00050083,0x00000006,0x00000043,0x00000034,0x00000042,0x0003003e,0x00000031,0x00000043, - 0x00050041,0x0000000f,0x00000045,0x0000000c,0x00000032,0x0004003d,0x00000006,0x00000046, - 0x00000045,0x00050041,0x0000000f,0x00000047,0x0000000c,0x00000012,0x0004003d,0x00000006, - 0x00000048,0x00000047,0x00050088,0x00000006,0x00000049,0x00000048,0x00000037,0x00050041, - 0x00000030,0x0000004b,0x00000016,0x0000004a,0x0004003d,0x00000006,0x0000004c,0x0000004b, - 0x00050083,0x00000006,0x0000004d,0x00000049,0x0000004c,0x0006000c,0x00000006,0x0000004e, - 0x00000001,0x00000004,0x0000004d,0x00050085,0x00000006,0x0000004f,0x0000004e,0x00000037, - 0x00050041,0x0000000f,0x00000050,0x0000000c,0x00000012,0x0004003d,0x00000006,0x00000051, - 0x00000050,0x00050088,0x00000006,0x00000052,0x0000004f,0x00000051,0x00050083,0x00000006, - 0x00000053,0x00000046,0x00000052,0x0003003e,0x00000044,0x00000053,0x00050041,0x0000000f, - 0x00000055,0x0000000c,0x00000028,0x0004003d,0x00000006,0x00000056,0x00000055,0x00050085, - 0x00000006,0x00000057,0x00000037,0x00000056,0x00050041,0x00000030,0x00000058,0x00000024, - 0x0000004a,0x0004003d,0x00000006,0x00000059,0x00000058,0x00050085,0x00000006,0x0000005b, - 0x00000059,0x0000005a,0x00050085,0x00000006,0x0000005d,0x0000005b,0x0000005c,0x00050081, - 0x00000006,0x0000005e,0x00000057,0x0000005d,0x0003003e,0x00000054,0x0000005e,0x00050041, - 0x0000000f,0x00000060,0x0000000c,0x00000028,0x0004003d,0x00000006,0x00000061,0x00000060, - 0x00050085,0x00000006,0x00000062,0x00000037,0x00000061,0x00050041,0x00000030,0x00000063, - 0x00000024,0x0000003a,0x0004003d,0x00000006,0x00000064,0x00000063,0x00050085,0x00000006, - 0x00000065,0x00000064,0x0000005a,0x00050085,0x00000006,0x00000066,0x00000065,0x0000005c, - 0x00050081,0x00000006,0x00000067,0x00000062,0x00000066,0x0003003e,0x0000005f,0x00000067, - 0x0004003d,0x00000006,0x00000069,0x00000054,0x0006000c,0x00000006,0x0000006a,0x00000001, - 0x0000000d,0x00000069,0x0004003d,0x00000006,0x0000006b,0x00000031,0x00050085,0x00000006, - 0x0000006c,0x0000006a,0x0000006b,0x0004003d,0x00000006,0x0000006d,0x0000005f,0x0006000c, - 0x00000006,0x0000006e,0x00000001,0x0000000d,0x0000006d,0x0004003d,0x00000006,0x0000006f, - 0x00000044,0x00050085,0x00000006,0x00000070,0x0000006e,0x0000006f,0x00050050,0x00000007, - 0x00000071,0x0000006c,0x00000070,0x0005008e,0x00000007,0x00000073,0x00000071,0x00000072, - 0x0003003e,0x00000068,0x00000073,0x0004003d,0x00000007,0x00000074,0x00000068,0x0004003d, - 0x00000007,0x00000075,0x00000024,0x00050081,0x00000007,0x00000076,0x00000075,0x00000074, - 0x0003003e,0x00000024,0x00000076,0x000200f9,0x0000002f,0x000200f8,0x0000002f,0x00050041, - 0x0000000f,0x00000078,0x0000000c,0x00000077,0x0004003d,0x00000006,0x00000079,0x00000078, - 0x0004003d,0x00000007,0x0000007a,0x00000024,0x00050050,0x00000007,0x0000007b,0x00000079, - 0x00000079,0x00050088,0x00000007,0x0000007c,0x0000007a,0x0000007b,0x0003003e,0x00000024, - 0x0000007c,0x0004003d,0x00000007,0x0000007d,0x00000024,0x0004003d,0x00000007,0x0000007e, - 0x00000009,0x00050085,0x00000007,0x0000007f,0x0000007d,0x0000007e,0x0004003d,0x00000007, - 0x00000081,0x00000009,0x00050083,0x00000007,0x00000084,0x00000081,0x00000083,0x0008000c, - 0x00000007,0x00000085,0x00000001,0x0000002b,0x0000007f,0x00000080,0x00000084,0x0003003e, - 0x00000024,0x00000085,0x0004003d,0x00000089,0x0000008c,0x0000008b,0x0004003d,0x00000007, - 0x0000008d,0x00000024,0x00050057,0x00000017,0x0000008e,0x0000008c,0x0000008d,0x0003003e, - 0x00000087,0x0000008e,0x000100fd,0x00010038 + 0x7a69536c,0x00000065,0x00050006,0x0000000a,0x00000007,0x64666572,0x00586665,0x00050006, + 0x0000000a,0x00000008,0x64666572,0x00596665,0x00060006,0x0000000a,0x00000009,0x64666572, + 0x69576665,0x00687464,0x00070006,0x0000000a,0x0000000a,0x64666572,0x65486665,0x74686769, + 0x00000000,0x00030005,0x0000000c,0x00006370,0x00050005,0x00000016,0x67617266,0x726f6f43, + 0x00000064,0x00060005,0x00000019,0x465f6c67,0x43676172,0x64726f6f,0x00000000,0x00030005, + 0x00000024,0x00007675,0x00040005,0x00000029,0x6e694d78,0x00000000,0x00040005,0x0000002d, + 0x78614d78,0x00000000,0x00040005,0x00000034,0x6e694d79,0x00000000,0x00040005,0x00000038, + 0x78614d79,0x00000000,0x00030005,0x00000066,0x00007873,0x00030005,0x00000077,0x00007973, + 0x00040005,0x00000086,0x69685378,0x00007466,0x00040005,0x00000091,0x69685379,0x00007466, + 0x00050005,0x0000009a,0x74736964,0x6974726f,0x00006e6f,0x00060005,0x000000b9,0x67617266, + 0x746e656d,0x6f6c6f43,0x00000072,0x00050005,0x000000bd,0x78655473,0x65727574,0x00000000, + 0x00050048,0x0000000a,0x00000000,0x00000023,0x00000044,0x00050048,0x0000000a,0x00000001, + 0x00000023,0x00000048,0x00050048,0x0000000a,0x00000002,0x00000023,0x0000004c,0x00050048, + 0x0000000a,0x00000003,0x00000023,0x00000050,0x00050048,0x0000000a,0x00000004,0x00000023, + 0x00000054,0x00050048,0x0000000a,0x00000005,0x00000023,0x00000058,0x00050048,0x0000000a, + 0x00000006,0x00000023,0x0000005c,0x00050048,0x0000000a,0x00000007,0x00000023,0x00000060, + 0x00050048,0x0000000a,0x00000008,0x00000023,0x00000064,0x00050048,0x0000000a,0x00000009, + 0x00000023,0x00000068,0x00050048,0x0000000a,0x0000000a,0x00000023,0x0000006c,0x00030047, + 0x0000000a,0x00000002,0x00040047,0x00000019,0x0000000b,0x0000000f,0x00040047,0x000000b9, + 0x0000001e,0x00000000,0x00040047,0x000000bd,0x00000022,0x00000000,0x00040047,0x000000bd, + 0x00000021,0x00000000,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,0x00030016, + 0x00000006,0x00000020,0x00040017,0x00000007,0x00000006,0x00000002,0x00040020,0x00000008, + 0x00000007,0x00000007,0x000d001e,0x0000000a,0x00000006,0x00000006,0x00000006,0x00000006, + 0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00000006,0x00040020, + 0x0000000b,0x00000009,0x0000000a,0x0004003b,0x0000000b,0x0000000c,0x00000009,0x00040015, + 0x0000000d,0x00000020,0x00000001,0x0004002b,0x0000000d,0x0000000e,0x00000002,0x00040020, + 0x0000000f,0x00000009,0x00000006,0x0004002b,0x0000000d,0x00000012,0x00000003,0x00040017, + 0x00000017,0x00000006,0x00000004,0x00040020,0x00000018,0x00000001,0x00000017,0x0004003b, + 0x00000018,0x00000019,0x00000001,0x0004002b,0x0000000d,0x0000001c,0x00000004,0x0004002b, + 0x0000000d,0x0000001f,0x00000005,0x00040020,0x00000028,0x00000007,0x00000006,0x0004002b, + 0x0000000d,0x0000002a,0x00000007,0x0004002b,0x0000000d,0x00000030,0x00000009,0x0004002b, + 0x0000000d,0x00000035,0x00000008,0x0004002b,0x0000000d,0x0000003b,0x0000000a,0x00020014, + 0x0000003f,0x0004002b,0x0000000d,0x00000040,0x00000000,0x0004002b,0x00000006,0x00000043, + 0x00000000,0x00040015,0x00000047,0x00000020,0x00000000,0x0004002b,0x00000047,0x00000048, + 0x00000000,0x0004002b,0x00000047,0x00000057,0x00000001,0x0004002b,0x0000000d,0x00000067, + 0x00000001,0x0004002b,0x00000006,0x0000006c,0x40000000,0x0004002b,0x00000006,0x0000008c, + 0x40490e56,0x0004002b,0x00000006,0x0000008e,0x41200000,0x0004002b,0x00000006,0x000000a4, + 0x3bda3c21,0x0004002b,0x0000000d,0x000000a9,0x00000006,0x0005002c,0x00000007,0x000000b2, + 0x00000043,0x00000043,0x0004002b,0x00000006,0x000000b4,0x3f000000,0x0005002c,0x00000007, + 0x000000b5,0x000000b4,0x000000b4,0x00040020,0x000000b8,0x00000003,0x00000017,0x0004003b, + 0x000000b8,0x000000b9,0x00000003,0x00090019,0x000000ba,0x00000006,0x00000001,0x00000000, + 0x00000000,0x00000000,0x00000001,0x00000000,0x0003001b,0x000000bb,0x000000ba,0x00040020, + 0x000000bc,0x00000000,0x000000bb,0x0004003b,0x000000bc,0x000000bd,0x00000000,0x00050036, + 0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x0004003b,0x00000008, + 0x00000009,0x00000007,0x0004003b,0x00000008,0x00000016,0x00000007,0x0004003b,0x00000008, + 0x00000024,0x00000007,0x0004003b,0x00000028,0x00000029,0x00000007,0x0004003b,0x00000028, + 0x0000002d,0x00000007,0x0004003b,0x00000028,0x00000034,0x00000007,0x0004003b,0x00000028, + 0x00000038,0x00000007,0x0004003b,0x00000028,0x00000066,0x00000007,0x0004003b,0x00000028, + 0x00000077,0x00000007,0x0004003b,0x00000028,0x00000086,0x00000007,0x0004003b,0x00000028, + 0x00000091,0x00000007,0x0004003b,0x00000008,0x0000009a,0x00000007,0x00050041,0x0000000f, + 0x00000010,0x0000000c,0x0000000e,0x0004003d,0x00000006,0x00000011,0x00000010,0x00050041, + 0x0000000f,0x00000013,0x0000000c,0x00000012,0x0004003d,0x00000006,0x00000014,0x00000013, + 0x00050050,0x00000007,0x00000015,0x00000011,0x00000014,0x0003003e,0x00000009,0x00000015, + 0x0004003d,0x00000017,0x0000001a,0x00000019,0x0007004f,0x00000007,0x0000001b,0x0000001a, + 0x0000001a,0x00000000,0x00000001,0x00050041,0x0000000f,0x0000001d,0x0000000c,0x0000001c, + 0x0004003d,0x00000006,0x0000001e,0x0000001d,0x00050041,0x0000000f,0x00000020,0x0000000c, + 0x0000001f,0x0004003d,0x00000006,0x00000021,0x00000020,0x00050050,0x00000007,0x00000022, + 0x0000001e,0x00000021,0x00050083,0x00000007,0x00000023,0x0000001b,0x00000022,0x0003003e, + 0x00000016,0x00000023,0x0004003d,0x00000007,0x00000025,0x00000016,0x0004003d,0x00000007, + 0x00000026,0x00000009,0x00050088,0x00000007,0x00000027,0x00000025,0x00000026,0x0003003e, + 0x00000024,0x00000027,0x00050041,0x0000000f,0x0000002b,0x0000000c,0x0000002a,0x0004003d, + 0x00000006,0x0000002c,0x0000002b,0x0003003e,0x00000029,0x0000002c,0x00050041,0x0000000f, + 0x0000002e,0x0000000c,0x0000002a,0x0004003d,0x00000006,0x0000002f,0x0000002e,0x00050041, + 0x0000000f,0x00000031,0x0000000c,0x00000030,0x0004003d,0x00000006,0x00000032,0x00000031, + 0x00050081,0x00000006,0x00000033,0x0000002f,0x00000032,0x0003003e,0x0000002d,0x00000033, + 0x00050041,0x0000000f,0x00000036,0x0000000c,0x00000035,0x0004003d,0x00000006,0x00000037, + 0x00000036,0x0003003e,0x00000034,0x00000037,0x00050041,0x0000000f,0x00000039,0x0000000c, + 0x00000035,0x0004003d,0x00000006,0x0000003a,0x00000039,0x00050041,0x0000000f,0x0000003c, + 0x0000000c,0x0000003b,0x0004003d,0x00000006,0x0000003d,0x0000003c,0x00050081,0x00000006, + 0x0000003e,0x0000003a,0x0000003d,0x0003003e,0x00000038,0x0000003e,0x00050041,0x0000000f, + 0x00000041,0x0000000c,0x00000040,0x0004003d,0x00000006,0x00000042,0x00000041,0x000500ba, + 0x0000003f,0x00000044,0x00000042,0x00000043,0x000300f7,0x00000046,0x00000000,0x000400fa, + 0x00000044,0x00000045,0x00000046,0x000200f8,0x00000045,0x00050041,0x00000028,0x00000049, + 0x00000016,0x00000048,0x0004003d,0x00000006,0x0000004a,0x00000049,0x0004003d,0x00000006, + 0x0000004b,0x00000029,0x000500ba,0x0000003f,0x0000004c,0x0000004a,0x0000004b,0x000200f9, + 0x00000046,0x000200f8,0x00000046,0x000700f5,0x0000003f,0x0000004d,0x00000044,0x00000005, + 0x0000004c,0x00000045,0x000300f7,0x0000004f,0x00000000,0x000400fa,0x0000004d,0x0000004e, + 0x0000004f,0x000200f8,0x0000004e,0x00050041,0x00000028,0x00000050,0x00000016,0x00000048, + 0x0004003d,0x00000006,0x00000051,0x00000050,0x0004003d,0x00000006,0x00000052,0x0000002d, + 0x000500b8,0x0000003f,0x00000053,0x00000051,0x00000052,0x000200f9,0x0000004f,0x000200f8, + 0x0000004f,0x000700f5,0x0000003f,0x00000054,0x0000004d,0x00000046,0x00000053,0x0000004e, + 0x000300f7,0x00000056,0x00000000,0x000400fa,0x00000054,0x00000055,0x00000056,0x000200f8, + 0x00000055,0x00050041,0x00000028,0x00000058,0x00000016,0x00000057,0x0004003d,0x00000006, + 0x00000059,0x00000058,0x0004003d,0x00000006,0x0000005a,0x00000034,0x000500ba,0x0000003f, + 0x0000005b,0x00000059,0x0000005a,0x000200f9,0x00000056,0x000200f8,0x00000056,0x000700f5, + 0x0000003f,0x0000005c,0x00000054,0x0000004f,0x0000005b,0x00000055,0x000300f7,0x0000005e, + 0x00000000,0x000400fa,0x0000005c,0x0000005d,0x0000005e,0x000200f8,0x0000005d,0x00050041, + 0x00000028,0x0000005f,0x00000016,0x00000057,0x0004003d,0x00000006,0x00000060,0x0000005f, + 0x0004003d,0x00000006,0x00000061,0x00000038,0x000500b8,0x0000003f,0x00000062,0x00000060, + 0x00000061,0x000200f9,0x0000005e,0x000200f8,0x0000005e,0x000700f5,0x0000003f,0x00000063, + 0x0000005c,0x00000056,0x00000062,0x0000005d,0x000300f7,0x00000065,0x00000000,0x000400fa, + 0x00000063,0x00000064,0x00000065,0x000200f8,0x00000064,0x00050041,0x0000000f,0x00000068, + 0x0000000c,0x00000067,0x0004003d,0x00000006,0x00000069,0x00000068,0x00050041,0x0000000f, + 0x0000006a,0x0000000c,0x0000000e,0x0004003d,0x00000006,0x0000006b,0x0000006a,0x00050088, + 0x00000006,0x0000006d,0x0000006b,0x0000006c,0x00050041,0x00000028,0x0000006e,0x00000016, + 0x00000048,0x0004003d,0x00000006,0x0000006f,0x0000006e,0x00050083,0x00000006,0x00000070, + 0x0000006d,0x0000006f,0x0006000c,0x00000006,0x00000071,0x00000001,0x00000004,0x00000070, + 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 }; \ No newline at end of file diff --git a/src/client/refresh/vk/vk_draw.c b/src/client/refresh/vk/vk_draw.c index 409b5e01..ce7b77d7 100644 --- a/src/client/refresh/vk/vk_draw.c +++ b/src/client/refresh/vk/vk_draw.c @@ -169,9 +169,6 @@ refresh window. */ 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 = RE_Draw_FindPic(name); @@ -181,12 +178,28 @@ void RE_Draw_TileClear (int x, int y, int w, int h, char *name) return; } - float imgTransform[] = { (float)x / vid.width, (float)y / vid.height, - (float)w / vid.width, (float)h / vid.height, - (float)x / 64.0, (float)y / 64.0, - (float)w / 64.0, (float)h / 64.0 }; + // Change viewport and scissor to draw in the top left corner as the world view. + VkViewport tileViewport = vk_viewport; + VkRect2D tileScissor = vk_scissor; + + 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); -#endif + + // Restore viewport and scissor. + vkCmdSetViewport(vk_activeCmdbuffer, 0u, 1u, &vk_viewport); + vkCmdSetScissor(vk_activeCmdbuffer, 0u, 1u, &vk_scissor); } diff --git a/src/client/refresh/vk/vk_pipeline.c b/src/client/refresh/vk/vk_pipeline.c index 2e52fd3f..ee7d3f2c 100644 --- a/src/client/refresh/vk/vk_pipeline.c +++ b/src/client/refresh/vk/vk_pipeline.c @@ -166,7 +166,7 @@ void QVk_CreatePipeline(const VkDescriptorSetLayout *descriptorLayout, const uin { .stageFlags = VK_SHADER_STAGE_FRAGMENT_BIT, .offset = 17 * sizeof(float), - .size = 7 * sizeof(float) + .size = 11 * sizeof(float) }}; VkPipelineLayoutCreateInfo plCreateInfo = { diff --git a/src/client/refresh/vk/vk_rmain.c b/src/client/refresh/vk/vk_rmain.c index 0a85a1f1..b67715e3 100644 --- a/src/client/refresh/vk/vk_rmain.c +++ b/src/client/refresh/vk/vk_rmain.c @@ -105,7 +105,7 @@ cvar_t *r_lockpvs; static cvar_t *vk_polyblend; cvar_t *r_modulate; 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_att_a; static cvar_t *vk_particle_att_b; @@ -1034,6 +1034,10 @@ qboolean RE_EndWorldRenderpass(void) vk_viewport.x, vk_viewport.y, (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, 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 @@ -1173,8 +1128,6 @@ RE_RenderFrame (refdef_t *fd) RE_RenderView( fd ); R_SetLightLevel (); R_SetVulkan2D (&vk_viewport, &vk_scissor); - - R_CleanupBorders(); } diff --git a/stuff/shaders/world_warp.frag b/stuff/shaders/world_warp.frag index d29acd00..2f1edf22 100644 --- a/stuff/shaders/world_warp.frag +++ b/stuff/shaders/world_warp.frag @@ -13,6 +13,10 @@ layout(push_constant) uniform PushConstant layout(offset = 84) float offsetX; layout(offset = 88) float offsetY; 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; 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 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 sy = pc.scale - abs(pc.scrHeight / 2.0 - fragCoord.y) * 2.0 / pc.scrHeight;