Commit for 2022.11.24 15-35-53.7z

This commit is contained in:
mrq 2022-11-24 15:35:00 -06:00
parent 38f1437330
commit 7668f1f9bf
6 changed files with 39 additions and 80 deletions

View File

@ -346,6 +346,8 @@ endif
$(GLSLC) --target-env=vulkan1.2 -o $@ $< $(GLSLC) --target-env=vulkan1.2 -o $@ $<
$(SPV_OPTIMIZER) --preserve-bindings --preserve-spec-constants -O $@ -o $@ $(SPV_OPTIMIZER) --preserve-bindings --preserve-spec-constants -O $@ -o $@
shaders: $(TARGET_SHADERS)
clean: clean:
@-rm $(EX_DLL) @-rm $(EX_DLL)
@-rm $(EXT_EX_DLL) @-rm $(EXT_EX_DLL)

View File

@ -6,11 +6,11 @@
"meshes": { "interleaved": false }, "meshes": { "interleaved": false },
"lights": { "enabled": true, "lights": { "enabled": true,
"useLightmaps": true, "useLightmaps": true,
"max": 32, "max": 16,
"shadows": { "shadows": {
"enabled": true, "enabled": true,
"update": 2, "update": 2,
"max": 12, "max": 4,
"samples": 1 "samples": 1
}, },
"bloom": { "bloom": {
@ -31,20 +31,18 @@
"vxgi": { "vxgi": {
"limiter": 0.5, "limiter": 0.5,
// "limiter": 0.125, // "limiter": 0.125,
// "limiter": 0.0125, "size": 128,
// "limiter": 0.0,
"size": 256,
"dispatch": 8, "dispatch": 8,
"cascades": 1, "cascades": 3,
"cascadePower": 2, "cascadePower": 3,
"granularity": 6, "granularity": 12,
"voxelizeScale": 1, "voxelizeScale": 1,
"occlusionFalloff": 2, "occlusionFalloff": 2,
"traceStartOffsetFactor": 2, "traceStartOffsetFactor": 1,
"shadows": 0, "shadows": 0,
"extents": { "extents": {
"min": [ -8, -4, -8 ], "min": [ -16, -4, -16 ],
"max": [ 8, 4, 8 ] "max": [ 16, 4, 16 ]
} }
}, },
"rt": { "rt": {
@ -59,14 +57,12 @@
} }
}, },
"graph": { "graph": {
"initial buffer elements": 4096 "initial buffer elements": 131072
}, },
"ext": { "ext": {
"vulkan": { "vulkan": {
"validation": { "enabled": false, "validation": { "enabled": false,
"filters": [ "filters": [
"0x1feed437", // VUID-VkImageMemoryBarrier-synchronization2-03857 (screams because of FSR2 retardation)
// "0x141cb623", // UNASSIGNED-Threading-MultipleThreads (screams at me, a part of transient command buffer recording/submitting)
"0x35d7ea98", // VUID-vkUpdateDescriptorSets-None-03047 () "0x35d7ea98", // VUID-vkUpdateDescriptorSets-None-03047 ()
"0x4dae5635", // UNASSIGNED-CoreValidation-DrawState-InvalidImageLayout (false positive for cubemaps) "0x4dae5635", // UNASSIGNED-CoreValidation-DrawState-InvalidImageLayout (false positive for cubemaps)
@ -96,31 +92,29 @@
}, },
"framebuffer": { "framebuffer": {
"msaa": 1, "msaa": 1,
"size": 1 "size": 0.75 // 1
// "size": 0.8
// "size": [ 640, 480, "NEAREST" ] // "size": [ 640, 480, "NEAREST" ]
// "size": [ 1920, 1080 ]
// "size": [ 1280, 720 ] // "size": [ 1280, 720 ]
// "size": [ 960, 540 ] // "size": [ 960, 540 ]
// "size": [ 640, 480 ] // "size": [ 640, 480 ]
}, },
"gpu": 1,
"experimental": { "experimental": {
"rebuild on tick begin": false,
"batch queue submissions": true, "batch queue submissions": true,
"dedicated thread": false "dedicated thread": true
},
"invariant": {
"multithreaded recording": true
}, },
"invariant": {},
"pipelines": { "pipelines": {
"deferred": true, "deferred": true,
"vsync": false, "vsync": false,
"hdr": false, "hdr": false,
"vxgi": true, "vxgi": true,
"culling": false, "culling": true,
"bloom": false, "bloom": false,
"rt": false, "rt": false,
"fsr": false, "postProcess": false,
"postProcess": false "fsr": false
}, },
"formats": { "formats": {
"depth": "D32_SFLOAT", "depth": "D32_SFLOAT",
@ -182,7 +176,6 @@
"VK_KHR_shader_clock", "VK_KHR_shader_clock",
"VK_KHR_ray_query", "VK_KHR_ray_query",
"VK_EXT_subgroup_size_control", "VK_EXT_subgroup_size_control",
"VK_KHR_fragment_shader_barycentric",
"VK_AMD_shader_explicit_vertex_parameter" // "VK_KHR_fragment_shader_barycentric" "VK_AMD_shader_explicit_vertex_parameter" // "VK_KHR_fragment_shader_barycentric"
] ]
} }
@ -228,8 +221,8 @@
"fsr": { "fsr": {
"enabled": true, "enabled": true,
"sharpness": 1, "sharpness": 1,
"jitter scale": 0.03125, "jitter scale": 0.0625,
"preset": "quality" // native (1x), quality (1.5x), balanced (1.7x), performance (2.0x), ultra (3.0x) "preset": "ultra" // native (1x), quality (1.5x), balanced (1.7x), performance (2.0x), ultra (3.0x)
}, },
"reactphysics": { "reactphysics": {
"timescale": 0.01666666666, "timescale": 0.01666666666,
@ -262,7 +255,7 @@
"count": 4 "count": 4
}, },
"volumes": { "volumes": {
"sfx": 0.5, "sfx": 0.35,
"bgm": 0.15, "bgm": 0.15,
"voice": 1.0 "voice": 1.0
}, },
@ -327,14 +320,14 @@
"cursor" : { "cursor" : {
"visible" : true, "visible" : true,
"center" : false, "center" : false,
"sensitivity": [ 1, 1 ], "sensitivity": [ 0.75, 0.75 ],
"smoothing": [ 8, 8 ] "smoothing": [ 4, 4 ]
}, },
"mode" : "windowed", // fullscreen, borderless, windowed "mode" : "windowed", // fullscreen, borderless, windowed
"icon" : "./data/textures/icon.png", "icon" : "./data/textures/icon.png",
// "size" : [ 1920, 1080 ], // "size" : [ 1920, 1080 ],
"size" : [ 1280, 720 ], // "size" : [ 1280, 720 ],
// "size" : [ 960, 540 ], "size" : [ 960, 540 ],
// "size" : [ 640, 480 ], // "size" : [ 640, 480 ],
// "size" : [ 256, 224 ], // "size" : [ 256, 224 ],
"title" : "Grimgram", "title" : "Grimgram",

View File

@ -26,10 +26,10 @@
"bias": { "bias": {
"constant": 1.25, "constant": 1.25,
"slope": 1.75, "slope": 1.75,
"shader": 0.000005 //0.000000005 "shader": 0.000025 // 0.000005 //0.000000005
}, },
"radius": [0.1, 0], "radius": [0.25, 0],
"resolution": 512, "resolution": 256,
"shadows": true, "shadows": true,
"dynamic": true "dynamic": true
} }

View File

@ -2,7 +2,8 @@
"import": "./base_sourceengine.json", "import": "./base_sourceengine.json",
"assets": [ "assets": [
// { "filename": "./models/sh2_mcdonalds.glb" } // { "filename": "./models/sh2_mcdonalds.glb" }
{ "filename": "./models/sh2_mcdonalds/graph.json" } { "filename": "./models/sh2_mcdonalds/graph.json" },
{ "filename": "/burger.json", "delay": 1 }
], ],
"metadata": { "metadata": {
"graph": { "graph": {

View File

@ -2,5 +2,6 @@
// "import": "./rp_downtown_v2.json" // "import": "./rp_downtown_v2.json"
// "import": "./ss2_medsci1.json" // "import": "./ss2_medsci1.json"
"import": "./sh2_mcdonalds.json" "import": "./sh2_mcdonalds.json"
// "import": "./mds_mcdonalds.json"
// "import": "./gm_construct.json" // "import": "./gm_construct.json"
} }

View File

@ -45,14 +45,6 @@ namespace {
} }
} }
bool hasDispatchedThread = false;
void renderProc() {
while ( !client::ready || !ext::ready ) {
ext::render();
client::render();
}
}
int main(int argc, char** argv){ int main(int argc, char** argv){
for ( size_t i = 0; i < argc; ++i ) { for ( size_t i = 0; i < argc; ++i ) {
char* c_str = argv[i]; char* c_str = argv[i];
@ -80,35 +72,14 @@ int main(int argc, char** argv){
} }
} }
// auto& renderer = uf::thread::fetchWorker();
auto& renderer = uf::thread::get("Render");
/*
UF_MSG_DEBUG("?");
std::thread dispatchedThread;
UF_MSG_DEBUG("!");
*/
while ( client::ready && ext::ready ) { while ( client::ready && ext::ready ) {
#if UF_EXCEPTIONS #if UF_EXCEPTIONS
try { try {
#endif #endif
/* if ( uf::renderer::settings::experimental::dedicatedThread /*&& !uf::renderer::states::rebuild*/ ) {
client::tick(); // auto& thread = uf::thread::fetchWorker();
ext::tick(); auto& thread = uf::thread::get("Render");
uf::thread::queue(thread, [&]{
if ( !hasDispatchedThread ) {
if ( uf::renderer::settings::experimental::dedicatedThread ) {
hasDispatchedThread = true;
dispatchedThread = std::thread(renderProc);
} else {
ext::render();
client::render();
}
}
*/
#if 1
if ( uf::renderer::settings::experimental::dedicatedThread ) {
uf::thread::queue(renderer, [&]{
ext::render(); ext::render();
client::render(); client::render();
}); });
@ -116,10 +87,8 @@ int main(int argc, char** argv){
client::tick(); client::tick();
ext::tick(); ext::tick();
uf::thread::wait(renderer); uf::thread::wait( thread );
} else } else {
#endif
{
client::tick(); client::tick();
ext::tick(); ext::tick();
@ -144,13 +113,6 @@ int main(int argc, char** argv){
} }
#endif #endif
} }
/*
if ( hasDispatchedThread ) {
dispatchedThread.join();
}
*/
if ( !client::terminated ) { if ( !client::terminated ) {
client::terminated = true; client::terminated = true;
UF_MSG_INFO("Natural termination!"); UF_MSG_INFO("Natural termination!");